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.
13 years ago
Kano
44fc698750
API add last share time to each pool
13 years ago
Con Kolivas
a4f1af1733
Detect pools that have issues represented by endless rejected shares and disable them, with a parameter to optionally disable this feature.
13 years ago
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.
13 years ago
Con Kolivas
d4405de704
Generalise add_pool() functions since they're repeated in add_pool_details.
13 years ago
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.
13 years ago
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.
13 years ago
Con Kolivas
89053c78da
There is no need for the submit and getwork curls to be tied to the pool struct.
13 years ago
Con Kolivas
1ab318d0f3
Start longpoll only after we have tried to extract the longpoll URL.
13 years ago
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.
13 years ago
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.
13 years ago
Luke Dashjr
4648330c9d
Support for share logging
13 years ago
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.
13 years ago
Luke Dashjr
730849c988
Make a union for cgpu device handles, and rename "device" to "device_ztex" since it's Ztex-specific
13 years ago
Kano
2e1d2017de
API add removepool like the screen interface
13 years ago
nelisky
c3bda2b709
adding path to libusb include
13 years ago
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
13 years ago
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.
13 years ago
Kano
0be2b9e9b6
Increase max devices to 64 (for FPGA support)
13 years ago
Kano
18a8b5506e
API returns the simple device history with the 'notify' command
13 years ago
Kano
eeec98098f
code changes for supporting a simple device history
13 years ago
Luke Dashjr
eca996547b
CGPU API for device kernel name
13 years ago
Luke Dashjr
f05a319e01
CGPU API for device names
13 years ago
Luke Dashjr
303dbf4664
Abstract add_cgpu function, to handle device id numbering and devices array
13 years ago
Luke Dashjr
e131dfab31
Unify drivers as driver-*.c and add driver name to API
13 years ago
Kano
60c5ac6844
API new commands enablepool and disablepool (version already incremented)
13 years ago
Kano
4458f3d5c7
Modify cgminer.c pool control to allow API to call it
13 years ago
Con Kolivas
527e611b74
Fix !HAVE_OPENCL build.
13 years ago
ckolivas
93efb726bb
Allow multiple different kernels to be chosen per device.
13 years ago
Con Kolivas
deff55c640
Allow different vectors to be set per device.
13 years ago
Kano
e3281c2643
When API shuts down cgminer don't kill itself
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
Con Kolivas
f85b85d244
Re-check for a longpoll supporting pool every 30 seconds if none is found initially.
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
Con Kolivas
83dde50f9d
Updates to diakgcn kernel courtesy of Philip Kaufmann <phil.kaufmann@t-online.de>
13 years ago
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.
13 years ago
Con Kolivas
07c2ee5317
Put win32 equivalents of nanosleep and sleep into compat.h fixing sleep() for adl.c.
13 years ago
zefir
e0fec35751
modularized logging, support for priority based logging
...
Functions related to logging are extracted into dedicated source files
for better maintainability.
The existing low-level logging API is extended with a generalized scheme
providing log functions log_{error, warning, notice, info, debug} that
log messages based on a global opt_log_level.
opt_log_level for now is set to LOG_NOTICE and might be modified via
command line options or config files in future releases.
13 years ago
zefir
713e8be629
move CPU chipset specific optimization into device-cpu
13 years ago
Con Kolivas
52bb99c3ea
Fix double definition of A0 B0 to zeroA zeroB.
13 years ago
Luke Dashjr
543265d66a
Generalize --temp-cutoff and implement support for reading temperature from BitFORCE FPGAs
13 years ago
ckolivas
59d3d0112b
Implement diablo kernel support and try to make it work.
13 years ago
ckolivas
95a989da4d
Conflicting entries of cl_kernel may have been causing problems, and automatically chosen kernel type was not being passed on. Rename the enum to cl_kernels and store the chosen kernel in each clState.
13 years ago
ckolivas
033913ca8e
First working port of the diakgcn kernel.
13 years ago
ckolivas
cb7145b179
Add basic build ability with diakgcn and put all kernel names in configure.ac to avoid changing them in mutliple places.
13 years ago