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

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


In message: <20060526055424.GG49081 at funkthat.com>
            John-Mark Gurney <gurney_j at resnet.uoregon.edu> 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..

Warner


More information about the cvs-src mailing list