Messages in this thread | | | From | David Vrabel <> | Subject | [PATCHv3 0/4]: dma, x86, xen: reduce SWIOTLB usage in Xen guests | Date | Wed, 19 Nov 2014 16:01:57 +0000 |
| |
On systems where DMA addresses and physical addresses are not 1:1 (such as Xen PV guests), the generic dma_get_required_mask() will not return the correct mask (since it uses max_pfn).
Some device drivers (such as mptsas, mpt2sas) use dma_get_required_mask() to set the device's DMA mask to allow them to use only 32-bit DMA addresses in hardware structures. This results in unnecessary use of the SWIOTLB if DMA addresses are more than 32-bits, impacting performance significantly.
This series allows Xen PV guests to override the default dma_get_required_mask() with one that calculates the DMA mask from the maximum MFN (and not the PFN).
Changes in v3: - fix off-by-one in xen_dma_get_required_mask() - split ia64 changes into separate patch.
Changes in v2: - split x86 and xen changes into separate patches
David
| |