Re: makedumpfile memory usage grows with system memory size

Vivek Goyal
2012-04-10T12:52:13Z

On Tue, Apr 10, 2012 at 08:58:24AM +0900, HATAYAMA Daisuke wrote:
> From: Vivek Goyal <vgoyal@redhat.com>
> Subject: Re: makedumpfile memory usage grows with system memory size
> Date: Mon, 9 Apr 2012 14:57:28 -0400
>
> > On Fri, Apr 06, 2012 at 06:29:40PM +0900, HATAYAMA Daisuke wrote:
> >
> > [..]
> >> I agree. On the other hand, there is one more thing to consider. The
> >> value of order is in private member of the page descripter. Now
> >> there's no information for private member in VMCOREINFO. If we choose
> >> this method and delete the current one, it's necessary to prepare
> >> vmlinux file for old kernels.
> >
> > What information do you need to access "private" member of "struct page".
> > offset? Can't we extend VMCOREINFO to export this info too?
> >
>
> Yes, I mean offset of private member in page structure. The member
> contains order of the buddy. Extending VMCOREINFO is easy, but we
> cannot do that for old kernels, for which vmlinux is needed
> separately.
>
> This might be the same as what Kumagai-san says he doesn' want to
> change behaviour on kernel versions.

We can retain both the mechanisms. For newer kernels which export
page->private offset, we can walk through memmap array and prepare a
chunk of bitmap and discard it. For older kernels we can continue to walk
through free pages list and prepare big bitmap in userspace.

It is desirable to keep mechanism same across kernel versions, but
change is unavoidable as things evolve in newer kernels. So at max
we can provide backward compatibility with old kernels.

Thanks
Vivek