Skip site navigation (1)Skip section navigation (2)
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>