bus_dmamem_alloc() and BUS_DMA_WAITOK

John Baldwin jhb at freebsd.org
Fri Feb 13 07:40:00 PST 2009


On Friday 13 February 2009 9:22:05 am Patrick Lamaizière wrote:
> Hello,
> 
> I would like to know if it is safe to use the BUS_DMA_WAITOK flag with
> bus_dmamem_alloc(), in the context of the device_attach routine? Many
> drivers use BUS_DMA_NOWAIT.

Yes, it is ok to use in an attach routine.

> I need a 32Ko buffer and on low memory my driver cannot attach
> (bus_dmamem_alloc returns ENOMEM). Will BUS_DMA_WAITOK help in this
> case?

I'm not sure if it will really help, though.  You might end up blocking 
forever (or a long time) until a 32k region is freed.

-- 
John Baldwin


More information about the freebsd-hackers mailing list