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

next in thread | previous in thread | raw e-mail | index | archive | help
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.

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.

Regards,
Alan



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