Re: [PATCH 3/3] x86/PCI: limit the size of the 64bit BAR to 256GB

From: Bjorn Helgaas
Date: Wed Dec 06 2017 - 14:51:26 EST


On Wed, Nov 29, 2017 at 03:12:29PM +0100, Christian König wrote:
> This avoids problems with Xen which hides some memory resources from the
> OS and potentially also allows memory hotplug while this fixup is
> enabled.

The patch itself is OK, but the changelog doesn't say enough about
what the problem is. I have no clue about what the Xen issue is or
why limiting the BAR to 256GB avoids the problem or what this has to
do with memory hotplug.

For example, we should be able to tell why 256GB is the right number.
Maybe there's something specific in Xen you can reference? Maybe an
example of what goes wrong with some details?

> Signed-off-by: Christian König <christian.koenig@xxxxxxx>
> ---
> arch/x86/pci/fixup.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c
> index c817ab85dc82..149adbc7f2a3 100644
> --- a/arch/x86/pci/fixup.c
> +++ b/arch/x86/pci/fixup.c
> @@ -701,7 +701,7 @@ static void pci_amd_enable_64bit_bar(struct pci_dev *dev)
> res->name = "PCI Bus 0000:00";
> res->flags = IORESOURCE_PREFETCH | IORESOURCE_MEM |
> IORESOURCE_MEM_64 | IORESOURCE_WINDOW;
> - res->start = 0x100000000ull;
> + res->start = 0xbd00000000ull;
> res->end = 0xfd00000000ull - 1;
>
> /* Just grab the free area behind system memory for this */
> --
> 2.11.0
>