1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-01 18:55:36 +00:00
Commit Graph

109 Commits

Author SHA1 Message Date
Con Kolivas
4eca1aa05c Store the longpoll url in the pool struct and update it from the pool_active test in case it changes. This is to allow further changes to longpoll
management on switching pools.
2012-02-19 21:50:02 +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
b217cbee0d Report threads as busy waiting on getwork on startup to avoid them being flagged sick on startup during slow networking. 2012-02-19 20:33:09 +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
810ad04578 More copyright updates. 2012-02-18 23:16:08 +11:00
Con Kolivas
17cc279adb Always use a fresh connection for longpoll as prolonged persistent connections can fail for many reasons. 2012-02-18 22:41:48 +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
f0e12fc593 Consolidate all screen updates to the watchdog thread and touch both windows before refresh. 2012-02-18 00:25:48 +11:00
Con Kolivas
d2b3fbc90c Curses will be disabled in clean_up so don't do it early in kill_work, and disable_adl so that GPU settings may be restored to normal in case shutting
down curses leads to instability on windows.
2012-02-17 23:11:50 +11:00
Con Kolivas
61328a4292 Stop the mining threads before trying to kill them. 2012-02-17 23:10:01 +11:00
Con Kolivas
1c211c5f41 Plain refresh() does not give reliably screen updates so get rid of all uses of it. 2012-02-17 22:55:33 +11:00
ckolivas
9a0e4f8fac Move logwindow down once number of devices is known. 2012-02-15 15:21:43 +11:00
ckolivas
c235c7e373 Allow the refresh interval to be adjusted in dynamic intensity with a --gpu-dyninterval parameter. 2012-02-15 14:35:13 +11:00
ckolivas
e259a994f1 Make curses display visible right from the beginning and fix the window sizes so the initial messages don't get lost once the status window is drawn. 2012-02-15 13:53:26 +11:00
ckolivas
c531f1bd04 Use the max_hashes variable to determine when to abandon work. 2012-02-15 10:34:26 +11:00
monson
8047af5af4 fix strcpy NULL pointer if env HOME unset. 2012-02-14 14:20:50 +08:00
Con Kolivas
56907db2d6 Fix harmless warnings with -Wsign-compare to allow cgminer to build with -W. 2012-02-12 18:21:30 +11:00
Con Kolivas
111238489f Fix missing field initialisers warnings. 2012-02-12 17:53:50 +11:00
Con Kolivas
1885374802 Merge pull request #112 from luke-jr/jansson_compat
Restore compatibility with Jansson 1.3 and 2.0 (api.c required 2.1)
2012-02-11 22:01:51 -08:00
Luke Dashjr
fdadb0b549 Restore compatibility with Jansson 1.3 and 2.0 (api.c required 2.1) 2012-02-11 15:46:08 -05:00
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.
2012-02-11 20:26:25 +01:00
zefir
713e8be629 move CPU chipset specific optimization into device-cpu 2012-02-11 20:25:41 +01:00
Con Kolivas
405a2120f8 Remove unnecessary check for opt_debug on every invocation of applog at LOG_DEBUG and place the check in applog(). 2012-02-11 20:11:18 +11:00
Con Kolivas
81d4f620ff Various string fixes for reject reason. 2012-02-11 15:15:03 +11:00
Con Kolivas
b706da9374 Merge branch 'reject_reason' of https://github.com/luke-jr/cgminer into reject 2012-02-11 14:55:12 +11:00
Luke Dashjr
543265d66a Generalize --temp-cutoff and implement support for reading temperature from BitFORCE FPGAs 2012-02-10 22:14:27 -05:00
Con Kolivas
8c609579f4 Merge pull request #107 from kanoi/master
Allow API to restrict access by IP address + other commits
2012-02-10 19:07:53 -08:00
Con Kolivas
d24ee7824a Change message from recovered to alive since it is used on startup as well as when a pool has recovered. 2012-02-11 13:57:35 +11:00
Con Kolivas
8e682a2c32 Start mining as soon as any pool is found active and rely on the watchpool thread to bring up other pools. 2012-02-11 13:53:09 +11:00
Con Kolivas
405fcd76ca Delayed responses from testing pools that are down can hold up the watchdog thread from getting to its device testing code, leading to false detection
of the GPU not checking in, and can substantially delay auto gpu/auto fan management leading to overheating. Move pool watching to its own thread.
2012-02-11 13:38:17 +11:00
Con Kolivas
5ec684ce2b Space out retrieval of extra work according to the number of mining threads. 2012-02-11 13:20:32 +11:00
Con Kolivas
37374bb44b Make shutdown more robust.
Enable the input thread only after the other threads exist.
Don't kill off the workio thread and use it to exit main() only if there is an unexpected problem.
Use kill_work() for all anticipated shutdowns where possible.
Remove unused thread entry.
2012-02-11 13:11:56 +11:00
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. 2012-02-11 11:48:12 +11:00
Con Kolivas
6e3ad7ad25 Logic fail on queue request. 2012-02-09 22:40:33 +11:00
Con Kolivas
d40979d173 No point discarding a share even if opt_fail is enabled. 2012-02-09 22:28:59 +11:00
Con Kolivas
435e5c85f6 Work items have a tendency to expire at exactly the same time and we don't queue extra items when there are plenty in the queue, regardless of age.
Allow extra work items to be queued if adequate time has passed since we last requested work even if over the limit.
2012-02-09 22:27:20 +11:00
Con Kolivas
ffbf15ad82 Discard work when failover-only is enabled and the work has come from a different pool. 2012-02-09 22:00:04 +11:00
Con Kolivas
5b4761003c Move from the thread safe localtime_r to regular localtime which is the only one supported on newer pthread libraries on mingw32 to make it compile with
the newer ming. Thread safety is of no importance where localtime is used in this code.
2012-02-09 21:54:23 +11:00
Kano
f19e67fe3a Allow API to restrict access by IP address 2012-02-08 19:06:24 +11:00
Luke Dashjr
f7a9897e13 Display X-Reject-Reason, when provided 2012-02-06 09:44:42 -05:00
Con Kolivas
e0540bd44a Revert "Rewrite the convoluted get_work() function to be much simpler and roll work as much as possible with each new work item."
This reverts commit dec99ab739.

This seems to cause a race on work in free_work(). Presumably other threads are still accessing the structure.
2012-02-06 21:35:24 +11:00
Con Kolivas
de4c6c29d7 Provide support for the submitold extension on a per-pool basis based on the value being detected in a longpoll. 2012-02-06 18:12:22 +11:00
Con Kolivas
dec99ab739 Rewrite the convoluted get_work() function to be much simpler and roll work as much as possible with each new work item. 2012-02-06 17:36:51 +11:00
Con Kolivas
a3e77937c8 Roll as much work as possible from the work returned from a longpoll. 2012-02-06 16:11:53 +11:00
Con Kolivas
eff9fe43b2 Rolling work on each loop through the mining thread serves no purpose. 2012-02-06 10:42:52 +11:00
Con Kolivas
d42d0c8ebd Allow to stage more than necessary work items if we're just rolling work. 2012-02-06 10:41:05 +11:00
Con Kolivas
b9612715aa Replace divide_work with reuse_work function used twice. 2012-02-06 10:40:04 +11:00
Con Kolivas
0307f9bb4e Give rolled work a new ID to make sure there is no confusion in the hashtable lookups. 2012-02-06 10:37:29 +11:00
Con Kolivas
d991a09e53 Remove now-defunct hash_div variables. 2012-02-06 08:00:09 +11:00
Con Kolivas
36d2fa485c Silence unused parameter warnings. 2012-02-05 22:39:28 +11:00
Con Kolivas
294ac0b6bf Stagger the restart of every next thread per device to keep devices busy ahead of accessory threads per device. 2012-02-05 22:33:58 +11:00
Con Kolivas
82f74af533 Deprecate the --donation feature.
Needlessly complex, questionable usefulness, depends on author's server and a central pool of some kind, and was not heavily adopted.
2012-02-05 21:36:41 +11:00
Con Kolivas
488a3b7338 It's devices that report back now, not threads. 2012-02-05 17:31:19 +11:00
Con Kolivas
23685aa41e Continue auto-management of fan and engine speeds even if a device is disabled for safety reasons. 2012-02-05 17:28:53 +11:00
Con Kolivas
01659bcc6c Abstract out tests for whether work has come from a block that has been seen before and whether a string is from a previously seen block. 2012-02-05 14:35:45 +11:00
Kano
0ebc0c9d8a Add last share's pool info in cgpu_info 2012-02-04 17:49:49 +11:00
ckolivas
53c1e9ae37 Allow the OpenCL platform ID to be chosen with --gpu-platform. 2012-02-04 15:15:57 +11:00
ckolivas
cda798d91b Only enable curses on failure if curses is desired. 2012-02-04 13:05:28 +11:00
zefir
e0b0a6c030 Modularize code: main.c -> device-cpu + device-gpu
This patch is an initial attempt to re-structure cgminer source
code from its monolithic design (with nearly all code being
concentrated in main.c) to a more modular one.

In this first stage, the conditionally compiled functions for
GPU and CPU mining were extracted into dedicated files:
 * device-cpu.h and device-cpu.c covering WANT_CPUMINE functions
 * device-gpu.h and device-gpu.c covering HAVE_OPENCL functions

The main.c file is left untouched as reference, while the
remainder without the extracted parts is located in cgminer.c.

The Makefile.am has been updated to use the re-structured
source files for the build.

Above pure re-structuring *NO* functional modifications were
made. The sources were tested to compile and run on on a
current Linux system with working CPU and GPU mining
(Bitforce not tested due to loack of hardware).
2012-02-04 10:23:06 +11:00