Date: Sun, 20 Dec 1998 18:48:11 -0500 (EST) From: Snob Art Genre <benedict@echonyc.com> To: Alfred Perlstein <bright@hotjobs.com> Cc: hackers@FreeBSD.ORG Subject: Re: question about re-entrancy. Message-ID: <Pine.GSO.4.05.9812201756250.16616-100000@echonyc.com> In-Reply-To: <Pine.BSF.4.05.9812201621560.6331-100000@bright.fx.genx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 20 Dec 1998, Alfred Perlstein wrote: > Or.... what i'm now thinking is that once a process enters the kernel it > must run until it exits the system call. I have a problem with this > though, processes such as nfsiod/nfsd enter the kernel through a syscall > and never exit (according to design and implementation) how then are other > processes allowed into the kernel? As I understand it, more than one process can be in the kernel as long as all but one are asleep. That's why the kernel stack is per-process instead of per-system. I'm not sure about your splfoo() question. I suspect that kernel code is not supposed to sleep while interrupts are blocked. Chuck Youse told me that interrupts on the i386 use a mask instead of a level, so it may be that a process can sleep in the kernel with an interrupt blocked as long as no one else will be needing that particular interrupt. But this is pure speculation. Ben "You have your mind on computers, it seems." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.05.9812201756250.16616-100000>