Re: [PATCH 1/2] mm: Export vm_committed_as

Andrew Morton
2012-11-08T22:05:33Z

On Thu, 8 Nov 2012 22:01:33 +0000
KY Srinivasan <kys@microsoft.com> wrote:

>
>
> > -----Original Message-----
> > From: David Rientjes [mailto:rientjes@google.com]
> > Sent: Monday, November 05, 2012 5:33 PM
> > To: KY Srinivasan
> > Cc: Andrew Morton; Greg KH; olaf@aepfle.de; linux-kernel@vger.kernel.org;
> > andi@firstfloor.org; apw@canonical.com; devel@linuxdriverproject.org; linux-
> > mm@kvack.org; Hiroyuki Kamezawa; Michal Hocko; Johannes Weiner; Ying Han
> > Subject: RE: [PATCH 1/2] mm: Export vm_committed_as
> >
> > On Mon, 5 Nov 2012, KY Srinivasan wrote:
> >
> > > The Hyper-V host has a policy engine for managing available physical memory
> > across
> > > competing virtual machines. This policy decision is based on a number of
> > parameters
> > > including the memory pressure reported by the guest. Currently, the pressure
> > calculation is
> > > based on the memory commitment made by the guest. From what I can tell,
> > the ratio of
> > > currently allocated physical memory to the current memory commitment made
> > by the guest
> > > (vm_committed_as) is used as one of the parameters in making the memory
> > balancing decision on
> > > the host. This is what Windows guests report to the host. So, I need some
> > measure of memory
> > > commitments made by the Linux guest. This is the reason I want export
> > vm_committed_as.
> > >
> >
> > I don't think you should export the symbol itself to modules but rather a
> > helper function that returns s64 that just wraps
> > percpu_counter_read_positive() which your driver could use instead.
> >
> > (And why percpu_counter_read_positive() returns a signed type is a
> > mystery.)
>
> Yes, this makes sense. I just want to access (read) this metric. Andrew, if you are willing to
> take this patch, I could send one.

Sure. I suppose that's better, although any module which modifies
committed_as would never pass review (rofl).