cvs commit: src/sys/vm vm_zeroidle.c
alc at cs.rice.edu
Sun Oct 31 20:53:32 PST 2004
On Sun, Oct 31, 2004 at 07:13:17PM -0800, Alfred Perlstein wrote:
> * Alan Cox <alc at 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
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.
More information about the cvs-src