Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Apr 2003 11:20:34 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        "Poul-Henning Kamp" <phk@phk.freebsd.dk>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: lots of malloc(M_WAITOK)'s in interrupt context from camisr 
Message-ID:  <16047.59842.60959.352839@grasshopper.cs.duke.edu>
In-Reply-To: <8764.1051715905@critter.freebsd.dk>
References:  <16047.59314.532227.475952@grasshopper.cs.duke.edu> <8764.1051715905@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help

Poul-Henning Kamp writes:
 > In message <16047.59314.532227.475952@grasshopper.cs.duke.edu>, Andrew Gallatin
 >  writes:
 > >
 > >John Baldwin writes:
 > >
 > > > If you need to do more work in your interrupt routine than just wakeups
 > > > and dinking with registers, you can always wake up a software interrupt
 > > > handler or some other random kthread to do things that take a long amount
 > >
 > >Dumb question: Exactly what is one allowed to do in an INTR_FAST
 > >interrupt context?  Obviously, you can't sleep.  But can you call
 > >wakeup()?
 > 
 > Calling wakeup() is just about it, but we should actually define it
 > more precisely in a suitable man-page.

That would be cool.  Since wakeup() uses a spinlock,  I assume that
spinlocks are generally OK too..

Drew



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