Messages in this thread |  | | Date | Sun, 20 May 2001 16:33:23 +0200 | From | Andrea Arcangeli <> | Subject | Re: alpha iommu fixes |
| |
On Mon, May 21, 2001 at 12:05:20AM +1000, Andrew Morton wrote: > Andrea Arcangeli wrote: > > > > [ cc'ed to l-k ] > > > > > DMA-mapping.txt assumes that it cannot fail. > > > > DMA-mapping.txt is wrong. Both pci_map_sg and pci_map_single failed if > > they returned zero. You either have to drop the skb or to try again later > > if they returns zero. > > > > Well this is news to me. No drivers understand this.
Yes, almost all drivers are buggy.
> How long has this been the case? What platforms?
Always and all platforms.
Just think about this, you have 2^32 of bus address space, and you theoritically can start I/O for more than 2^32 of phys memory, see? Whatever platform it is it will never be able to guarantee all mappings to succeed.
> For netdevices at least, the pci_map_single() call is always close > to the site of the skb allocation. So what we can do is to roll > them together and use the existing oom-handling associated with alloc_skb(), > assuming the driver has it...
Fine.
Andrea - 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/
|  |