1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 07:17:58 +00:00
Commit Graph

239 Commits

Author SHA1 Message Date
Con Kolivas
46a679f39e Revert "Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp."
This reverts commit 87708a6a0e.

Broken.
2012-05-05 12:55:00 +10:00
Con Kolivas
c8e1026dfb Get rid of unitialised variable warning when it's false. 2012-05-05 09:37:33 +10:00
Con Kolivas
87708a6a0e Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp. 2012-05-04 23:05:00 +10:00
Con Kolivas
4987958e6a Add a temporarily disabled state for enabled pools called POOL_REJECTING and use the work from each longpoll to help determine when a rejecting pool has started working again.
Switch pools based on the multipool strategy once a pool is re-enabled.
2012-05-04 20:10:38 +10:00
Kano
44fc698750 API add last share time to each pool 2012-05-04 00:13:42 +10:00
Con Kolivas
a4f1af1733 Detect pools that have issues represented by endless rejected shares and disable them, with a parameter to optionally disable this feature. 2012-05-03 15:35:13 +10:00
Con Kolivas
5081c1824a Limit the number of curls we recruit on communication failures and with delaynet enabled to 5 by maintaining a per-pool curl count, and using a pthread conditional that wakes up when one is returned to the ring buffer. 2012-05-03 10:49:42 +10:00
Con Kolivas
d4405de704 Generalise add_pool() functions since they're repeated in add_pool_details. 2012-05-03 10:49:42 +10:00
ckolivas
85008a7853 Reap curls that are unused for over a minute.
This allows connections to be closed, thereby allowing the number of curl handles to always be the minimum necessary to not delay networking.
2012-05-03 10:48:05 +10:00
Con Kolivas
7d288eac9f Implement a scaleable networking framework designed to cope with any sized network requirements, yet minimise the number of connections being reoped.
Do this by create a ring buffer linked list of curl handles to be used by getwork, recruiting extra handles when none is immediately available.
2012-05-03 10:41:57 +10:00
Con Kolivas
89053c78da There is no need for the submit and getwork curls to be tied to the pool struct. 2012-05-01 19:12:37 +10:00
Con Kolivas
1ab318d0f3 Start longpoll only after we have tried to extract the longpoll URL. 2012-04-27 13:11:19 +10:00
Con Kolivas
eda382990a Create one longpoll thread per pool, using backup pools for those pools that don't have longpoll.
Use the work created from the longpoll return only if we don't have failover-enabled, and only flag the work as a longpoll if it is the current pool.
This will work around the problem of trying to restart the single longpoll thread on pool changes that was leading to race conditions.
It will also have less work restarts from the multiple longpolls received from different pools.
2012-04-27 11:58:47 +10:00
Con Kolivas
4cd973264f Create discrete persistent submit and get work threads per pool, thus allowing all submitworks belonging to the same pool to reuse the same curl handle, and all getworks to reuse their own handle.
Use separate handles for submission to not make getwork potentially delay share submission which is time critical.
This will allow much more reusing of persistent connections instead of opening new ones which can flood routers.
This mandated a rework of the extra longpoll support (for when pools are switched) and this is managed by restarting longpoll cleanly and waiting for a thread join.
2012-04-26 23:29:21 +10:00
Luke Dashjr
4648330c9d Support for share logging 2012-04-25 12:05:33 +10:00
Con Kolivas
f5f089f5b4 Add a --gpu-map option which will allow arbitrarily mapping ADL devices to OpenCL devices for instances where association by enumeration alone fails. 2012-04-23 17:40:47 +10:00
Luke Dashjr
730849c988 Make a union for cgpu device handles, and rename "device" to "device_ztex" since it's Ztex-specific 2012-04-21 03:01:42 -04:00
Luke Dashjr
657716e563 Merge branch 'master' into ztex 2012-04-21 02:56:20 -04:00
Luke Dashjr
b8778839e9 Merge branch 'master' into unify_drivers
Conflicts:
	cgminer.c
2012-04-21 02:36:19 -04:00
Con Kolivas
c7cc2e4226 Merge branch 'master' into ztex 2012-04-21 14:03:41 +10:00
Kano
2e1d2017de API add removepool like the screen interface 2012-04-21 03:15:41 +10:00
nelisky
c3bda2b709 adding path to libusb include 2012-04-16 04:07:19 -07:00
nelisky
99a188f94f initial commit with some support for ztex 1.15x board.
This version is just a rough draft, but it does alredy mine.

Conflicts:

	cgminer.c
	configure.ac
2012-04-16 04:01:51 -07:00
Con Kolivas
dc70fe9ce0 Do a complete cgminer restart if the ATI Display Library fails, as it does on windows after running for some time, when fanspeed reporting fails. 2012-04-14 17:38:31 +10:00
Kano
0be2b9e9b6 Increase max devices to 64 (for FPGA support) 2012-03-30 22:28:44 +11:00
Kano
18a8b5506e API returns the simple device history with the 'notify' command 2012-03-23 03:17:20 +11:00
Kano
eeec98098f code changes for supporting a simple device history 2012-03-23 01:50:45 +11:00
Luke Dashjr
eca996547b CGPU API for device kernel name 2012-03-18 21:39:20 -04:00
Luke Dashjr
f05a319e01 CGPU API for device names 2012-03-18 21:32:01 -04:00
Luke Dashjr
303dbf4664 Abstract add_cgpu function, to handle device id numbering and devices array 2012-03-18 20:09:03 -04:00
Luke Dashjr
e131dfab31 Unify drivers as driver-*.c and add driver name to API 2012-03-13 12:18:23 -04:00
Con Kolivas
f4df8c82a7 Merge pull request #135 from kanoi/master
API new commands enablepool and disablepool
2012-02-22 21:56:48 -08:00
Kano
60c5ac6844 API new commands enablepool and disablepool (version already incremented) 2012-02-23 16:10:17 +11:00
Kano
4458f3d5c7 Modify cgminer.c pool control to allow API to call it 2012-02-23 13:58:33 +11:00
Con Kolivas
527e611b74 Fix !HAVE_OPENCL build. 2012-02-23 01:27:36 +11:00
ckolivas
93efb726bb Allow multiple different kernels to be chosen per device. 2012-02-22 19:38:01 +11:00
Con Kolivas
deff55c640 Allow different vectors to be set per device. 2012-02-22 16:54:06 +11:00
Con Kolivas
2ca8d38e0e Merge pull request #124 from kanoi/master
API commits - IP 0/0 means all, add "Log Interval" to config, restrict access to modify commands
2012-02-21 02:49:25 -08:00
Kano
e3281c2643 When API shuts down cgminer don't kill itself 2012-02-21 20:03:13 +11:00
Con Kolivas
f4284a21a8 Set the lp_sent variable under lock since there will almost always be a race on setting this variable, potentially leading to multiple LPs being sent
out.
2012-02-21 09:22:04 +11:00
Con Kolivas
3cdac04f4f Flag the pool that is the longpoll thread to avoid sending multiple longpolls during the slight delays between requesting and setting the lp_sent flag. 2012-02-19 23:13:02 +11:00
Con Kolivas
79e95dd95c Store whether a work item is the result of a longpoll or not in struct work and use it to help determine block changes directly from the work longpoll
bool.
2012-02-19 22:15:55 +11:00
Con Kolivas
39906718d2 Keep track of when a longpoll has been sent for a pool and if the current pool is requesting work but has not sent a longpoll request, convert one of
the work items to a longpoll as we may have switched pools but still be using the longpoll from the previous pool.
2012-02-19 22:07:31 +11:00
Con Kolivas
f85b85d244 Re-check for a longpoll supporting pool every 30 seconds if none is found initially. 2012-02-19 21:28:23 +11:00
Con Kolivas
02295c69c8 Allow devices that are disabled due to overheating to be flagged as recovering instead of disabling them and re-enable them if they're below ideal
temperatures and --no-restart has not been set.
2012-02-19 20:19:47 +11:00
Con Kolivas
fa4ce8daf2 Keep track of intended engine clock speed and only adjust up if it's higher than the last intended speed. This avoids setting the clock speed to one
relative to a lower profile one by mistake.
2012-02-18 22:29:12 +11:00
Con Kolivas
06721957a0 Freeze the queues on all threads that are sent the pause message to prevent them trying to start up again with saved pings in their queues. 2012-02-18 16:34:06 +11:00
Con Kolivas
83dde50f9d Updates to diakgcn kernel courtesy of Philip Kaufmann <phil.kaufmann@t-online.de> 2012-02-18 15:17:50 +11:00
ckolivas
29f0b2714c The amount of work scanned can fluctuate when intensity changes and since we do this one cycle behind, we increment the work more than enough to prevent repeating work. 2012-02-15 08:51:59 +11:00
Con Kolivas
07c2ee5317 Put win32 equivalents of nanosleep and sleep into compat.h fixing sleep() for adl.c. 2012-02-12 17:00:44 +11:00