From owner-freebsd-fs Thu Sep 7 18:11:14 2000 Delivered-To: freebsd-fs@freebsd.org Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.80]) by hub.freebsd.org (Postfix) with ESMTP id 506AC37B422 for ; Thu, 7 Sep 2000 18:11:10 -0700 (PDT) Received: (from grog@localhost) by wantadilla.lemis.com (8.11.0/8.9.3) id e881Awf20601; Fri, 8 Sep 2000 10:40:58 +0930 (CST) (envelope-from grog) Date: Fri, 8 Sep 2000 10:40:58 +0930 From: Greg Lehey To: Christopher Stein Cc: freebsd-fs@FreeBSD.ORG Subject: Re: splbio() in buf_daemon() Message-ID: <20000908104058.M83632@wantadilla.lemis.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: ; from stein@eecs.harvard.edu on Thu, Sep 07, 2000 at 09:03:04PM -0400 Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.lemis.com/~grog X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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