> -----Original Message----- > From: KY Srinivasan > Sent: Sunday, November 11, 2012 4:24 AM > To: 'David Rientjes' > 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 > > > > > -----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. David, I want to finalize this ASAP. Please give me your feedback so I can move this forward. Regards, K. Y -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href