Patch to optimize "bare" critical sections

John Baldwin jhb at FreeBSD.org
Tue Nov 23 12:00:59 PST 2004


Basically, I have a patch to divorce the interrupt disable/deferring to only 
happen inside of spinlocks using a new spinlock_enter/exit() API (where a 
spinlock_enter/exit includes a critical section as well) but that plain 
critical sections won't have to do such a thing.  I've tested it on i386, 
alpha, and sparc64 already, and it has also been tested on arm.  I'm unable 
to get a cross-built powerpc kernel to link (linker dies with a signal 6), 
but the compile did finish.  I have cross-compiled ia64 and amd64 
successfully, but have not run tested due to ENOHARDWARE.  So, I would 
appreciate it if a few folks could try the patch out on ppc, ia64, and amd64 
to make sure it works ok.  Thanks.

http://www.FreeBSD.org/~jhb/spinlock.patch

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-amd64 mailing list