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>
