Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							fbd5dfc1b1 
							
						 
					 
					
						
						
							
							changed POOL_resize() return type to int  
						
						 
						
						... 
						
						
						
						return is now just en error code.
This guarantee that `ctx` remains valid after POOL_resize().
Gets rid of internal POOL_free() operation. 
						
						
					 
					
						2018-06-22 12:14:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							243cd9d8bb 
							
						 
					 
					
						
						
							
							add a cond_broadcast after resize  
						
						 
						
						... 
						
						
						
						to make sure all threads (notably newly available threads)
get awaken to immediately process potential items in the queue. 
						
						
					 
					
						2018-06-21 18:04:58 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							818e72b4d5 
							
						 
					 
					
						
						
							
							added extended POOL test  
						
						 
						
						... 
						
						
						
						abrupt end + downsizing with running jobs remaining in queue.
also : POOL_resize() requires numThreads >= 1 
						
						
					 
					
						2018-06-21 14:58:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							6de249c1c6 
							
						 
					 
					
						
						
							
							fixed: bug when counting nb of active threads  
						
						 
						
						... 
						
						
						
						when queueSize > 1
also : added a test in testpool.c
       verifying resizing is effective. 
						
						
					 
					
						2018-06-20 18:28:49 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							6b48eb12c0 
							
						 
					 
					
						
						
							
							change control of threadLimit  
						
						 
						
						... 
						
						
						
						now limits maximum nb of active threads
even when queueSize > 1. 
						
						
					 
					
						2018-06-20 14:35:39 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							62469c9f41 
							
						 
					 
					
						
						
							
							fixed wrong size in pthread struct transfer  
						
						 
						
						
						
						
					 
					
						2018-06-19 20:14:03 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							166901dc72 
							
						 
					 
					
						
						
							
							reduced POOL_resize() restriction  
						
						 
						
						... 
						
						
						
						It's not necessary to ensure that no job is ongoing.
The pool is only expanded, existing threads are preserved.
In case of error, the only option is to return NULL and terminate the thread pool anyway. 
						
						
					 
					
						2018-06-19 18:07:18 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							4567c57199 
							
						 
					 
					
						
						
							
							finalized POOL_resize()  
						
						 
						
						... 
						
						
						
						POOL_ctx* POOL_resize(POOL_ctx* ctx, size_t numThreads)
The function may fail, and returns a NULL pointer in this case. 
						
						
					 
					
						2018-06-19 16:03:12 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							1c714fda3f 
							
						 
					 
					
						
						
							
							introduced POOL_resize()  
						
						 
						
						... 
						
						
						
						not complete yet :
finalize behavior in case of unfinished expansion 
						
						
					 
					
						2018-06-18 20:46:39 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							997e4d0ccd 
							
						 
					 
					
						
						
							
							added POOL_tryAdd()  
						
						 
						
						
						
						
					 
					
						2018-01-18 14:39:51 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							61e5a1adfc 
							
						 
					 
					
						
						
							
							removed direct call to malloc() from pool.c  
						
						 
						
						
						
						
					 
					
						2017-10-31 17:43:24 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							86b4fe5b45 
							
						 
					 
					
						
						
							
							adjustCParams : restored previous behavior  
						
						 
						
						... 
						
						
						
						unknowns srcSize presumed small if there is a dictionary (dictSize>0)
and presumed large otherwise. 
						
						
					 
					
						2017-09-28 18:14:28 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Terrell 
							
						 
					 
					
						
						
						
						
							
						
						
							6c41adfb28 
							
						 
					 
					
						
						
							
							[libzstd] pthread function prefixed with ZSTD_  
						
						 
						
						... 
						
						
						
						* `sed -i 's/pthread_/ZSTD_pthread_/g' lib/{,common,compress,decompress,dictBuilder}/*.[hc]`
* Fix up `lib/common/threading.[hc]`
* `sed -i s/PTHREAD_MUTEX_LOCK/ZSTD_PTHREAD_MUTEX_LOCK/g lib/compress/zstdmt_compress.c` 
						
						
					 
					
						2017-09-27 11:48:48 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							3128e03be6 
							
						 
					 
					
						
						
							
							updated license header  
						
						 
						
						... 
						
						
						
						to clarify dual-license meaning as "or" 
						
						
					 
					
						2017-09-08 00:09:23 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Terrell 
							
						 
					 
					
						
						
						
						
							
						
						
							423b133568 
							
						 
					 
					
						
						
							
							[POOL] Allow free on NULL when multithreading is disabled  
						
						 
						
						
						
						
					 
					
						2017-09-05 11:18:13 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Terrell 
							
						 
					 
					
						
						
						
						
							
						
						
							02033be08c 
							
						 
					 
					
						
						
							
							[pool] Visual Studios disallows empty structs  
						
						 
						
						
						
						
					 
					
						2017-08-28 17:19:01 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Terrell 
							
						 
					 
					
						
						
						
						
							
						
						
							26dc040a7b 
							
						 
					 
					
						
						
							
							[pool] Accept custom allocators  
						
						 
						
						
						
						
					 
					
						2017-08-24 17:01:41 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Terrell 
							
						 
					 
					
						
						
						
						
							
						
						
							89dc856cae 
							
						 
					 
					
						
						
							
							[pool] Fix formatting  
						
						 
						
						
						
						
					 
					
						2017-08-24 16:48:32 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							7db552676e 
							
						 
					 
					
						
						
							
							reduced pool queue to 0 to save memory  
						
						 
						
						... 
						
						
						
						fixed : pool performance when jobs are fires fast and queueSize==0 
						
						
					 
					
						2017-08-19 15:07:54 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							32fb407c9d 
							
						 
					 
					
						
						
							
							updated a bunch of headers  
						
						 
						
						... 
						
						
						
						for the new license 
						
						
					 
					
						2017-08-18 16:52:05 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stella Lau 
							
						 
					 
					
						
						
						
						
							
						
						
							73ba58955f 
							
						 
					 
					
						
						
							
							Signal after finishing job when queueSize=0  
						
						 
						
						
						
						
					 
					
						2017-08-01 20:12:06 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stella Lau 
							
						 
					 
					
						
						
						
						
							
						
						
							1d76da1d87 
							
						 
					 
					
						
						
							
							Replace marker with queueEmpty variable and update pool.h comment  
						
						 
						
						
						
						
					 
					
						2017-08-01 12:30:16 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stella Lau 
							
						 
					 
					
						
						
						
						
							
						
						
							5adceeed01 
							
						 
					 
					
						
						
							
							Allow queueSize=0 in pool.c and update poolTests  
						
						 
						
						
						
						
					 
					
						2017-07-31 10:10:16 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							a90b16e150 
							
						 
					 
					
						
						
							
							Visual blind fix 2  
						
						 
						
						
						
						
					 
					
						2017-07-20 15:57:55 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							16261e6951 
							
						 
					 
					
						
						
							
							buffer pool can be invoked from multiple threads  
						
						 
						
						
						
						
					 
					
						2017-07-11 14:14:07 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							6056e4c3eb 
							
						 
					 
					
						
						
							
							added POOL_sizeof() for single-thread  
						
						 
						
						
						
						
					 
					
						2017-06-02 11:36:47 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							c4a5a21c5c 
							
						 
					 
					
						
						
							
							created ZSTDMT_sizeof_CCtx() and POOL_sizeof()  
						
						 
						
						... 
						
						
						
						required by ZSTD_sizeofCCtx() while adding a ZSTDMT_CCtx* 
						
						
					 
					
						2017-06-01 17:56:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Terrell 
							
						 
					 
					
						
						
						
						
							
						
						
							e628eaf87a 
							
						 
					 
					
						
						
							
							Fix pool.c threading.h import  
						
						 
						
						
						
						
					 
					
						2017-01-26 15:29:10 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								cyan4973 
							
						 
					 
					
						
						
						
						
							
						
						
							2e3b659ae1 
							
						 
					 
					
						
						
							
							fixed minor warnings (Visual, conversion, doxygen)  
						
						 
						
						
						
						
					 
					
						2017-01-20 14:43:09 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							0f984d94c4 
							
						 
					 
					
						
						
							
							changed MT enabling macro to ZSTD_MULTITHREAD  
						
						 
						
						
						
						
					 
					
						2017-01-19 14:05:07 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Terrell 
							
						 
					 
					
						
						
						
						
							
						
						
							bb13387d7d 
							
						 
					 
					
						
						
							
							Fix pool for threading.h  
						
						 
						
						
						
						
					 
					
						2016-12-31 19:10:47 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							3b9d434356 
							
						 
					 
					
						
						
							
							extended ZSTDMT code support for non-MT systems and WIN32 (preliminary)  
						
						 
						
						
						
						
					 
					
						2016-12-31 16:32:19 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							3b29dbd9e8 
							
						 
					 
					
						
						
							
							new zstdmt version using generic treadpool  
						
						 
						
						
						
						
					 
					
						2016-12-31 06:04:25 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yann Collet 
							
						 
					 
					
						
						
						
						
							
						
						
							c6a6417458 
							
						 
					 
					
						
						
							
							bench correctly measures time for multi-threaded compression (posix only)  
						
						 
						
						
						
						
					 
					
						2016-12-31 03:31:26 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Terrell 
							
						 
					 
					
						
						
						
						
							
						
						
							e777a5be6b 
							
						 
					 
					
						
						
							
							Add a thread pool for ZSTDMT and COVER  
						
						 
						
						
						
						
					 
					
						2016-12-29 23:39:44 -08:00