On Fri, Nov 21, 2014 at 03:06:56PM +0000, Wei Liu wrote:
> Signed-off-by: Wei Liu <wei.l...@citrix.com>
> Cc: Jan Beulich <jbeul...@suse.com>
> Cc: George Dunlap <george.dun...@eu.citrix.com>
> ---
>  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@lists.xen.org
> http://lists.xen.org/xen-devel

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

Reply via email to