> 
> We've encountered a situation where mbuf allocations inside a device
> interrupt handler fails occasionally...and it always seems to happen when
> rtalloc() is interrupted. Is this due to some sort of locking (rtalloc is
> run at splnet())...should it perhaps be run at splimp() to avoid this problem?

It sounds like your device's interrupt handler should be in the 'net' 
mask; you certainly shouldn't be doing anything that manipulates mbufs 
in a non-'net'-masked interrupt handler.

> What other causes for mbuf failures might reasonably be expected? Is
> allocating mbufs at interrupt time something that wasnt expected in the
> original system design?

The mbuf pool might be empty.

-- 
\\  The mind's the standard       \\  Mike Smith
\\  of the man.                   \\  msm...@freebsd.org
\\    -- Joseph Merrick           \\  msm...@cdrom.com




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to