main.c


Log

Author Commit Date CI Message
Con Kolivas 6045c4d1 2011-07-26T13:47:18 Simplify gpu management enable/disable/restart code.
Con Kolivas fa17f034 2011-07-26T11:58:45 Implement much more accurate rolling statistics per thread and per gpu and improve accuracy of rolling displayed values.
Con Kolivas ce6af968 2011-07-26T10:45:52 Make the rolling log-second average more accurate.
Con Kolivas 7707ed4d 2011-07-26T10:26:03 Add a menu to manage GPUs on the fly allowing you to enable/disable GPUs or try restarting them. Keep track of which GPUs are alive versus enabled. Start threads for devices that are even disabled, but don't allow them to start working.
Con Kolivas 7143c25b 2011-07-25T16:44:24 The last pool is when we are low in total_pools, not active_pools.
Con Kolivas a53716dc 2011-07-25T13:59:34 Fix compiler warnings.
Con Kolivas b3d20b57 2011-07-25T13:55:01 Make the thread restart do a pthread_join after disabling the device, only re-enabling it if we succeed in restarting the thread. Do this from a separate thread so as to not block any other code. This will allow cgminer to continue even if one GPU hangs.
Con Kolivas a187fe1e 2011-07-25T13:00:44 Try to do every curses manipulation under the curses lock.
Con Kolivas 508c5c4b 2011-07-24T12:07:44 Detect when the primary pool is lagging and start queueing requests on backup pools if possible before needing to roll work.
Con Kolivas afcff070 2011-07-24T11:25:23 Load balancing puts more into the current pool if there are disabled pools. Fix.
Con Kolivas 27c7d2a4 2011-07-24T10:59:19 Disable a GPU device should the thread fail to init.
Con Kolivas 9a928e34 2011-07-24T08:55:16 Fix possible dereference on blank inputs during input_pool.
Con Kolivas 1a789a40 2011-07-24T08:51:07 Defines missing would segfault on --help when no sse mining is built in.
Con Kolivas fd473afe 2011-07-24T08:44:14 Revert "Free up resources/stale compilers." This reverts commit b4960ec36bca6663ecb0853752d0d777d81f9df1. Didn't help and might have caused other issues.
Con Kolivas f3c5f554 2011-07-24T08:42:07 Only try to print the status of active devices.
Con Kolivas 020cf7d6 2011-07-23T16:19:51 Build support in for all SSE if possible and only set the default according to machine capabilities.
Con Kolivas 039a5ea7 2011-07-23T16:17:28 No need to make leaveok changes win32 only.
Ycros a150140e 2011-07-23T16:00:49 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
Con Kolivas a9e1a255 2011-07-23T15:15:46 Make it possible to select the choice of kernel on the command line.
Con Kolivas 116a9dc0 2011-07-23T14:17:25 Update phatk kernel to one with new parameters for slightly less overhead again. Make the queue kernel parameters call a function pointer to select phatk or poclbm.
Con Kolivas b5358483 2011-07-23T09:37:22 Cannot print the status of threads that don't exist so just queue enough work for the number of mining threads to prevent crash with -Q N.
Ycros e615b61f 2011-07-23T02:26:07 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
Ycros e04aee24 2011-07-23T02:25:54 Win32: Fix for mangled output on the terminal on exit.
Con Kolivas 8d4fbc32 2011-07-23T00:45:03 Clear log window from consistent place. No need for locking since logging is disabled during input.
Con Kolivas ba89a0a4 2011-07-23T00:33:01 Unlocking error on retry. Locking unnecessary anyway so remove it.
Con Kolivas f94ca32d 2011-07-22T23:53:24 Make sure intensity is carried over to thread count and is at least the minimum necessary to work.
Ycros d37c3fe5 2011-07-22T23:43:26 Win32 threading and longpoll keepalive fixes.
Con Kolivas e83a32a4 2011-07-22T23:37:50 Remove the mandatory work requirement at startup by testing for invalid work being passed which allows for work to be queued immediately. This also removes the requirement for resetting the timecodes at the start which caused huge over-estimates of hashing for a short period.
Con Kolivas 61e555e4 2011-07-22T22:22:14 Tell getwork how much of a work item we're likely to complete for future splitting up of work.
Con Kolivas 9e42d63c 2011-07-22T21:57:43 With huge variation in GPU performance, allow intensity to go from -10 to +10.
Con Kolivas 61e5cc10 2011-07-22T20:12:32 Extra refresh not required.
Con Kolivas ae6eb1b0 2011-07-22T20:07:15 Decrease testing log to info level.
Con Kolivas ec86da70 2011-07-22T20:06:06 Limit rolltime work generation to 10 iterations only.
Con Kolivas 6e9b6bf8 2011-07-22T17:46:28 Implement pool removal.
Con Kolivas 532587eb 2011-07-22T17:23:57 Set priority correctly on multipools. Display priority and alive/dead information in display_pools.
Con Kolivas 56defd6e 2011-07-22T17:02:29 Make it possible to enable/disable longpoll.
Con Kolivas 53529a84 2011-07-22T16:51:38 Abstract out the longpoll start and explicitly restart it on pool change.
Con Kolivas 62c8a8c1 2011-07-22T16:32:38 Allow scan settings to be modified at runtime.
Con Kolivas a8c84da4 2011-07-22T16:10:47 Allow log interval to be set in the menu.
Con Kolivas 2f976c74 2011-07-22T15:17:09 Make the input windows update immediately instead of needing a refresh.
Con Kolivas 0909facf 2011-07-22T15:00:57 Clean up the messy way the staging thread communicates with the longpoll thread to determine who found the block first.
Con Kolivas 0106c567 2011-07-22T14:29:48 Add a menu and separate out display options.
Con Kolivas 4bfa2809 2011-07-22T14:07:50 Display pool information on the fly as well.
Con Kolivas 75bf36ff 2011-07-22T13:58:06 Allow the pool strategy to be modified on the fly.
Con Kolivas cca6f49e 2011-07-22T12:39:32 Abstract out active pools count.
Con Kolivas 31a89445 2011-07-22T12:33:54 Tidy.
Con Kolivas ad53696f 2011-07-22T12:17:44 The longpoll blanking of the current_block data may not be happening before the work is converted and appears to be a detected block change. Blank the current block before submitting the work and stop passing the longpoll bool around.
Con Kolivas 44bcc322 2011-07-22T12:14:24 Display current pool management strategy to enable changing it on the fly.
Con Kolivas b534ad0a 2011-07-22T12:02:04 Only internally test for block changes when the work matches the current pool to prevent interleaved block change timing on multipools.
Con Kolivas b0a8f279 2011-07-22T11:46:26 Implement the ability to live add, enable, disable, and switch to pools.
Con Kolivas baddb82a 2011-07-22T07:50:20 Do one last check of the work before submitting it.
Con Kolivas 20336ea1 2011-07-21T15:15:38 Make input pool capable of bringing up pools while running.
Con Kolivas 7841486f 2011-07-21T14:41:12 Add a bool for explicit enabling/disabling of pools.
Con Kolivas 0bc95746 2011-07-21T14:29:33 Add pool option to input and display current pool status, pending code to allow live changes.
Con Kolivas ec06940c 2011-07-21T14:05:08 Add a thread that takes keyboard input and allow for quit, silent, debug, verbose, normal, rpc protocol debugging and clear screen options.
Con Kolivas b4f651f4 2011-07-21T13:26:18 Disable/enable echo & cbreak modes.
Con Kolivas 6fdbe014 2011-07-21T13:11:15 Remove the nil arguments check to allow starting without parameters.
Con Kolivas 9d60b107 2011-07-21T13:08:36 Abstract out a curses input function and separate input pool function to allow for live adding of pools later.
Con Kolivas 365c9009 2011-07-21T12:25:21 Make it possible to enter server credentials with curses input if none are specified on the command line.
Con Kolivas 2b7e5e58 2011-07-21T11:46:01 Enable curses earlier and exit with message in main for messages to not be lost in curses windows.
Con Kolivas 4766463b 2011-07-21T11:07:51 Only set option to show devices and exit if built with opencl support.
Con Kolivas f4f018b4 2011-07-21T10:15:17 Don't try to stop/cancel threads that don't exist.
Con Kolivas b4960ec3 2011-07-21T09:48:06 Free up resources/stale compilers.
Con Kolivas fa9e03f4 2011-07-20T13:48:23 Implement pool rotation strategy.
Con Kolivas 521025aa 2011-07-20T13:35:55 Implement load balancing algorithm by rotating requests to each pool.
Con Kolivas 0ba06c69 2011-07-20T13:15:52 Timeout on failed discarding of staged requests.
Con Kolivas 6305146b 2011-07-20T13:07:41 Implement proper flagging of idle pools, test them with the watchdog thread, and failover correctly.
Con Kolivas 7c891932 2011-07-20T11:49:03 Move pool active test to own function.
Con Kolivas 40419f1a 2011-07-20T11:39:02 Allow multiple strategies to be set for multipool management.
Con Kolivas d518f7cb 2011-07-20T10:24:25 Track pool number.
Con Kolivas 02e0e125 2011-07-20T10:07:39 Don't waste the work items queued on testing the pools at startup.
Con Kolivas ced0e5ad 2011-07-20T09:31:45 Reinstate the mining thread watchdog restart. Add a getpoll bool into the thread information and don't restart threads stuck waiting on work. Rename the idlenet bool for the pool for later use.
Con Kolivas 0afab92c 2011-07-19T23:16:30 Allow the user/pass userpass urls to be input in any order.
Con Kolivas 0d8b8793 2011-07-19T17:00:56 Reset the queued count to allow more work to be queued for the new pool on pool switch.
Con Kolivas 012456f3 2011-07-19T14:33:52 Display per pool summary at the end if multiple pools in use. Fine tune statistics and make localgen fail at 5 mins.
Con Kolivas 85bf965c 2011-07-19T14:09:36 Force a mandatory work item on pool switch and determine what to do based on server supporting roll time or not.
Con Kolivas f91a048a 2011-07-19T13:30:29 Implement the actual switch logic which changes over after 5 minutes of local work generation.
Con Kolivas 81ff7fb3 2011-07-19T13:01:08 Explicitly probe each pool to see if work can be retrieved from it and what it supports.
Con Kolivas 913e1202 2011-07-19T12:29:33 Test for rolltime and save it correctly when testing for longpoll.
Con Kolivas 0ce3df10 2011-07-19T11:45:58 Store whether each server supports X-Roll-Ntime or not.
Con Kolivas 321c4798 2011-07-19T10:53:04 Make longpoll switch servers should it not match the current pool.
Con Kolivas 529aa70c 2011-07-19T10:32:24 Set pool on work retrieved from longpoll.
Con Kolivas 048bea20 2011-07-19T10:31:05 Set first localgen time to max.
Con Kolivas ecda7594 2011-07-19T10:19:59 Set and get the current pool under lock.
Con Kolivas b8ba2fd4 2011-07-19T09:54:50 Implement a per-pool mutex and use that for locking the internal flags.
Con Kolivas fd10b993 2011-07-19T09:43:15 Move add pool to somewhere clean and obvious.
Con Kolivas 3a9fd06c 2011-07-19T09:30:17 Revert "total_queued should always be >= total_staged" This reverts commit 5a861bf1e42cc56ad8c6477e5d348f76b09d1363. No good.
Con Kolivas 5a861bf1 2011-07-19T09:23:04 total_queued should always be >= total_staged
Con Kolivas 70734939 2011-07-19T01:46:16 Merge branch 'cgminer' into pools Conflicts: main.c
Con Kolivas a46b5d1e 2011-07-19T01:27:56 Make it possible to pass multiple urls/users etc in preparation for multiple pool support but only use pool 0 for now.
Con Kolivas 19b80d6d 2011-07-19T00:14:58 Curl's global init can trample dynamically allocated data so do it before anything else.
Con Kolivas 961c4306 2011-07-19T00:09:45 Abstract out the pool data to begin move to multiple pool support.
Con Kolivas 1d27c119 2011-07-18T22:02:10 Don't let total_queued go below zero.
Con Kolivas 8220af88 2011-07-18T20:22:16 Avoid queueing extra work if there's work staged as well.
Con Kolivas c3e569ed 2011-07-18T13:16:15 Copied the data to longpoll_block too early so the longpoll message will rarely be received. Submit longpoll's converted work after we've flushed requests since that will blank the current_block for stage_thread to see.
Con Kolivas 5e7c37ae 2011-07-18T12:02:37 Make it clear what the sha algorithm is for.
Con Kolivas e532ac35 2011-07-18T11:37:33 Only clear the longpoll block data if we successfully received a longpoll, and do it before converting the longpoll data to work to avoid the staging thread believing it got the new work before the longpoll.
Con Kolivas 01eb4c59 2011-07-18T11:36:54 Minimise impact on GUIs by dropping priority and policy in gpu mining threads if dynamic mode is enabled.
Con Kolivas 0aa98873 2011-07-18T11:27:58 Add an sse4 algorithm to CPU mining.
Con Kolivas fc184625 2011-07-18T10:33:31 We now are guaranteed to have one fresh work item after a block change and we should only discard staged requests.