Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Nov 2004 02:51:13 -0800
From:      Alfred Perlstein <alfred@freebsd.org>
To:        Alan Cox <alc@cs.rice.edu>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/vm vm_zeroidle.c
Message-ID:  <20041101105113.GS24892@elvis.mu.org>
In-Reply-To: <20041101045331.GP16728@cs.rice.edu>
References:  <200410311932.i9VJWvmo058193@repoman.freebsd.org> <20041101031317.GK24892@elvis.mu.org> <20041101045331.GP16728@cs.rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
* Alan Cox <alc@cs.rice.edu> [041031 20:53] wrote:
> On Sun, Oct 31, 2004 at 07:13:17PM -0800, Alfred Perlstein wrote:
> > * Alan Cox <alc@FreeBSD.org> [041031 11:33] wrote:
> > > alc         2004-10-31 19:32:57 UTC
> > > 
> > >   FreeBSD src repository
> > > 
> > >   Modified files:
> > >     sys/vm               vm_zeroidle.c 
> > >   Log:
> > >   Introduce a Boolean variable wakeup_needed to avoid repeated, unnecessary
> > >   calls to wakeup() by vm_page_zero_idle_wakeup().
> > >   
> > >   Revision  Changes    Path
> > >   1.31      +9 -2      src/sys/vm/vm_zeroidle.c
> > 
> > Why not switch to a cv?
> 
> Calling cv_signal repeatedly would be no better than calling wakeup()
> repeatedly.  Either way, a Boolean variable is desirable to prevent
> unnecessary calls.

Yah, I figured there would be something in the cv code to optimize
the "no waiters" case.

> As for the question of msleep()/wakeup() vs. cv_wait*()/cv_signal(),
> cv_wait*() has no analogue to msleep()'s PDROP.  In this case, there
> is no need to hold the lock after returning from the sleep.  So,
> msleep(PDROP) is better suited to this case.

Didn't see that.

thank you,
-Alfred



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041101105113.GS24892>