|
|
|
|
|
|
|
|
|
|
xen-devel
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)
David
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|