Re: 3.0.0-rc2: Xen: High amount of kernel "reserved" memory, about33% in 256MB DOMU [workaround included]

From: Konrad Rzeszutek Wilk
Date: Tue Jun 14 2011 - 15:48:55 EST


On Tue, Jun 14, 2011 at 02:10:55AM +0200, Tobias Diedrich wrote:
> Konrad Rzeszutek Wilk wrote:
> > On Mon, Jun 13, 2011 at 10:50:03PM +0200, Tobias Diedrich wrote:
> > > Hi,
> > >
> > > another issue I'm seeing with 3.0-rc2 and Xen is that there is an
> > > unexpectedly high amount of kernel reserved memory.
> >
> > >
> > > I suspect that Linux allocates page table entries and corresponding
> > > data structures for the whole 6GB areas of the provided 'physical
> > > RAM map' even though it has rather big unusable holes in it.
> >
> > Can you run it with 'memblock=debug debug loglevel=8 initcall_debug'?
> > It should tell you where it tries (and for much space) the pagetables.

Ugh. In the meantime I would suggest you do the combination of:

Xen hypervisor line: "dom0_mem=max:512M" and on the Linux line: "mem=512M" to
cut down on the extra pagetable creation..

.. snip ..
> [ 0.000000] init_memory_mapping: 0000000000000000-0000000010000000
> [ 0.000000] 0000000000 - 0010000000 page 4k
> [ 0.000000] kernel direct mapping tables up to 10000000 @ ff7e000-10000000
> [ 0.000000] memblock_x86_reserve_range: [0x0ff7e000-0x0ffe9fff] PGTABLE
> [ 0.000000] xen: setting RW the range ffea000 - 10000000

So ff7e->ffea pages, or 432kBytes
> [ 0.000000] init_memory_mapping: 0000000100000000-000000016fef0000
> [ 0.000000] 0100000000 - 016fef0000 page 4k
> [ 0.000000] kernel direct mapping tables up to 16fef0000 @ f3f7000-ff7e000
> [ 0.000000] memblock_x86_reserve_range: [0x0f3f7000-0x0f778fff] PGTABLE
> [ 0.000000] xen: setting RW the range f779000 - ff7e000

And here from f3f7 through f779, so 3592kB or 3.5MB for un-used potential balloon memory.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/