Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | kmem_cache hardening and performance improvements | Brian Behlendorf | 2009-01-30 | 6 | -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 Behlendorf | 2009-01-26 | 1 | -3/+0 |
| | | | | cache from working on systems with >4 cores | ||||
* | Pull the blkdev header in to the sunldi for some useful structure ↵ | Brian Behlendorf | 2009-01-26 | 1 | -0/+1 |
| | | | | definitions and helper functions | ||||
* | Implement kmem cache alignment argument | Brian Behlendorf | 2009-01-26 | 3 | -81/+136 |
| | |||||
* | Remove stray ` from macro | Brian Behlendorf | 2009-01-23 | 1 | -1/+1 |
| | |||||
* | Sleep uninteruptibly, waking up early may result in a crash | Brian Behlendorf | 2009-01-22 | 2 | -13/+14 |
| | |||||
* | Update debug.h to standardize VERIFY3_IMPL error messages in debug and ↵ | Brian Behlendorf | 2009-01-22 | 2 | -12/+14 |
| | | | | non-debug mode | ||||
* | Prep for 0.4.1 tag | Brian Behlendorf | 2009-01-21 | 2 | -1/+9 |
| | |||||
* | Minor fix for compiler warning when KMEM_TRACKING is enabled | Brian Behlendorf | 2009-01-20 | 1 | -1/+1 |
| | |||||
* | KMEM_TRACKING turned up a missing free in list test 6, fix the leak | Brian Behlendorf | 2009-01-20 | 1 | -0/+1 |
| | |||||
* | Ensure -NDEBUG does not get added to spl_config.h and is only set in the ↵ | Brian Behlendorf | 2009-01-20 | 4 | -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 libtool | Brian Behlendorf | 2009-01-15 | 1 | -6/+6 |
| | |||||
* | Rename modules to module and update references | Brian Behlendorf | 2009-01-15 | 39 | -18/+18 |
| | |||||
* | Make the splat load message caps just for consistency | Brian Behlendorf | 2009-01-13 | 1 | -5/+5 |
| | |||||
* | TASKQ_DYNAMIC not yet support, do not create the global taskq with that flag ↵ | Brian Behlendorf | 2009-01-13 | 2 | -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 Behlendorf | 2009-01-13 | 5 | -27/+306 |
| | | | | the EINVAL, ERANGE error handling, plus add a regression suite to ensure I got it atleast mostly right | ||||
* | Add missing stub headers | Brian Behlendorf | 2009-01-09 | 2 | -0/+8 |
| | |||||
* | Add basic ksid_lookupdomain and ksiddomain_rele support, just allocations | Brian Behlendorf | 2009-01-09 | 1 | -0/+27 |
| | |||||
* | Make sure we export ddi_quiesce_not_needed | Brian Behlendorf | 2009-01-09 | 1 | -0/+1 |
| | |||||
* | Add two new stub headers | Brian Behlendorf | 2009-01-09 | 2 | -0/+8 |
| | |||||
* | Add VOP_SEEK | Brian Behlendorf | 2009-01-09 | 2 | -4/+19 |
| | |||||
* | Add missing policy includes, add missing sun ddi bits | Brian Behlendorf | 2009-01-09 | 3 | -0/+14 |
| | |||||
* | Add share.h stub | Brian Behlendorf | 2009-01-09 | 1 | -0/+4 |
| | |||||
* | Drat fix missing ; | Brian Behlendorf | 2009-01-09 | 1 | -1/+1 |
| | |||||
* | Add missing callback_context_t and fid_t types | Brian Behlendorf | 2009-01-09 | 2 | -49/+68 |
| | |||||
* | Add stubs for three more includes | Brian Behlendorf | 2009-01-09 | 3 | -0/+12 |
| | |||||
* | Add active test for splat list tests | Brian Behlendorf | 2009-01-07 | 1 | -2/+68 |
| | |||||
* | Add 5 splat tests for list handling | Brian Behlendorf | 2009-01-07 | 5 | -35/+583 |
| | |||||
* | Add include/sys/compress.h header | Brian Behlendorf | 2009-01-06 | 1 | -0/+4 |
| | |||||
* | Add P2BOUNDARY macro | Brian Behlendorf | 2009-01-06 | 1 | -0/+2 |
| | |||||
* | Pull in some default page typedefs | Brian Behlendorf | 2009-01-05 | 1 | -0/+3 |
| | |||||
* | Add DTRACE_PROBE(a) | Brian Behlendorf | 2009-01-05 | 1 | -0/+4 |
| | |||||
* | Stub u8_textprep.h for inclusion purposes | Brian Behlendorf | 2009-01-05 | 3 | -6/+11 |
| | |||||
* | Add system taskq support | Brian Behlendorf | 2009-01-05 | 4 | -12/+89 |
| | |||||
* | Remove u8_textprep, we will not be implementing this nightmare yet | Brian Behlendorf | 2009-01-05 | 1 | -44/+0 |
| | |||||
* | Include the header | Brian Behlendorf | 2008-12-23 | 1 | -0/+2 |
| | |||||
* | Add sys/thread.h | Brian Behlendorf | 2008-12-23 | 1 | -0/+1 |
| | |||||
* | Define needfree | Brian Behlendorf | 2008-12-23 | 1 | -4/+1 |
| | |||||
* | Add timer.h header | Brian Behlendorf | 2008-12-23 | 1 | -0/+1 |
| | |||||
* | Add u8 stub | Brian Behlendorf | 2008-12-23 | 1 | -0/+40 |
| | |||||
* | Move sunddi include | Brian Behlendorf | 2008-12-23 | 2 | -1/+2 |
| | |||||
* | Add sunddi to uio | Brian Behlendorf | 2008-12-23 | 1 | -0/+1 |
| | |||||
* | Minor updates | Brian Behlendorf | 2008-12-23 | 2 | -0/+39 |
| | |||||
* | Pull in lock types | Brian Behlendorf | 2008-12-23 | 1 | -0/+5 |
| | |||||
* | Add header | Brian Behlendorf | 2008-12-23 | 1 | -0/+4 |
| | |||||
* | Add a few more missing header which the upstream stock kernel context expects | Brian Behlendorf | 2008-12-23 | 8 | -0/+32 |
| | |||||
* | Add struct ddi_strtox functions | Brian Behlendorf | 2008-12-05 | 2 | -6/+58 |
| | |||||
* | Refresh | Brian Behlendorf | 2008-12-05 | 1 | -7/+7 |
| | |||||
* | Prefix META_ALIAS with SPL_ | Brian Behlendorf | 2008-11-26 | 9 | -19/+19 |
| | |||||
* | Prefix all META_* #defines with SPL to prevent colisions which include our ↵ | Brian Behlendorf | 2008-11-26 | 10 | -156/+156 |
| | | | | spl_config.h. Dependent packages may do this to leverage the autoconf check we have already run aganst the kernel. |