[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 14/19] hvmloader: disallow memory relocation when vNUMA is enabled



On Fri, Nov 21, 2014 at 03:06:56PM +0000, Wei Liu wrote:
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> Cc: Jan Beulich <JBeulich@xxxxxxxx>
> Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> ---
>  tools/firmware/hvmloader/pci.c |   13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/tools/firmware/hvmloader/pci.c b/tools/firmware/hvmloader/pci.c
> index 4e8d803..d7ea740 100644
> --- a/tools/firmware/hvmloader/pci.c
> +++ b/tools/firmware/hvmloader/pci.c
> @@ -88,6 +88,19 @@ void pci_setup(void)
>      printf("Relocating guest memory for lowmem MMIO space %s\n",
>             allow_memory_relocate?"enabled":"disabled");
>  
> +    /* Disallow low memory relocation when vNUMA is enabled, because
> +     * relocated memory ends up off node. Further more, even if we
> +     * dynamically expand node coverage in hvmloader, low memory and
> +     * high memory may reside in different physical nodes, blindly
> +     * relocates low memory to high memory gives us a sub-optimal
> +     * configuration.

And this is done in hvmloader, so the toolstack has no inkling that
we need to relocate memory to make space for the PCI.

In such case I would not have this check here. Instead put it in 
libxl and disallow vNUMA with PCI passthrough.

And then the fix is to take the logic that is in hvmloader for PCI
BAR size relocation and move it in libxl. Then it can construct the
proper vNUMA topology and also fix an outstanding QEMU-xen bug.

> +     */
> +    if ( hvm_info->nr_nodes != 0 && allow_memory_relocate )
> +    {
> +        allow_memory_relocate = false;
> +        printf("vNUMA enabled, relocating guest memory for lowmem MMIO space 
> disabled\n");
> +    }
> +
>      s = xenstore_read("platform/mmio_hole_size", NULL);
>      if ( s )
>          mmio_hole_size = strtoll(s, NULL, 0);
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.