cvs commit: src/sys/dev/syscons/apm apm_saver.c src/sys/i386/bios apm.c apm.h

M. Warner Losh imp at
Thu May 25 23:10:26 PDT 2006

In message: <20060526055424.GG49081 at>
            John-Mark Gurney <gurney_j at> writes:
: Warner Losh wrote this message on Thu, May 25, 2006 at 22:06 -0600:
: > > In the past, I've been against mandating that callouts/timeouts/generic 
: > > taskqueues should not be allowed to sleep.  However, after looking over
: > > the history of this problem as well as others, it seems that it's just
: > > too easy for driver authors to make bad assumptions and wind up with a
: > > priority inversion/deadlock like this.  It would be relatively trivial
: > > to mark these contexts as being non-sleepable and have the msleep code
: > > enforce it, like is done with ithreads.  What do you think?  Anyways,
: > > thanks for looking at this and fixing it.
: > 
: > At the very least, we should mandate that timeouts are a non-sleepable
: > event.  Sleeping just doesn't work there.  taskqueues, I'm less sure
: > of, since short sleeps there work, but do degrade performance.  I like
: > this idea.
: People worried about things like this should create their own thread
: for their taskqueue..  It's quite easy (simple macro declaration), and
: I did that for handling kq in kq...

The problem isn't people that are worried about these things...  It is
those that don't worry about them..


More information about the cvs-src mailing list