Re: bus_dmamem_alloc() can't handle large NOWAIT requests

From: Peter Jeremy <PeterJeremy_at_optushome.com.au>
Date: Mon, 28 Feb 2005 18:43:30 +1100
On Sun, 2005-Jan-09 12:11:32 +1100, Peter Jeremy wrote:
>According to bus_dma(9), bus_dmamem_alloc() can be invoked with a
>flag BUS_DMA_NOWAIT to indicate that sleep()ing is not allowed.
>
>At least on the i386, if the requested size exceeds 1 page (or some
>other cases), the requested memory will be allocated via contigmalloc().
>
>bus_dmamem_alloc() maps BUS_DMA_NOWAIT to M_NOWAIT but contigmalloc()
>does not support M_NOWAIT and will tsleep() under some conditions.

Since I couldn't find any reference to this problem in gnats, I've
raised kern/78179 so it doesn't get lost.

-- 
Peter Jeremy
Received on Mon Feb 28 2005 - 06:43:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:29 UTC