Re: git: 5317480967bf - main - sound: Remove CHN_F_SLEEPING
- In reply to: John Baldwin : "Re: git: 5317480967bf - main - sound: Remove CHN_F_SLEEPING"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 27 Nov 2024 15:33:42 UTC
John Baldwin wrote:
> On 11/26/24 12:17, Christos Margiolis wrote:
> > 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?
>
> Yes, that is where I would add it.
https://reviews.freebsd.org/D47779
https://reviews.freebsd.org/D47780
Christos