[Xen-devel] [PATCH v2 09/20] xen/biomerge: Don't allow biovec to be merge when Linux is not using 4KB page
Julien Grall
julien.grall at citrix.com
Wed Jul 15 01:56:50 PDT 2015
Hi Konrad,
On 10/07/2015 21:12, Konrad Rzeszutek Wilk wrote:
> On Thu, Jul 09, 2015 at 09:42:21PM +0100, Julien Grall wrote:
>> When Linux is using 64K page granularity, every page will be slipt in
>> multiple non-contiguous 4K MFN (page granularity of Xen).
>
> But you don't care about that on the Linux layer I think?
In general use case (i.e arch agnostic) we care about it. We don't want
to merge 2 biovec if they are not living on the same MFNs.
> As in, is there an SWIOTLB that does PFN to MFN and vice-versa
> translation?
>
> I thought that ARM guests are not exposed to the MFN<->PFN logic
> and trying to figure that out to not screw up the DMA engine
> on a PCIe device slurping up contingous MFNs which don't map
> to contingous PFNs?
I will let these 2 questions for Stefano. He knows better than me
swiotlb for ARM.
So far, I skipped swiotlb implementation for 64KB page granularity as
I'm not sure what to do when a page is split across multiple MFNs.
Although I don't think this can happen with this specific series as:
- The memory is a direct mapping so any Linux page is using contiguous
MFNs.
- Foreign mapping is using the 4KB of the Linux page. This is for an
easier implementation.
For the latter, I plan to work on using the Linux page to map multiple
foreign gfn. I have to talk with Stefano about it how to handle it.
Regards,
--
Julien Grall
More information about the linux-arm-kernel
mailing list