Date: Mon, 27 Mar 2000 11:01:54 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Daniel Eischen <eischen@vigrid.com> Cc: Nate Williams <nate@yogotech.com>, nms@otdel-1.org, freebsd-current@FreeBSD.ORG Subject: Re: Is there spinlocks/semaphores available for drivers? Message-ID: <200003271901.LAA42391@apollo.backplane.com> References: <Pine.SUN.3.91.1000327131623.6333A-100000@pcnet1.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
:And would there still be areas of the kernel that disable multiple
:interrupts, perhaps CAM or the network stack for instance? What do
:all the splbio and splnet calls translate into in this new scheme?
:
:--
:Dan Eischen
The entire design of the kernel is currently predicated on the spl*()
mechanism. We obviously can't rip it out in a day. I'm guessing it
will probably take two years ... or never if we can eek out sufficient
performance with it still in place.
I think there is a good chance we can reap the performance benefits
without ripping the spl*() API to shreads, even if we have to rewrite
the cpl mechanism that runs the show under the hood. The system most
likely to be rewritten to avoid spl*() (under normal operation) is
the network subsystem. That alone will give us a big boost.
Network subsystem easy
Disk subsystem hard
VM subsystem really hard
I outline how the current cpl mechanism can be used almost verbatim
in an interrupt-thread environment in my SMP document, under
'interrupt sequencing'.
http://www.backplane.com/FreeBSD4/smp-api.html
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003271901.LAA42391>
