Messages in this thread | | | Date | Mon, 15 Sep 2008 10:55:45 -0700 | From | "Paul Menage" <> | Subject | Re: [PATCH] cgroups: don't depend on CONFIG_MM_OWNER |
| |
On Sun, Sep 14, 2008 at 10:37 AM, Pekka J Enberg <penberg@cs.helsinki.fi> wrote: > From: Pekka Enberg <penberg@cs.helsinki.fi> > > The revoke patches, for example, select CONFIG_MM_OWNER independently of > cgroups. Therefore, don't depend on CONFIG_MM_OWNER in cgroup specific code.
Yes, the existing code doesn't seem quite right - if !CONFIG_MM_OWNER then we don't need to even define a trivial version of cgroup_mm_owner_callbacks()
But your patch is too specific - tying the existance of cgroup_mm_owner_callbacks() to the memory controller would break other controllers (e.g. the memrlimit or swap controllers, which also want to use it)
How about:
- any cgroup that needs mm-owner callbacks selects an option CGROUP_MM_OWNER_CALLBACK
- CGROUP_MM_OWNER_CALLBACK selects MM_OWNER and triggers the definition of a non-trivial cgroup_mm_owner_callbacks() function
Paul
> > Cc: Paul Menage <menage@google.com> > Cc: Balbir Singh <balbir@linux.vnet.ibm.com> > Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> > --- > include/linux/cgroup.h | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h > index c98dd7c..e270ec3 100644 > --- a/include/linux/cgroup.h > +++ b/include/linux/cgroup.h > @@ -413,10 +413,10 @@ static inline int cgroupstats_build(struct cgroupstats *stats, > > #endif /* !CONFIG_CGROUPS */ > > -#ifdef CONFIG_MM_OWNER > +#ifdef CONFIG_CGROUP_MEM_RES_CTLR > extern void > cgroup_mm_owner_callbacks(struct task_struct *old, struct task_struct *new); > -#else /* !CONFIG_MM_OWNER */ > +#else /* !CONFIG_CGROUP_MEM_RES_CTLR */ > static inline void > cgroup_mm_owner_callbacks(struct task_struct *old, struct task_struct *new) > { > -- > 1.5.4.3 > >
| |