mirror_zfs/modules/spl
behlendo ff449ac406 Further slab improvements, I'm getting close to something which works
well for the expected workloads.  Improvement in this commit include:

- Added DEBUG_KMEM_TRACKING #define which can optionally be set
  when DEBUG_KMEM is defined to do per allocation tracking.  This
  allows us to get all the lightweight kmem debugging enabled by
  default which is pretty light weight, and only when looking 
  for a memory leak we can briefly enable the per alloc tracking.

- Added set_normalized_timespec() in to SPL to simply using
  the timespec() primatives from within a module.

- Added per-spinlock cycle counters to the slab in an attempt
  to run down a lock contention issue.  The contended lock 
  was in vmalloc() but I'm going to leave the cycle counters
  in place for a little while until I'm convinced there arn't
  other locking improvement possible in the slab.

- Added a proc interface to the slab to export per slab
  cache statistics to /proc/spl/kmem/slab for analysis.

- Reworked spl_slab_alloc() function to allocate from kmem for
  small allocation and vmem for large allocations.  This improved
  things considerably but futher work is needed.



git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@138 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
2008-06-27 21:40:11 +00:00
..
Makefile.in Breaking the world for a little bit. If anyone is going to continue 2008-06-02 17:28:49 +00:00
spl-atomic.c Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
spl-condvar.c Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
spl-debug.c Breaking the world for a little bit. If anyone is going to continue 2008-06-02 17:28:49 +00:00
spl-err.c Breaking the world for a little bit. If anyone is going to continue 2008-06-02 17:28:49 +00:00
spl-generic.c * : modules/sys/kmem-slab.c : Re-implemented the slab to no 2008-06-13 23:41:06 +00:00
spl-kmem.c Further slab improvements, I'm getting close to something which works 2008-06-27 21:40:11 +00:00
spl-kobj.c Breaking the world for a little bit. If anyone is going to continue 2008-06-02 17:28:49 +00:00
spl-kstat.c Minor tweak to ensure kstat values are printed correctly on x86_64 at least 2008-06-06 23:11:34 +00:00
spl-module.c Breaking the world for a little bit. If anyone is going to continue 2008-06-02 17:28:49 +00:00
spl-mutex.c Fixes: 2008-06-04 06:00:46 +00:00
spl-proc.c Further slab improvements, I'm getting close to something which works 2008-06-27 21:40:11 +00:00
spl-rwlock.c Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
spl-taskq.c Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
spl-thread.c Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
spl-time.c Further slab improvements, I'm getting close to something which works 2008-06-27 21:40:11 +00:00
spl-vnode.c Implement per-cpu local caches. This seems to have bough me another 2008-06-25 20:57:45 +00:00