RE: [PATCH 1/1] mm: Export a function to read vm_committed_as

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----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



--
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


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]