Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							ea3e6ca9e5 
							
						 
					 
					
						
						
							
							kmem_cache hardening and performance improvements  
						
						... 
						
						
						
						- Added slab work queue task which gradually ages and free's slabs
  from the cache which have not been used recently.
- Optimized slab packing algorithm to ensure each slab contains the
  maximum number of objects without create to large a slab.
- Fix deadlock, we can never call kv_free() under the skc_lock.  We
  now unlink the objects and slabs from the cache itself and attach
  them to a private work list.  The contents of the list are then
  subsequently freed outside the spin lock.
- Move magazine create/destroy operation on to local cpu.
- Further performace optimizations by minimize the usage of the large
  per-cache skc_lock.  This includes the addition of KMC_BIT_REAPING
  bit mask which is used to prevent concurrent reaping, and to defer
  new slab creation when reaping is occuring.
- Add KMC_BIT_DESTROYING bit mask which is set when the cache is being
  destroyed, this is used to catch any task accessing the cache while
  it is being destroyed.
- Add comments to all the functions and additional comments to try
  and make everything as clear as possible.
- Major cleanup and additions to the SPLAT kmem tests to more
  rigerously stress the cache implementation and look for any problems.
  This includes correctness and performance tests.
- Updated portable work queue interfaces 
						
					 
					
						2009-01-30 20:54:49 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							c65e71073f 
							
						 
					 
					
						
						
							
							Refresh type in topgit git://* reference  
						
						
						
					 
					
						2009-01-26 21:58:32 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							34e71c9e97 
							
						 
					 
					
						
						
							
							Remove debug check was was accidentally left in place an prevent the slab cache from working on systems with >4 cores  
						
						
						
					 
					
						2009-01-26 20:10:23 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							0f233eac33 
							
						 
					 
					
						
						
							
							Pull the blkdev header in to the sunldi for some useful structure definitions and helper functions  
						
						
						
					 
					
						2009-01-26 16:47:49 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							48e0606a52 
							
						 
					 
					
						
						
							
							Implement kmem cache alignment argument  
						
						
						
					 
					
						2009-01-26 09:02:04 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							e4f3ea278e 
							
						 
					 
					
						
						
							
							Remove stray ` from macro  
						
						
						
					 
					
						2009-01-23 08:59:11 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							3f4126739d 
							
						 
					 
					
						
						
							
							Sleep uninteruptibly, waking up early may result in a crash  
						
						
						
					 
					
						2009-01-22 09:58:48 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							511176398c 
							
						 
					 
					
						
						
							
							Update debug.h to standardize VERIFY3_IMPL error messages in debug and non-debug mode  
						
						
						
					 
					
						2009-01-22 09:41:47 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							064bbffb63 
							
						 
					 
					
						
						
							
							Prep for 0.4.1 tag  
						
						
						
					 
					
						2009-01-21 11:46:02 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							4710ede86a 
							
						 
					 
					
						
						
							
							Add GIT to master  
						
						
						
					 
					
						2009-01-20 15:43:44 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							b6b2acc66e 
							
						 
					 
					
						
						
							
							Minor fix for compiler warning when KMEM_TRACKING is enabled  
						
						
						
					 
					
						2009-01-20 13:39:35 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							ae3b87f908 
							
						 
					 
					
						
						
							
							KMEM_TRACKING turned up a missing free in list test 6, fix the leak  
						
						
						
					 
					
						2009-01-20 12:47:53 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							15270e003e 
							
						 
					 
					
						
						
							
							Ensure -NDEBUG does not get added to spl_config.h and is only set in the build options.  This allows other kernel modules to use spl_config to leverage the reset of the config checks without getting confused with the debug options  
						
						
						
					 
					
						2009-01-20 11:59:47 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							fb5f0bc833 
							
						 
					 
					
						
						
							
							Rebase master to b105  
						
						
						
					 
					
						2009-01-15 13:59:39 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							5566ec0959 
							
						 
					 
					
						
						
							
							Refresh libtool  
						
						
						
					 
					
						2009-01-15 10:47:24 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							617d5a673c 
							
						 
					 
					
						
						
							
							Rename modules to module and update references  
						
						
						
					 
					
						2009-01-15 10:44:54 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							f6a19c0d37 
							
						 
					 
					
						
						
							
							Make the splat load message caps just for consistency  
						
						
						
					 
					
						2009-01-13 11:45:02 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							b172b6dfde 
							
						 
					 
					
						
						
							
							TASKQ_DYNAMIC not yet support, do not create the global taskq with that flag or we crash with debug enabled.  Also don't bother dumping debug when debugging is diabled, it's pointless  
						
						
						
					 
					
						2009-01-13 11:43:05 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							b871b8cdef 
							
						 
					 
					
						
						
							
							Rework ddi_strtox calls to a native implementation which actuall supports the EINVAL, ERANGE error handling, plus add a regression suite to ensure I got it atleast mostly right  
						
						
						
					 
					
						2009-01-13 09:30:59 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							1e4ed6c990 
							
						 
					 
					
						
						
							
							Add missing stub headers  
						
						
						
					 
					
						2009-01-09 16:04:44 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							121d48c97d 
							
						 
					 
					
						
						
							
							Add basic ksid_lookupdomain and ksiddomain_rele support, just allocations  
						
						
						
					 
					
						2009-01-09 15:30:53 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							f590d7d374 
							
						 
					 
					
						
						
							
							Make sure we export ddi_quiesce_not_needed  
						
						
						
					 
					
						2009-01-09 14:30:30 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							0e41414946 
							
						 
					 
					
						
						
							
							Add two new stub headers  
						
						
						
					 
					
						2009-01-09 14:04:13 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							97735c39e3 
							
						 
					 
					
						
						
							
							Add VOP_SEEK  
						
						
						
					 
					
						2009-01-09 13:59:39 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							d83ba26e18 
							
						 
					 
					
						
						
							
							Add missing policy includes, add missing sun ddi bits  
						
						
						
					 
					
						2009-01-09 10:49:47 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							70997fb4b1 
							
						 
					 
					
						
						
							
							Add share.h stub  
						
						
						
					 
					
						2009-01-09 10:06:18 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							71c8ab9c68 
							
						 
					 
					
						
						
							
							Drat fix missing ;  
						
						
						
					 
					
						2009-01-09 10:05:03 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							23f5c4c281 
							
						 
					 
					
						
						
							
							Add missing callback_context_t and fid_t types  
						
						
						
					 
					
						2009-01-09 10:03:37 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							703e7a3cf4 
							
						 
					 
					
						
						
							
							Add stubs for three more includes  
						
						
						
					 
					
						2009-01-09 09:47:27 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							434d1d0f8f 
							
						 
					 
					
						
						
							
							Add active test for splat list tests  
						
						
						
					 
					
						2009-01-07 13:48:36 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							d702c04ff1 
							
						 
					 
					
						
						
							
							Add 5 splat tests for list handling  
						
						
						
					 
					
						2009-01-07 12:54:03 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							4c18c39ecb 
							
						 
					 
					
						
						
							
							Add include/sys/compress.h header  
						
						
						
					 
					
						2009-01-06 09:47:00 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							160c63ab76 
							
						 
					 
					
						
						
							
							Add P2BOUNDARY macro  
						
						
						
					 
					
						2009-01-06 09:23:13 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							7adbea4141 
							
						 
					 
					
						
						
							
							Pull in some default page typedefs  
						
						
						
					 
					
						2009-01-05 16:14:38 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							0f37204417 
							
						 
					 
					
						
						
							
							Add DTRACE_PROBE(a)  
						
						
						
					 
					
						2009-01-05 16:09:21 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							b53c565e65 
							
						 
					 
					
						
						
							
							Stub u8_textprep.h for inclusion purposes  
						
						
						
					 
					
						2009-01-05 15:37:07 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							e9cb2b4f64 
							
						 
					 
					
						
						
							
							Add system taskq support  
						
						
						
					 
					
						2009-01-05 15:08:03 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							42bcb36c89 
							
						 
					 
					
						
						
							
							Add unicode library  
						
						
						
					 
					
						2009-01-05 12:03:23 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							8a2b328b18 
							
						 
					 
					
						
						
							
							Remove u8_textprep, we will not be implementing this nightmare yet  
						
						
						
					 
					
						2009-01-05 11:32:08 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							36b849fa51 
							
						 
					 
					
						
						
							
							Remove zdump, it's an unrelateds command which I added simply due to the z* command convention  
						
						
						
					 
					
						2009-01-05 11:10:13 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							f3fc90c249 
							
						 
					 
					
						
						
							
							Include the header  
						
						
						
					 
					
						2008-12-23 16:48:15 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							925ca8cc01 
							
						 
					 
					
						
						
							
							Add sys/thread.h  
						
						
						
					 
					
						2008-12-23 16:27:36 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							bb9cfc6cc3 
							
						 
					 
					
						
						
							
							Define needfree  
						
						
						
					 
					
						2008-12-23 15:59:36 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							2b88beb74f 
							
						 
					 
					
						
						
							
							Add timer.h header  
						
						
						
					 
					
						2008-12-23 15:40:20 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							bbdec3be06 
							
						 
					 
					
						
						
							
							Add u8 stub  
						
						
						
					 
					
						2008-12-23 15:38:15 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							de79fdd3a8 
							
						 
					 
					
						
						
							
							Move sunddi include  
						
						
						
					 
					
						2008-12-23 13:32:07 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							9d457afd1b 
							
						 
					 
					
						
						
							
							Add sunddi to uio  
						
						
						
					 
					
						2008-12-23 13:30:04 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							dc0f920710 
							
						 
					 
					
						
						
							
							Minor updates  
						
						
						
					 
					
						2008-12-23 13:25:52 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							926e2b6058 
							
						 
					 
					
						
						
							
							Pull in lock types  
						
						
						
					 
					
						2008-12-23 13:18:39 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Behlendorf 
							
						 
					 
					
						
						
						
						
							
						
						
							c1d42c2f1d 
							
						 
					 
					
						
						
							
							Add header  
						
						
						
					 
					
						2008-12-23 13:05:50 -08:00