I thought doing a memory free is always safe in an interrupt context. Now
it seems doing an allocation of memory is safe too. Does MCLGET() call
vm_page_alloc() or malloc() eventually? If so, it might block.
-Zhihui
On Thu, 26 Jul 2001, Terry Lambert wrote:
> Bosko Milekic wrote:
> > > > Er, wouldn't that be the only way for cards to refil thier DMA
> > > > recieve buffers?
> > >
> > > Look at the Tigon II and FXP drivers. The allocations in
> > > the macros turn into m_get, not m_clusterget.
> >
> > From if_fxp.c (fxp_add_rfabuf(), sometimes called from fxp_intr()):
> >
> > MGETHDR(...); <-- get mbuf
> > if (m != NULL) {
> > MCLGET(...); <-- get cluster
> > ...
> > }
>
> Yes, I had misread things. Alfred pointed this out to me in
> person, earlier. I had been reading the jumbogram code,
> which uses a seperate buffer space, and then just incorrectly
> assumed.
>
> Thanks for getting thecorrection into the list archives, so
> that future readers will be less confused: you spared me
> having to do the same.
>
> -- Terry
>
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-hackers" in the body of the message
>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message