From owner-freebsd-current Mon Mar 27 11: 2: 0 2000 Delivered-To: freebsd-current@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 4CDEB37BCF5 for ; Mon, 27 Mar 2000 11:01:57 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id LAA42391; Mon, 27 Mar 2000 11:01:54 -0800 (PST) (envelope-from dillon) Date: Mon, 27 Mar 2000 11:01:54 -0800 (PST) From: Matthew Dillon Message-Id: <200003271901.LAA42391@apollo.backplane.com> To: Daniel Eischen Cc: Nate Williams , nms@otdel-1.org, freebsd-current@FreeBSD.ORG Subject: Re: Is there spinlocks/semaphores available for drivers? References: Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :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 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message