zfs/modules/spl
behlendo d46630e0f3 The first locking issue was due to the semaphore I used. I was trying
to be overly clever and the context switch when the semaphore was busy
was destroying performance.  Converting to a simple spin lock bough me
a factor of 50 or so.  That said it's still not good enough.  Tests
show bad performance and we are still CPU bound.  The logical fix is
I need to implement per-cpu hot caches to minimize the SMP contention.
Linux and Solaris both have this, I was hoping to do without but it
looks like that's not to be.

   kmem_lock: time (sec)        slabs           objs            hash
   kmem_lock:                   tot/max/calc    tot/max/calc    size/depth
   kmem_lock:  0.022000000      7/6/64  224/177/2048    32768/1
   kmem_lock:  0.039000000      13/13/128       416/404/4096    32768/1
   kmem_lock:  0.079000000      23/21/256       736/672/8192    32768/1
   kmem_lock:  0.158000000      48/47/512       1536/1504/16384 32768/1
   kmem_lock:  0.345000000      105/105/1024    3360/3358/32768 32768/2
   kmem_lock:  0.760000000      202/200/2048    6464/6400/65536 32768/3



git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@135 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
2008-06-24 17:18:15 +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 The first locking issue was due to the semaphore I used. I was trying 2008-06-24 17:18:15 +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 Whoops, fix a minor proc issue which slipped through with 2008-06-04 06:09:16 +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 Breaking the world for a little bit. If anyone is going to continue 2008-06-02 17:28:49 +00:00
spl-vnode.c * : modules/sys/kmem-slab.c : Re-implemented the slab to no 2008-06-13 23:41:06 +00:00