>I'm not really the right person to be answering this. For any transfer you
>set up (which encompasses all of the SCSI stuff bar target mode and AENs) you
>should have all the resources ready and waiting in the interrupt, and so never
>require an in_interrupt allocation.
>However, for unsolicited transfer requests---the best example I can think of
>would be incoming network packets---it does make sense: You allocate with
>GFP_ATOMIC, if the kernel can fulfil the request, fine; if not, you drop the
>packet on the floor. Now, whether there's an unsolicited transfer that's
>going to require coherent memory, that I can't say. It does seem to be
>possible, though.
When a network device driver receives a packet, it gives the
network packet that it pre-allocated to the higher layers with
netif_rx() and then allocates a net packet with dev_alloc_skb(), but
that is non-consistent "streaming" memory. The consistent memory is
general for the DMA gather-scatter stub(s), which is (are) generally
reused since the receive for the packet that arrived has been
completed.
Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Milpitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
"Free Software For The Rest Of Us."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/