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

Re: [Xen-devel] [PATCH 2/3] xen: allow extra memory to be two regions

On 16/08/11 15:48, Konrad Rzeszutek Wilk wrote:
> On Tue, Aug 16, 2011 at 03:33:19PM +0100, David Vrabel wrote:
>> On 16/08/11 14:48, Konrad Rzeszutek Wilk wrote:
>>> On Tue, Aug 16, 2011 at 11:00:37AM +0100, David Vrabel wrote:
>>>> Allow the extra memory (used by the balloon driver) to be in two
>>>> regions (typically low and high memory).  This allows the balloon
>>>> driver to increase the number of available low pages (if the initial
>>>> number if pages is small).
>>>> As a side effect, the algorithm for building the e820 memory map is
>>>> simpler and more obviously correct as the map supplied by the
>>>> hypervisor is (almost) used as is.
>>> Hm, which is not always good. The setting of 'E820_RESERVED' and 
>>> 'E820_UNUSABLE',
>>> and realigning of start of balloon space at 4GB (if necessary) changes
>>> need to be preserved. You can look up the why if you run 'git annotate'
>>> and look at those lines - we had lots of time getting those right.
>> My understanding of the history is that the problems were caused by not
>> paying attention to the reserved regions reported in the machine memory
> That might have been a problem too, but this is specific to RAM regions.
>> map.  This proposed algorithm is careful to only alter RAM regions --
>> all reserved regions and gaps are preserved as-is.  I should add some
>> comments explaining this.
> We cut RAM regions down and the Linux code thought that they were "gap" spaces
> and used it as PCI I/O space.  Hence we marked them as unusable. We need
> that behavior.

Okay.  This behaviour is kept as well.

For example, on my test box with 8 GiB RAM with dom0 started with 752
MiB of initial pages and limited to 4 GiB.

[    0.000000]  Xen: 0000000000000000 - 000000000009e000 (usable)
[    0.000000]  Xen: 00000000000a0000 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000bf699000 (usable)
[    0.000000]  Xen: 00000000bf699000 - 00000000bf6af000 (reserved)
[    0.000000]  Xen: 00000000bf6af000 - 00000000bf6ce000 (ACPI data)
[    0.000000]  Xen: 00000000bf6ce000 - 00000000c0000000 (reserved)
[    0.000000]  Xen: 00000000e0000000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fe000000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 0000000140967000 (usable)
[    0.000000]  Xen: 0000000140967000 - 0000000240000000 (unusable)


Xen-devel mailing list



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