Thread (19 messages) flat view 19 messages, 7 authors, 2006-12-07

Re: network devices don't handle pci_dma_mapping_error()'s

From: Rick Jones <hidden>
Date: 2006-12-07 02:18:55

David Miller wrote:
From: Stephen Hemminger <redacted>
Date: Wed, 6 Dec 2006 16:58:35 -0800

quoted
The more robust way would be to stop the queue (like flow control)
and return busy. You would need a timer though to handle the case
where some disk i/o stole all the mappings and then network device flow
blocked.

You need some kind of fairness, yes, that's why I suggested a
callback.  When your DMA allocation fails, you get into the rear of
the FIFO, when a free occurs, we callback starting from the head of
the FIFO.  You don't get removed from the FIFO unless at least one of
your DMA allocation retries succeed.
While tossing a TCP|UDP|SCTP|etc packet could be plusungood, especially 
if the IOMMU fills frequently (for some suitable definiton of 
frequently), is it really worth the effort to save say an ACK?

rick jones
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help