[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 Tue, Aug 16, 2011 at 04:03:01PM +0100, David Vrabel wrote: > 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. So dom0_mem=max:4GB,725MB ? > > [ 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) > What did it look before? What does "Memory:" look before and after? > David _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |