aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* kmem_cache hardening and performance improvementsBrian Behlendorf2009-01-306-496/+1025
| | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Remove debug check was was accidentally left in place an prevent the slab ↵Brian Behlendorf2009-01-261-3/+0
| | | | cache from working on systems with >4 cores
* Pull the blkdev header in to the sunldi for some useful structure ↵Brian Behlendorf2009-01-261-0/+1
| | | | definitions and helper functions
* Implement kmem cache alignment argumentBrian Behlendorf2009-01-263-81/+136
|
* Remove stray ` from macroBrian Behlendorf2009-01-231-1/+1
|
* Sleep uninteruptibly, waking up early may result in a crashBrian Behlendorf2009-01-222-13/+14
|
* Update debug.h to standardize VERIFY3_IMPL error messages in debug and ↵Brian Behlendorf2009-01-222-12/+14
| | | | non-debug mode
* Prep for 0.4.1 tagBrian Behlendorf2009-01-212-1/+9
|
* Minor fix for compiler warning when KMEM_TRACKING is enabledBrian Behlendorf2009-01-201-1/+1
|
* KMEM_TRACKING turned up a missing free in list test 6, fix the leakBrian Behlendorf2009-01-201-0/+1
|
* Ensure -NDEBUG does not get added to spl_config.h and is only set in the ↵Brian Behlendorf2009-01-204-12/+0
| | | | 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
* Refresh libtoolBrian Behlendorf2009-01-151-6/+6
|
* Rename modules to module and update referencesBrian Behlendorf2009-01-1539-18/+18
|
* Make the splat load message caps just for consistencyBrian Behlendorf2009-01-131-5/+5
|
* TASKQ_DYNAMIC not yet support, do not create the global taskq with that flag ↵Brian Behlendorf2009-01-132-1/+3
| | | | or we crash with debug enabled. Also don't bother dumping debug when debugging is diabled, it's pointless
* Rework ddi_strtox calls to a native implementation which actuall supports ↵Brian Behlendorf2009-01-135-27/+306
| | | | the EINVAL, ERANGE error handling, plus add a regression suite to ensure I got it atleast mostly right
* Add missing stub headersBrian Behlendorf2009-01-092-0/+8
|
* Add basic ksid_lookupdomain and ksiddomain_rele support, just allocationsBrian Behlendorf2009-01-091-0/+27
|
* Make sure we export ddi_quiesce_not_neededBrian Behlendorf2009-01-091-0/+1
|
* Add two new stub headersBrian Behlendorf2009-01-092-0/+8
|
* Add VOP_SEEKBrian Behlendorf2009-01-092-4/+19
|
* Add missing policy includes, add missing sun ddi bitsBrian Behlendorf2009-01-093-0/+14
|
* Add share.h stubBrian Behlendorf2009-01-091-0/+4
|
* Drat fix missing ;Brian Behlendorf2009-01-091-1/+1
|
* Add missing callback_context_t and fid_t typesBrian Behlendorf2009-01-092-49/+68
|
* Add stubs for three more includesBrian Behlendorf2009-01-093-0/+12
|
* Add active test for splat list testsBrian Behlendorf2009-01-071-2/+68
|
* Add 5 splat tests for list handlingBrian Behlendorf2009-01-075-35/+583
|
* Add include/sys/compress.h headerBrian Behlendorf2009-01-061-0/+4
|
* Add P2BOUNDARY macroBrian Behlendorf2009-01-061-0/+2
|
* Pull in some default page typedefsBrian Behlendorf2009-01-051-0/+3
|
* Add DTRACE_PROBE(a)Brian Behlendorf2009-01-051-0/+4
|
* Stub u8_textprep.h for inclusion purposesBrian Behlendorf2009-01-053-6/+11
|
* Add system taskq supportBrian Behlendorf2009-01-054-12/+89
|
* Remove u8_textprep, we will not be implementing this nightmare yetBrian Behlendorf2009-01-051-44/+0
|
* Include the headerBrian Behlendorf2008-12-231-0/+2
|
* Add sys/thread.hBrian Behlendorf2008-12-231-0/+1
|
* Define needfreeBrian Behlendorf2008-12-231-4/+1
|
* Add timer.h headerBrian Behlendorf2008-12-231-0/+1
|
* Add u8 stubBrian Behlendorf2008-12-231-0/+40
|
* Move sunddi includeBrian Behlendorf2008-12-232-1/+2
|
* Add sunddi to uioBrian Behlendorf2008-12-231-0/+1
|
* Minor updatesBrian Behlendorf2008-12-232-0/+39
|
* Pull in lock typesBrian Behlendorf2008-12-231-0/+5
|
* Add headerBrian Behlendorf2008-12-231-0/+4
|
* Add a few more missing header which the upstream stock kernel context expectsBrian Behlendorf2008-12-238-0/+32
|
* Add struct ddi_strtox functionsBrian Behlendorf2008-12-052-6/+58
|
* RefreshBrian Behlendorf2008-12-051-7/+7
|
* Prefix META_ALIAS with SPL_Brian Behlendorf2008-11-269-19/+19
|
* Prefix all META_* #defines with SPL to prevent colisions which include our ↵Brian Behlendorf2008-11-2610-156/+156
| | | | spl_config.h. Dependent packages may do this to leverage the autoconf check we have already run aganst the kernel.