Date: Wed, 01 Mar 2000 11:00:42 +0800 From: Peter Wemm <peter@netplex.com.au> To: Bernd Walter <ticso@cicely5.cicely.de> Cc: Alfred Perlstein <bright@wintelcom.net>, Greg Lehey <grog@lemis.com>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, Bernd Walter <ticso@cicely.de> Subject: Re: cvs commit: src/sys/dev/vinum vinumrequest.c Message-ID: <20000301030042.125021CE2@overcee.netplex.com.au> In-Reply-To: Message from Bernd Walter <ticso@cicely5.cicely.de> of "Wed, 01 Mar 2000 01:04:01 %2B0100." <20000301010400.A30259@cicely5.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Bernd Walter wrote: > On Tue, Feb 29, 2000 at 01:17:37AM -0800, Alfred Perlstein wrote: > > * Greg Lehey <grog@lemis.com> [000229 00:37] wrote: > > > On Tuesday, 29 February 2000 at 0:25:00 -0800, Alfred Perlstein wrote: > > > > * Greg Lehey <grog@FreeBSD.org> [000228 22:45] wrote: > > > >> grog 2000/02/28 22:14:45 PST > > > >> > > > >> Modified files: > > > >> sys/dev/vinum vinumrequest.c > > > >> Log: > > > >> launch_requests: If too many requests are active, include PCATCH in > > > >> the tsleep call flags. > > > >> > > > >> Submitted-by: Bernd Walter <ticso@cicely.de> > > > > > > > > grrr! > > > > > > > > while ((drive->active >= DRIVE_MAXACTIVE) /* it has t oo much to do already, */ > > > >>> (vinum_conf.active >= VINUM_MAXACTIVE)) /* or too many requests glo bally */ > > > > - tsleep(&launch_requests, PRIBIO, "vinbuf", 0); /* w ait for it to subside */ > > > > + tsleep(&launch_requests, PRIBIO | PCATCH, "vinbuf", 0); /* wait for it to subside */ > > > > drive->active++; > > > > > > > > please back this out, i've already fixed this twice, if you actually > > > > get a signal you'll spin in the kernel. > > > > > > > > the correct solution must check the return from tsleep and actually > > > > do something with an error return, for now we've agreed to ignore > > > > signals until a safe return can be implemented. PCATCH must be > > > > removed. > > > > > > OK, make a suggestion. > > > > Remove PCATCH. :) > > > > > > > > The trouble is, you and Bernd keep asking for opposite things, and I > > > was getting out of phase on the whole matter. In any case, another > > > change I made (MAXREQUESTS = 30000) means that we'll never call tsleep > > > here. > > > > The point is that PCATCH never works here, and that there shouldn't > > be landminds in the code, if someone where to reduce MAXREQUESTS > > to test something they'd have a good chance of getting hit. > > It never worked here too. > But what do you want? Greg already removed it: > bash-2.03$ cd /var/d7/src-2000-02-12/src/sys/dev/vinum > bash-2.03$ grep PCATCH * > vinumconfig.c: if ((error = tsleep(&vinum_conf, PRIBIO | PCATCH, "vincfg", 0 )) != 0) Data point, after a cvsup 5 minutes ago: peter@overcee[10:59am]~src/sys/dev/vinum-290> cvs -q up -A peter@overcee[10:59am]~src/sys/dev/vinum-291> grep PCATCH * vinumconfig.c: if ((error = tsleep(&vinum_conf, PRIBIO | PCATCH, "vincfg", 0)) != 0) vinumrequest.c: tsleep(&launch_requests, PRIBIO | PCATCH, "vinbuf", 0); /* wait for it to subside */ It's still there. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000301030042.125021CE2>