> -----Original Message----- > From: David Rientjes [mailto:rientjes@xxxxxxxxxx] > Sent: Saturday, November 10, 2012 9:35 PM > To: KY Srinivasan > Cc: gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx; apw@xxxxxxxxxxxxx; > andi@xxxxxxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx; linux-mm@xxxxxxxxx; > kamezawa.hiroyuki@xxxxxxxxx; mhocko@xxxxxxx; hannes@xxxxxxxxxxx; > yinghan@xxxxxxxxxx > Subject: Re: [PATCH 1/1] mm: Export a function to read vm_committed_as > > On Sat, 10 Nov 2012, K. Y. Srinivasan wrote: > > > diff --git a/mm/mmap.c b/mm/mmap.c > > index 2d94235..e527239 100644 > > --- a/mm/mmap.c > > +++ b/mm/mmap.c > > @@ -89,6 +89,17 @@ int sysctl_max_map_count __read_mostly = > DEFAULT_MAX_MAP_COUNT; > > struct percpu_counter vm_committed_as ____cacheline_aligned_in_smp; > > > > /* > > + * A wrapper to read vm_committed_as that can be used by external > modules. > > + */ > > + > > +unsigned long read_vm_committed_as(void) > > +{ > > + return percpu_counter_read_positive(&vm_committed_as); > > +} > > + > > +EXPORT_SYMBOL_GPL(read_vm_committed_as); > > + > > +/* > > * Check that a process has enough memory to allocate a new virtual > > * mapping. 0 means there is enough memory for the allocation to > > * succeed and -ENOMEM implies there is not. > > This is precisely what I didn't want to see; I was expecting that this > function was going to have some name that would describe what a hypervisor > would use it for, regardless of its implementation and current use of > vm_committed_as. read_vm_committed_as() misses the entire point of the > suggestion and a few people have mentioned that they think this > implementation will evolve over time. > > Please think of what you're trying to determine in the code that will > depend on this and then convert the existing user in > drivers/xen/xen-selfballoon.c. David, Thanks for the prompt response. For the Linux balloon driver for Hyper-V, I need access to the metric that reflects the system wide memory commitment made by the guest kernel. In the Hyper-V case, this information is one of the many metrics used to drive the policy engine on the host. Granted, the interface name I have chosen here could be more generic; how about read_mem_commit_info(void). I am open to suggestions here. With regards to making changes to the Xen self ballooning code, I would like to separate that patch from the patch that implements the exported mechanism to access the memory commitment information. Once we settle on this patch, I can submit the patch to fix the Xen self ballooning driver to use this new interface along with the Hyper-V balloon driver that is currently blocked on resolving this issue. Regards, K. Y _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel