Re: [RFC PATCH] fix problems with NETIF_F_HIGHDMA in networking drivers
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: 2010-02-27 12:00:41
Also in:
lkml
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: 2010-02-27 12:00:41
Also in:
lkml
On Saturday 27 February 2010 10:53:50 am David Miller wrote:
From: Robert Hancock <redacted> Date: Fri, 26 Feb 2010 21:08:04 -0600quoted
That seems like a reasonable approach to me. Only question is how to implement the check for DMA_64BIT. Can we just check page_to_phys on each of the pages in the skb to see if it's > 0xffffffff ? Are there any architectures where it's more complicated than that?On almost every platform it's "more complicated than that".
Mildly speaking, I see the real problem now and it is much higher in the software stack than networking..
This is the whole issue. What matters is the final DMA address and since we have IOMMUs and the like, it is absolutely not tenable to solve this by checking physical address attributes.
What's more we may not have IOMMU in place which creates really interesting scenarios for HIGHMEM=y and results in all kind of wonderful band-aids in particular device drivers. Having IOMMU (even if it is only a software one, i.e. this would mean swiotlb for x86-32/highmem) always in place would simplify things greatly.. -- Bartlomiej Zolnierkiewicz