Date: Fri, 8 Sep 2000 10:40:58 +0930 From: Greg Lehey <grog@lemis.com> To: Christopher Stein <stein@eecs.harvard.edu> Cc: freebsd-fs@FreeBSD.ORG Subject: Re: splbio() in buf_daemon() Message-ID: <20000908104058.M83632@wantadilla.lemis.com> In-Reply-To: <Pine.OSF.4.20.0009072058110.2185-100000@wally>; from stein@eecs.harvard.edu on Thu, Sep 07, 2000 at 09:03:04PM -0400 References: <Pine.OSF.4.20.0009072058110.2185-100000@wally>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, 7 September 2000 at 21:03:04 -0400, Christopher Stein wrote: > > Hello, > > I am checking out the bufdaemon code in kern/vfs_bio.c > One of the first thing the bufdaemon does is splbio() > then promptly enters into a for (;;) loop, potentially > waiting in kproc_suspend_loop(). Where does it lower > the cpu interrupt level so block I/O interrupts will be > received and the system can function?? In kproc_suspend_loop: void kproc_suspend_loop(struct proc *p) { while (SIGISMEMBER(p->p_siglist, SIGSTOP)) { wakeup((caddr_t)&p->p_siglist); tsleep((caddr_t)&p->p_siglist, PPAUSE, "kpsusp", 0); } } tsleep() saves and releases the spl(). wakeup() then sets it again. Note that this has already gone away in SMPng; spl calls are now dummies. Greg -- Finger grog@lemis.com for PGP public key See complete headers for address and phone numbers To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000908104058.M83632>