[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 21.11.14 at 20:56, <konrad.wilk@xxxxxxxxxx> wrote:
> On Fri, Nov 21, 2014 at 03:06:56PM +0000, Wei Liu wrote:
>> --- 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.

The problem then being that two code pieces pretty far apart from
one another need to be kept in perfect sync. Not really nice in
terms of maintainability. I'd really prefer hvmloader to re-write the
vNUMA info (on real hardware firmware also needs to take care of
the memory holes - there's no magic external entity there either).

Jan


_______________________________________________
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®.