lots of malloc(M_WAITOK)'s in interrupt context from camisr

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Apr 30 08:40:40 PDT 2003


In message <16047.59842.60959.352839 at grasshopper.cs.duke.edu>, Andrew Gallatin 
writes:
>
>Poul-Henning Kamp writes:
> > In message <16047.59314.532227.475952 at 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..

I'm not sure you should infer too much yet...

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-arch mailing list