[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/5] xen/swiotlb: With more than 4GB on 64-bit, disable the native SWIOTLB.
On Tue, 31 Jul 2012, Konrad Rzeszutek Wilk wrote: > commit 21ef55f4ab2b6d63eb0ed86abbc959d31377853b > Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > Date: Fri Jul 27 20:16:00 2012 -0400 > > xen/swiotlb: With more than 4GB on 64-bit, disable the native SWIOTLB. > > If a PV guest is booted the native SWIOTLB should not be > turned on. It does not help us (we don't have any PCI devices) > and it eats 64MB of good memory. In the case of PV guests > with PCI devices we need the Xen-SWIOTLB one. > > [v1: Rewrite comment per Stefano's suggestion] > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > diff --git a/arch/x86/xen/pci-swiotlb-xen.c b/arch/x86/xen/pci-swiotlb-xen.c > index b6a5340..1c17227 100644 > --- a/arch/x86/xen/pci-swiotlb-xen.c > +++ b/arch/x86/xen/pci-swiotlb-xen.c > @@ -8,6 +8,11 @@ > #include <xen/xen.h> > #include <asm/iommu_table.h> > > +#ifdef CONFIG_X86_64 > +#include <asm/iommu.h> > +#include <asm/dma.h> > +#endif > + > int xen_swiotlb __read_mostly; > > static struct dma_map_ops xen_swiotlb_dma_ops = { > @@ -49,6 +54,15 @@ int __init pci_xen_swiotlb_detect(void) > * the 'swiotlb' flag is the only one turning it on. */ > swiotlb = 0; > > +#ifdef CONFIG_X86_64 > + /* pci_swiotlb_detect_4gb turns on native SWIOTLB if no_iommu == 0 > + * (so no iommu=X command line over-writes). > + * Considering that PV guests do not want the *native SWIOTLB* but > + * only Xen SWIOTLB it is not useful to us so set no_iommu=1 here. > + */ > + if (max_pfn > MAX_DMA32_PFN) > + no_iommu = 1; > +#endif > return xen_swiotlb; > } > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |