Commit c5b5e735ff3fe318e4f7f43360f021831711cef4

Con Kolivas 2013-03-17T16:24:40

Update docs and reorder README to show executive summary near top.

diff --git a/NEWS b/NEWS
index 52acc46..c112033 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,47 @@
+Version 2.11.3 - March 17, 2013
+
+- Update the hashmeter at most 5 times per second.
+- Usbutils use its own internal read buffer
+- Calculate work utility for devices that support target diffs of greater than
+1, and update scrypt code to use it.
+- usbutils allow read termination match to be a string
+- Set default GPU threads to 1 for scrypt.
+- Connect backup stratum pools if the primary pool cannot deliver work.
+- Use a new algorithm for choosing a thread concurrency when none or no shader
+value is specified for scrypt.
+- Do not round up the bufsize to the maximum allocable with scrypt.
+- Remove the rounding-up of the scrypt padbuffer which was not effectual and
+counter-productive on devices with lots of ram, limiting thread concurrencies
+and intensities.
+- bufsize is an unsigned integer, make it so for debug.
+- Update the hashmeter once per second but only display the extra logs every
+opt_log_inteval.
+- add a dummy ztex to usbutils so cgminer -n lists ztex also
+- nDevs required for -n with usb
+- USB device list - convert some common error numbers to messages
+- USB -n 'known' text only without ---usb-list-all
+- USB modify -n and --usb-dump to only show known devices or use new
+--usb-list-all option to see all
+- Make pool adding while running asynchronous, using the pool test thread
+functionality.
+- Only curl easy cleanup a stratum curl if it exists.
+- Sacrifice the ram of curl handles in stratum disconnects when we have built
+with old libcurl to avoid crashes.
+- cgminer -n to include a USB device list
+- usbutils allow call of usb_all() from other code
+- Convert gbt_lock to a cg_lock.
+- Add intermediate variants of cglocks that can be up or downgraded to read or
+write locks and use them for stratum work generation.
+- Move the stratum and GBT data to be protected under a new cg_lock data_lock.
+- Convert the ch_lock to cg_lock.
+- Convert the control_lock to a cg_lock.
+- Remove unused qd_lock.
+- Implement cg_lock write biased rwlocks.
+- do usb_initialise() after the started message so we see it
+- --usb-dump display brief dump if value = 0
+- USB add --usb options to limit USB device selection v0.1
+
+
 Version 2.11.2 - March 9, 2013
 
 - Whitelist AMD APP SDK 2.8 for diablo kernel.
diff --git a/README b/README
index 37b18c7..0a6cb90 100644
--- a/README
+++ b/README
@@ -27,7 +27,83 @@ irc://irc.freenode.net/cgminer
 
 License: GPLv3.  See COPYING for details.
 
-READ EXECUTIVE SUMMARY BELOW FOR FIRST TIME USERS!
+---
+
+EXECUTIVE SUMMARY ON USAGE:
+
+After saving configuration from the menu, you do not need to give cgminer any
+arguments and it will load your configuration.
+
+Any configuration file may also contain a single
+	"include" : "filename"
+to recursively include another configuration file.
+Writing the configuration will save all settings from all files in the output.
+
+
+Single pool, regular desktop:
+
+cgminer -o http://pool:port -u username -p password
+
+Single pool, dedicated miner:
+
+cgminer -o http://pool:port -u username -p password -I 9
+
+Single pool, first card regular desktop, 3 other dedicated cards:
+
+cgminer -o http://pool:port -u username -p password -I d,9,9,9
+
+Multiple pool, dedicated miner:
+
+cgminer -o http://pool1:port -u pool1username -p pool1password -o http://pool2:port -u pool2usernmae -p pool2password -I 9
+
+Add overclocking settings, GPU and fan control for all cards:
+
+cgminer -o http://pool:port -u username -p password -I 9 --auto-fan --auto-gpu --gpu-engine 750-950 --gpu-memclock 300
+
+Add overclocking settings, GPU and fan control with different engine settings for 4 cards:
+
+cgminer -o http://pool:port -u username -p password -I 9 --auto-fan --auto-gpu --gpu-engine 750-950,945,700-930,960 --gpu-memclock 300
+
+Single pool with a standard http proxy, regular desktop:
+
+cgminer -o "http:proxy:port|http://pool:port" -u username -p password
+
+Single pool with a socks5 proxy, regular desktop:
+
+cgminer -o "socks5:proxy:port|http://pool:port" -u username -p password
+
+Single pool with stratum protocol support:
+
+cgminer -o stratum+tcp://pool:port -u username -p password
+
+The list of proxy types are:
+ http:    standard http 1.1 proxy
+ http0:   http 1.0 proxy
+ socks4:  socks4 proxy
+ socks5:  socks5 proxy
+ socks4a: socks4a proxy
+ socks5h: socks5 proxy using a hostname
+
+If you compile cgminer with a version of CURL before 7.19.4 then some of the above will
+not be available. All are available since CURL version 7.19.4
+
+If you specify the --socks-proxy option to cgminer, it will only be applied to all pools
+that don't specify their own proxy setting like above
+
+READ WARNINGS AND DOCUMENTATION BELOW ABOUT OVERCLOCKING
+
+To configure multiple displays on linux you need to configure your Xorg cleanly
+to use them all:
+
+sudo aticonfig --adapter=all -f --initial
+
+On Linux you virtually always need to export your display settings before
+starting to get all the cards recognised and/or temperature+clocking working:
+
+export DISPLAY=:0
+
+---
+BUILDING CGMINER
 
 Dependencies:
 	curl dev library 	http://curl.haxx.se/libcurl/
@@ -116,13 +192,6 @@ If you are on 32 bit, x86_64 in the 2nd last line should be x86
 	If it finds the opencl files it will inform you with
 	"OpenCL: FOUND. GPU mining support enabled."
 
-Basic WIN32 build instructions (LIKELY OUTDATED INFO. requires mingw32):
-	./autogen.sh	# only needed if building from git repo
-	rm -f mingw32-config.cache
-	MINGW32_CFLAGS="-O2 -Wall -msse2" mingw32-configure
-	make
-	./mknsis.sh
-	
 Native WIN32 build instructions: see windows-build.txt
 
 ---
@@ -316,77 +385,6 @@ CPU only options (deprecated, not included in binaries!):
 --enable-cpu|-C     Enable CPU mining with other mining (default: no CPU mining if other devices exist)
 
 
-
----
-
-EXECUTIVE SUMMARY ON USAGE:
-
-After saving configuration from the menu, you do not need to give cgminer any
-arguments and it will load your configuration.
-
-Any configuration file may also contain a single
-	"include" : "filename"
-to recursively include another configuration file.
-Writing the configuration will save all settings from all files in the output.
-
-
-Single pool, regular desktop:
-
-cgminer -o http://pool:port -u username -p password
-
-Single pool, dedicated miner:
-
-cgminer -o http://pool:port -u username -p password -I 9
-
-Single pool, first card regular desktop, 3 other dedicated cards:
-
-cgminer -o http://pool:port -u username -p password -I d,9,9,9
-
-Multiple pool, dedicated miner:
-
-cgminer -o http://pool1:port -u pool1username -p pool1password -o http://pool2:port -u pool2usernmae -p pool2password -I 9
-
-Add overclocking settings, GPU and fan control for all cards:
-
-cgminer -o http://pool:port -u username -p password -I 9 --auto-fan --auto-gpu --gpu-engine 750-950 --gpu-memclock 300
-
-Add overclocking settings, GPU and fan control with different engine settings for 4 cards:
-
-cgminer -o http://pool:port -u username -p password -I 9 --auto-fan --auto-gpu --gpu-engine 750-950,945,700-930,960 --gpu-memclock 300
-
-Single pool with a standard http proxy, regular desktop:
-
-cgminer -o "http:proxy:port|http://pool:port" -u username -p password
-
-Single pool with a socks5 proxy, regular desktop:
-
-cgminer -o "socks5:proxy:port|http://pool:port" -u username -p password
-
-Single pool with stratum protocol support:
-
-cgminer -o stratum+tcp://pool:port -u username -p password
-
-The list of proxy types are:
- http:    standard http 1.1 proxy
- http0:   http 1.0 proxy
- socks4:  socks4 proxy
- socks5:  socks5 proxy
- socks4a: socks4a proxy
- socks5h: socks5 proxy using a hostname
-
-If you compile cgminer with a version of CURL before 7.19.4 then some of the above will
-not be available. All are available since CURL version 7.19.4
-
-If you specify the --socks-proxy option to cgminer, it will only be applied to all pools
-that don't specify their own proxy setting like above
-
-READ WARNINGS AND DOCUMENTATION BELOW ABOUT OVERCLOCKING
-
-On Linux you virtually always need to export your display settings before
-starting to get all the cards recognised and/or temperature+clocking working:
-
-export DISPLAY=:0
-
 ---
 
 WHILE RUNNING: