Pradeepg writes:
> In ReceivePath of the packets first Rx Buffers are allocated,
> and the DMA address of this buffers is passed to the respective
> hardware engine and we use virtual address to pass it to
> stack ( as a mblk) .
> So in this case the buffers are allocated
> using combination of ddi functions
> 1.ddi_dma_mem_alloc for allocating buffers.
> 2 .ddi_dma_addr_bind_handle for getting the physical ( DMA)
> address of the buffers so that we can pass this to the
> hardware .
>
> To avoid all this if we can have a paging mechanism like
Most drivers allocate DMA'able rx buffers once. After a frame is
received, you either copy from the DMA'able rx buffer to a freshly
allocated mblk, or loan the DMA'able buffer to the stack by attaching
it to an mblk using {d,}esballoc().
Drew
_______________________________________________
networking-discuss mailing list
[email protected]