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]

Reply via email to