zfs/include/sys
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
..
fm - Add some more missing headers 2008-03-12 23:48:28 +00:00
fs Checkpoint for the night, 2008-03-05 00:58:54 +00:00
sysevent - Add some more missing headers 2008-03-12 23:48:28 +00:00
Makefile.am Remove spl.h, just include the headers you need. 2008-03-04 20:06:29 +00:00
acl.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
acl_impl.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
atomic.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
attr.h Just filling in more of the env. 2008-03-08 00:58:32 +00:00
buf.h SPL additions to increase support for updated ZFS build 2008-05-15 23:39:19 +00:00
byteorder.h - Add some more missing headers 2008-03-12 23:48:28 +00:00
callb.h - Properly fix the debug support for all the ASSERT's, VERIFIES, etc can be 2008-05-19 02:49:12 +00:00
cmn_err.h Add some typedefs to make it clearer when we passing a function, 2008-03-10 19:25:20 +00:00
condvar.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
cred.h Missing headers, more minor fixes 2008-03-15 00:05:38 +00:00
ctype.h Checkpoint for the night, 2008-03-05 00:58:54 +00:00
ddi.h Drop unicode support, provided in ZFS tree libport 2008-03-13 19:49:09 +00:00
debug.h Add missing () to quiet warnings in NDEBUG case 2008-06-04 22:52:13 +00:00
dkio.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
dklabel.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
dnlc.h Checkpoint for the night, 2008-03-05 00:58:54 +00:00
dumphdr.h SPL additions to increase support for updated ZFS build 2008-05-15 23:39:19 +00:00
errno.h Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
file.h OK, a first reasonable attempt at a solaris module/chdev shim layer. 2008-03-20 23:30:15 +00:00
int_limits.h Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
int_types.h Checkpoint for the night, 2008-03-05 00:58:54 +00:00
inttypes.h Remove spl.h, just include the headers you need. 2008-03-04 20:06:29 +00:00
isa_defs.h Double large kmalloc warning size to 4 pages. It was 2 pages, and ideally 2008-04-01 16:09:18 +00:00
kidmap.h Apply fix from bug239 for rwlock deadlock. 2008-03-11 20:54:40 +00:00
kmem.h The first locking issue was due to the semaphore I used. I was trying 2008-06-24 17:18:15 +00:00
kobj.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
kstat.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
mkdev.h Add missing headers 2008-03-14 00:04:01 +00:00
mntent.h Add missing headers 2008-03-14 00:04:01 +00:00
mode.h Add missing headers 2008-03-14 00:04:01 +00:00
mount.h Missing headers, more minor fixes 2008-03-15 00:05:38 +00:00
mutex.h Fixes: 2008-06-04 06:00:46 +00:00
param.h Reorganize /include/ to add a /sys/, this way we don't need to 2008-03-01 00:45:59 +00:00
pathname.h Add missing headers 2008-03-14 00:04:01 +00:00
proc.h Fixes: 2008-06-04 06:00:46 +00:00
random.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
resource.h Add two more missing headers 2008-03-13 20:41:29 +00:00
rwlock.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
sdt.h Missing headers, more minor fixes 2008-03-15 00:05:38 +00:00
sid.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
signal.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
stat.h Add two more missing headers 2008-03-13 20:41:29 +00:00
stropts.h Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
sunddi.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
sunldi.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
sysevent.h - Add some more missing headers 2008-03-12 23:48:28 +00:00
sysmacros.h Breaking the world for a little bit. If anyone is going to continue 2008-06-02 17:28:49 +00:00
systeminfo.h Just filling in more of the env. 2008-03-08 00:58:32 +00:00
systm.h Remove spl.h, just include the headers you need. 2008-03-04 20:06:29 +00:00
taskq.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
thread.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
time.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
timer.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
types.h * : modules/sys/kmem-slab.c : Re-implemented the slab to no 2008-06-13 23:41:06 +00:00
types32.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
uio.h Drop unicode support, provided in ZFS tree libport 2008-03-13 19:49:09 +00:00
unistd.h Add missing headers 2008-03-14 00:04:01 +00:00
utsname.h Update utsname to use proper compatible interface to avoid API issues. 2008-06-03 21:20:18 +00:00
va_list.h Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
varargs.h Add somre debugging support 2008-03-08 00:18:21 +00:00
vfs.h Missing headers, more minor fixes 2008-03-15 00:05:38 +00:00
vfs_opreg.h Add missing headers 2008-03-14 00:04:01 +00:00
vmsystm.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
vnode.h Breaking the world for a little bit. If anyone is going to continue 2008-06-02 17:28:49 +00:00
zmod.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
zone.h - Add some more missing headers 2008-03-12 23:48:28 +00:00