1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 15:27:53 +00:00
Commit Graph

1180 Commits

Author SHA1 Message Date
Kano
ad30d41f79 usb lock out transfers during open/close 2013-06-14 23:48:03 +10:00
Con Kolivas
42891f07a7 Merge pull request #444 from zenwheel/master
Compile UNIX conditionals on Mac OS X
2013-06-13 16:59:06 -07:00
ckolivas
465ca14236 Only show efficiency in pool information for pools that don't support local work generation. 2013-06-14 09:57:05 +10:00
ckolivas
9aeed2f992 Create a pool_localgen bool function for testing when a pool can generate work locally. 2013-06-14 09:56:22 +10:00
Scott Jann
16587dd7c1 compile unix code on Mac OS X
fixes not finding the config file in $HOME
2013-06-13 18:50:50 -05:00
Kano
84ffcbc51b Use mining start time for device MH/U calculations 2013-06-14 01:09:50 +10:00
Con Kolivas
24398bde03 cgsem_post after creating the thread info 2013-06-09 16:38:57 +10:00
ckolivas
9b2e517f30 Use cgsem structures instead of the flaky pings in the work queue to start mining threads and remove the unused thr_info_freeze function. 2013-06-09 12:20:04 +10:00
ckolivas
b59c33800b Implement cgminer specific cgsem semaphores to imitate unnamed semaphore behaviour on osx which does not support them. 2013-06-06 13:08:00 +10:00
Con Kolivas
dd5788762f Fix build for !curses 2013-06-04 21:49:28 +10:00
Con Kolivas
03305afbae Remove start device limitation on log window size to allow it to get larger with hotplugged devices. 2013-06-03 16:49:15 +10:00
Con Kolivas
fc95c19165 Switch logsize after hotplugging a device. 2013-06-03 16:38:40 +10:00
Con Kolivas
cc9223f041 Change switch_compact function name to switch_logsize to be used for other changes. 2013-06-03 16:37:56 +10:00
Con Kolivas
514491bd0e Only adjust cursor positions with curses locked. 2013-06-03 16:01:20 +10:00
Kano
12045aae55 devs display - fix GPU duplicate bug 2013-06-03 12:26:50 +10:00
Con Kolivas
5f2c4f13f9 Do not hotplug enable a device if devices have been specified and the hotplug device falls outside this range. 2013-06-03 11:28:18 +10:00
Con Kolivas
6e014b0f8e Merge branch 'master' of github.com:ckolivas/cgminer 2013-06-03 11:10:10 +10:00
Con Kolivas
727184d6ef Change the --device parameter parsing and configuration to use ranges and comma separated values. 2013-06-03 11:09:36 +10:00
Kano
9b756d7316 devs display - show ZOMBIEs after all others 2013-06-03 10:24:02 +10:00
Con Kolivas
c7ffa58b26 Check for pool_disabled in wait_lp_current 2013-06-02 20:36:49 +10:00
Con Kolivas
6fec07ab7e Check for pool enabled in cnx_needed. 2013-05-31 23:10:46 +10:00
Con Kolivas
181ada4e5a Merge branch 'usbdev'
Conflicts:
	cgminer.c
2013-05-30 18:03:27 +10:00
Con Kolivas
6fa32c9246 Revert "Perform execv in a forked child process, waiting on the original to exit to allow resources to be released."
This reverts commit b0fa94d52a.

Loses control of the terminal.
2013-05-30 13:49:54 +10:00
Con Kolivas
78d6bee137 Inverted sem_init logic. 2013-05-30 12:03:16 +10:00
Con Kolivas
b0fa94d52a Perform execv in a forked child process, waiting on the original to exit to allow resources to be released. 2013-05-30 12:00:17 +10:00
Con Kolivas
f4a9a8e60c Do avalon driver detection last as it will try to claim any similar device and they are not reliably detected. 2013-05-30 11:43:25 +10:00
Con Kolivas
cc04d3abc7 Use a counting semaphore to signal the usb resource thread that it has work to do. 2013-05-30 11:01:29 +10:00
Con Kolivas
185cac3ee9 Set devices to disabled after they exit the hashing loops to prevent the watchdog thread from trying to act on them. 2013-05-29 23:30:27 +10:00
Con Kolivas
502c7bcb4e Add avalon driver to hotplug. 2013-05-29 23:06:18 +10:00
ckolivas
99b117be47 Scanhash functions perform driver shutdown so don't repeat it. 2013-05-29 12:26:12 +10:00
ckolivas
5b9cf0f077 Send the shutdown message to threads and do the thread shutdown functions before more forcefully sending pthread_cancel to threads. 2013-05-29 12:06:06 +10:00
Con Kolivas
876e7e5893 Merge branch 'icarus-dev' into usbdev
Conflicts:
	usbutils.h
2013-05-29 00:01:54 +10:00
Con Kolivas
6972ec62a7 Execute driver shutdown sequence during kill_work. 2013-05-28 23:33:32 +10:00
Kano
2f94ec8025 usb separate thread for resource locking and modified windows locking code 2013-05-27 23:30:18 +10:00
Con Kolivas
9650bfd6a3 Compile usbutils into avalon driver. 2013-05-27 14:58:08 +10:00
Con Kolivas
44736b3012 Make submit_nonce return a bool for whether it's a valid share or not. 2013-05-26 20:59:40 +10:00
Kano
1bb2cadfa6 thread shutdown is different on windows 2013-05-23 21:11:16 +10:00
Con Kolivas
000c01dcae Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays. 2013-05-19 22:17:02 +10:00
Con Kolivas
a009f0422f Must unlock curses as well in logwin_update. 2013-05-19 21:30:16 +10:00
Con Kolivas
01fca3e756 Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays. 2013-05-19 21:28:53 +10:00
Con Kolivas
bbb797067f Check for *pth dereference on pthread_join 2013-05-19 19:34:12 +10:00
Con Kolivas
04d530f36a Make mining threads report out during work submission. 2013-05-19 16:40:35 +10:00
Con Kolivas
bb3b227b9b submit_work_async is no longer used directly by driver code. 2013-05-19 16:39:07 +10:00
Con Kolivas
ecd03cefb7 Properly pthread_join miner threads on shutdown. 2013-05-19 12:55:46 +10:00
Con Kolivas
894a3d64f0 Properly pthread_join miner threads on shutdown. 2013-05-19 12:55:20 +10:00
Con Kolivas
69f36358b1 Merge branch 'master' into icarus-dev 2013-05-19 11:36:18 +10:00
Con Kolivas
3a2008ac61 Use a persistent single separate thread for stratum share submission that uses workqueues since all stratum sends are serialised. 2013-05-19 11:25:45 +10:00
Con Kolivas
bd652a623e Only allow the mining thread to be cancelled when it is not within driver code, making for cleaner shutdown and allowing us to pthread_join the miner threads on kill_work(). 2013-05-18 16:57:13 +10:00
Con Kolivas
830f30ff2d Only allow the mining thread to be cancelled when it is not within driver code, making for cleaner shutdown and allowing us to pthread_join the miner threads on kill_work(). 2013-05-18 16:56:23 +10:00
Kano
fac3bf8722 add icarus to hotplug 2013-05-17 22:06:54 +10:00
Kano
9f4a3a798d Update documentation for icarus switch to USB 2013-05-17 15:05:51 +10:00
Kano
6219f977f6 switch icarus configuration to usb 2013-05-17 14:10:58 +10:00
Con Kolivas
4efe9ca82e Attribute whatever stats we can get on untracked stratum shares based on current pool diff. 2013-05-13 22:23:13 +10:00
Con Kolivas
3f24653f56 Provide a --lowmem option which does not cache shares on failed submission to prevent low memory hardware (eg Avalon) from crashing. 2013-05-13 22:10:01 +10:00
Con Kolivas
1a7a87c2a6 Use a discrete device target for scrypt that dynamically changes to ensure we still report a work utility even if no shares are submitted such as in solo mining. 2013-05-11 20:29:48 +10:00
Con Kolivas
2fb6637b5a Make set_work_target a function to set a specified char as target for use elsewhere. 2013-05-11 19:51:43 +10:00
Con Kolivas
0b6ee62cc4 Further consolidate the hash regeneration between sha and scrypt doing it only once and always checking the share diff for both before submission. 2013-05-11 19:34:44 +10:00
Con Kolivas
9a76db8db9 Regenerate the hash before checking the share diff in hashtest(). 2013-05-11 17:04:49 +10:00
Con Kolivas
79dd9dfe13 Use a scantime of 30 seconds for scrypt if none is specified. 2013-05-11 16:50:53 +10:00
Con Kolivas
a923b7d3f0 Update the write config to properly record device entries and remove disabled option. 2013-05-11 15:25:42 +10:00
Kano
6cef9f423d cgminer correct applog typing 2013-05-02 23:32:42 +10:00
Kano
8f08a327ca applog - force type checking 2013-05-02 22:50:25 +10:00
Con Kolivas
8b2118b143 Clean up summary slightly better on exit. 2013-04-28 22:00:39 +10:00
Con Kolivas
3d835fc3e9 Fix build and distdir. 2013-04-22 19:28:50 +10:00
Con Kolivas
f4b2790761 Remove all CPU mining code. 2013-04-22 14:35:43 +10:00
Con Kolivas
856aa49c9c Use copy_time helper throughout cgminer.c 2013-04-22 10:59:55 +10:00
Con Kolivas
d2abaa8317 Provide wrappers for commonly used timer routines with API stats. 2013-04-22 10:49:10 +10:00
Con Kolivas
170a4aeb26 Avoid one cgtime call in sole_hash_work. 2013-04-22 10:00:34 +10:00
Con Kolivas
4597c0a17e Provide endian_flipX functions to avoid special casing big endian in cgminer.c 2013-04-22 09:35:48 +10:00
Con Kolivas
8d81f1d207 Provide a flip128 helper to simplify big endian flipping. 2013-04-22 09:28:06 +10:00
Con Kolivas
c351f8d8d3 Use flip helpers to simplify code for calculation of midstate. 2013-04-22 09:23:13 +10:00
Con Kolivas
f50ae46850 Use flip32 function instead of open coding it in gen_stratum_work. 2013-04-22 09:08:51 +10:00
Con Kolivas
bb964b4b99 Replace gettimeofday usage in cgminer.c with cgtime 2013-04-21 19:08:30 +10:00
ckolivas
5315838d2d Restart threads on the rare chance we found the block ourselves. 2013-04-19 09:19:05 +10:00
Con Kolivas
a3bbe0e116 Set last device valid work on adding device. 2013-04-18 18:19:35 +10:00
Con Kolivas
3fa4a9f55f Increment last device valid work count in submit_nonce to cover scrypt. 2013-04-18 17:58:58 +10:00
Con Kolivas
c1ff90a7ab Do testing for HW errors on submit nonce for both scrypt and sha. 2013-04-18 15:07:32 +10:00
Con Kolivas
6b714dd431 Increment hardware error count from the one site. 2013-04-18 14:47:46 +10:00
Con Kolivas
a6250fbb96 Rename scrypt regenhash function for consistency. 2013-04-18 12:26:32 +10:00
Con Kolivas
daea9c95a7 Add new best share info to verbose logging. 2013-04-18 12:11:41 +10:00
Con Kolivas
1a7fc4e9cc Add notice for when network diff is changed. 2013-04-18 10:47:02 +10:00
Con Kolivas
b4bc5e2b13 Check for work restart after disable in the hash queued work loop since it may be a long time before we re-enable a device. 2013-04-16 22:57:55 +10:00
Con Kolivas
d41d210b03 Set device_diff for queued work or there will be no diff1 share count. 2013-04-15 23:01:08 +10:00
Con Kolivas
67ebf45c19 Avoid applog under cg_wlock. 2013-04-15 11:44:19 +10:00
Con Kolivas
8d22ca1ac1 Put spacing around locking code for clarity. 2013-04-15 11:42:16 +10:00
Con Kolivas
3209c113d1 Avoid applog under pool_lock. 2013-04-15 11:34:21 +10:00
Con Kolivas
51fbcfed6d Avoid more recursive locks. 2013-04-15 11:25:48 +10:00
Con Kolivas
b948669a4f Avoid applog while ch_lock is held. 2013-04-15 11:13:48 +10:00
Con Kolivas
29f0ac77da Avoid recursive locks in fill_queue. 2013-04-15 10:30:12 +10:00
Con Kolivas
c17a175e17 Merge branches 'avalon-dev' and 'master' of github.com:ckolivas/cgminer 2013-04-10 18:39:50 +10:00
Con Kolivas
64ec06628f Merge pull request #417 from kanoi/bflsc
cgminer.c -S help to only say Icarus + usbutils more stats for bflsc
2013-04-10 01:31:32 -07:00
ckolivas
7231f7f92d Fix warning on 32bit. 2013-04-10 10:59:38 +10:00
Con Kolivas
220eb85818 Rationalise and simplify the share diff and block solve detection to a common site. 2013-04-08 21:52:00 +10:00
Con Kolivas
5c7a32fde8 Rationalise and simplify the share diff and block solve detection to a common site. 2013-04-08 21:26:10 +10:00
Con Kolivas
d86f7b7741 Fix warning with no curses built in. 2013-04-07 02:19:01 +11:00
Con Kolivas
e9b6ff8f6a Fix warning with no curses built in. 2013-04-07 01:46:16 +11:00
Con Kolivas
7783ab5631 Only get extra work in fill_queue if we don't have any unqueued work in the list. 2013-04-06 16:38:00 +11:00
Con Kolivas
97bad1eef6 Only get extra work in fill_queue if we don't have any unqueued work in the list. 2013-04-06 13:01:42 +11:00
Kano
8959f8d0ae cgminer.c -S help to only say Icarus 2013-04-05 20:06:03 +11:00
Con Kolivas
180230220f Rneame avalon_api to avalon_drv. 2013-04-05 18:31:20 +11:00
Con Kolivas
71bae003bc First draft of port of avalon driver to new cgminer queued infrastructure. 2013-04-05 14:52:07 +11:00
Con Kolivas
e9a65bba40 Only update hashrate calculation with the log interval. 2013-04-05 11:18:08 +11:00
Con Kolivas
97a9172370 Update the total_tv_end only when we show the log to prevent failure to update logs. 2013-04-05 11:01:20 +11:00
James Z.M. Gao
c9ae715019 Compile CPU mining for win32 and win64 2013-04-04 22:59:10 +08:00
Con Kolivas
5f567345ba Merge branch 'master' of github.com:ckolivas/cgminer 2013-04-03 02:13:05 +11:00
Con Kolivas
b3e734e7e1 Show share hash as little endian as needed. 2013-04-03 02:12:00 +11:00
Con Kolivas
76712c15fd Merge pull request #414 from kanoi/bflsc
work queues - remove new but unnecessary functions + generic work structure flags for BFLSC (and usable by other drivers if needed)
2013-04-01 15:53:43 -07:00
Kano
ea327f7ba2 work queues - remove new but unnecessary functions 2013-04-01 13:10:15 +11:00
Con Kolivas
ea4cf57d94 Merge pull request #413 from kanoi/bflsc
find_work() to find work in devices work queue + usbutils extra message requirements + functions for handling work queues
2013-03-31 15:25:46 -07:00
Con Kolivas
e95813c8f6 Make hashmeter frequency for hash_queued_work match sole_work. 2013-04-01 09:22:58 +11:00
Kano
131e20042a functions for handling work queues 2013-04-01 00:35:50 +11:00
Kano
b3ae0f168e find_work() to find work in devices work queue 2013-03-31 21:54:32 +11:00
Con Kolivas
6c418f45b1 Remove increasingly irrelevant discarded work from status lines. 2013-03-21 15:11:38 +11:00
Con Kolivas
886df16d01 Remove increasingly irrelevant queued and efficiency values from status and move WU to status line. 2013-03-21 15:06:14 +11:00
Con Kolivas
1a19729aaa Allow cgminer to start if usb hotplug is enabled but no devices yet exist. 2013-03-21 14:56:44 +11:00
Con Kolivas
1ed86decf3 If the hashmeter is less than the log interval and being updated by the watchdog, don't update the hashrate. 2013-03-18 14:36:10 +11:00
Con Kolivas
072ffbba42 Update the hashmeter at most 5 times per second. 2013-03-17 16:29:51 +11:00
Con Kolivas
13e19de4d5 Calculate work utility for devices that support target diffs of greater than 1, and update scrypt code to use it. 2013-03-17 10:15:24 +11:00
Con Kolivas
d7d630b86c Set default GPU threads to 1 for scrypt. 2013-03-16 08:56:37 +11:00
Con Kolivas
21a36f4840 Connect backup stratum pools if the primary pool cannot deliver work. 2013-03-16 00:04:30 +11:00
Con Kolivas
e10a7041d8 Merge pull request #406 from kanoi/bflsc
USB device list - convert some common error numbers to messages + nDevs required for -n with usb
2013-03-15 00:23:05 -07:00
Con Kolivas
8d27ecf987 Merge branch 'master' of github.com:ckolivas/cgminer 2013-03-15 17:57:36 +11:00
Con Kolivas
5a2c2a7a85 Update the hashmeter once per second but only display the extra logs every opt_log_inteval. 2013-03-15 17:56:55 +11:00
Kano
28f515e91d nDevs required for -n with usb 2013-03-15 06:22:22 +11:00
Kano
b21747b978 USB modify -n and --usb-dump to only show known devices or use new --usb-list-all option to see all 2013-03-15 00:02:17 +11:00
Con Kolivas
e9a9a51547 Merge pull request #404 from kanoi/bflsc
cgminer -n to include a USB device list
2013-03-14 04:48:35 -07:00
Con Kolivas
b6e3d5b4fa Make pool adding while running asynchronous, using the pool test thread functionality. 2013-03-14 22:34:53 +11:00
Kano
1c04d14067 cgminer -n to include a USB device list 2013-03-13 23:24:34 +11:00
Con Kolivas
ffc8681f91 Merge pull request #403 from kanoi/bflsc
USB add --usb options to limit USB device selection v0.1 + --usb-dump display brief dump if value = 0
2013-03-12 18:07:17 -07:00
Con Kolivas
b5b3ca4911 Convert gbt_lock to a cg_lock. 2013-03-12 22:44:41 +11:00
Con Kolivas
b8ed231f64 Add intermediate variants of cglocks that can be up or downgraded to read or write locks and use them for stratum work generation. 2013-03-12 22:40:23 +11:00
Con Kolivas
26ddd1fd20 Move the stratum and GBT data to be protected under a new cg_lock data_lock. 2013-03-12 22:31:45 +11:00
Con Kolivas
fd87825bf9 Convert the ch_lock to cg_lock. 2013-03-12 22:17:08 +11:00
Con Kolivas
0bbaaa9723 Convert the control_lock to a cg_lock. 2013-03-12 22:07:06 +11:00
Con Kolivas
74164a3ae6 Remove unused qd_lock. 2013-03-12 22:00:44 +11:00
Kano
6d629d6856 do usb_initialise() after the started message so we see it 2013-03-11 11:52:05 +11:00
Kano
3f50e878a2 USB add --usb options to limit USB device selection v0.1 2013-03-11 10:58:28 +11:00
Con Kolivas
5412323e26 Fix memory leak with share submission on GPU work structures as discovered by twobitcoins. 2013-03-09 15:12:41 +11:00
Kano
f24fab3fd4 Show pool number in switch message 2013-03-09 11:47:36 +11:00
Con Kolivas
e0196a3307 Don't start testing any pools with the watchpool thread if any of the test threads are still active. 2013-03-09 11:33:50 +11:00
Con Kolivas
81c02123f8 Set pool died on failed testing to allow idle flag and time to be set. 2013-03-09 09:56:36 +11:00
Con Kolivas
6c77e9a884 Perform pool_resus on all pools that are found alive with the test pool threads. 2013-03-09 09:39:19 +11:00
Con Kolivas
d932a36c46 Use pool_unworkable in select_balanced as well. 2013-03-09 09:34:01 +11:00
Con Kolivas
90a1114a46 Differentiate pool_unusable from pool_unworkable. 2013-03-09 09:31:40 +11:00
Con Kolivas
3b84131f10 Keep a connection open on higher priority stratum pools to fail back to them. 2013-03-09 09:07:20 +11:00
Con Kolivas
f3ce5777a2 Rename threads according to what pool they're associated with as well. 2013-03-09 08:51:51 +11:00
Con Kolivas
9b34d82154 Set the wrong bool in pool_active 2013-03-09 08:10:57 +11:00
Con Kolivas
de28944328 Revert "Rollback breakage to 81567e515707891837f52bc3aac7d5916dfff5a2"
This reverts commit a8863995de.

This should work now...
2013-03-08 20:52:54 +11:00
ckolivas
8c87807519 Start the stratum thread only if we successfully init and authorise it, otherwise unset the init flag. 2013-03-08 15:32:10 +11:00
ckolivas
e746ed6412 Make the initialisation of the stratum thread more robust allowing the watchpool thread safe access to it after the stratum thread is started. 2013-03-08 15:18:10 +11:00