Re: git: 5317480967bf - main - sound: Remove CHN_F_SLEEPING

From: Christos Margiolis <christos_at_freebsd.org>
Date: Tue, 26 Nov 2024 20:17:57 UTC
John Baldwin wrote:
> On 11/26/24 06:48, Christos Margiolis wrote:
> > The branch main has been updated by christos:
> > 
> > URL: https://cgit.FreeBSD.org/src/commit/?id=5317480967bfc8bf678e4da3fce81bcb3f5b7836
> > [...]
> >   				"\004TRIGGERED"				\
> > +				/* \006 */				\
> >   				"\005NOTRIGGER"				\
> > -				"\006SLEEPING"				\
> >   				"\007NBIO"				\
> 
> Hmm, new comment is mis-sorted?

Yes. Oops.

> > [...]
> > +			if (ch->intr_cv.cv_waiters == 0 && CHN_STOPPED(ch) &&
> > +			    ch->inprog == 0) {
> 
> I'm not super excited about reading cv_waiters directly.  Generally speaking
> 'struct cv' is opaque to the rest of the kernel.  Maybe add a little inline
> routine or macro cv_waiters() that returns this value instead?  Then it can
> be documented in condvar.9 along with the caveats about when it is safe to
> use.

I see we already have cv_wmesg() in sys/sys/condvar.h to access
cv_description. Maybe we could add a cv_waiters() macro in there as
well?

Christos