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

From: Rick Jones <[email-masked]>
Date: Wed, 06 Dec 2006 18:18:52 -0800

David Miller wrote:
> From: Stephen Hemminger <[email-masked]>
> Date: Wed, 6 Dec 2006 16:58:35 -0800
> 
> 
>>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