mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.cz>
To: Oleg Nesterov <oleg@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Peter Chiang <pchiang@nvidia.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Balbir Singh <bsingharora@gmail.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	"ccross@android.com" <ccross@android.com>,
	"lizefan@huawei.com" <lizefan@huawei.com>,
	"tj@kernel.org" <tj@kernel.org>, "pavel@ucw.cz" <pavel@ucw.cz>,
	"ebiederm@xmission.com" <ebiederm@xmission.com>,
	"guillaume@morinfr.org" <guillaume@morinfr.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/1] memcg: kill start_kernel()->mm_init_owner(init_mm)
Date: Tue, 22 Apr 2014 15:23:55 +0200	[thread overview]
Message-ID: <20140422132355.GO29311@dhcp22.suse.cz> (raw)
In-Reply-To: <20140418191259.GA7413@redhat.com>

On Fri 18-04-14 21:12:59, Oleg Nesterov wrote:
> On 04/18, Oleg Nesterov wrote:
> >
> > OTOH, mm->owner is used by mm/memcontrol.c, so perhaps the prefix is fine?
> >
> > I do not even understand why do we have CONFIG_MM_OWNER, perhaps it should
> > die?
> 
> Seriously what do you think about the patch below? Afaics CONFIG_MM_OWNER
> is pointless.

Yes, I do not see any reason for a separate config when it has a single
user which cannot work without it. So feel free to add my
Acked-by: Michal Hocko <mhocko@suse.cz>

to the patch with your s-o-b and a simple changelog explaining there the
config option didn't have any user outside of MEMCG which cannot work
without it.

> And I just noticed start_kernel()->mm_init_owner(). It looks simply wrong
> even if this is harmless, or I missed something?
> 
> Could you review 1/1 as well?
> 
> Oleg.
> ---
> 
> diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
> index 8967e20..de16272 100644
> --- a/include/linux/mm_types.h
> +++ b/include/linux/mm_types.h
> @@ -406,7 +406,7 @@ struct mm_struct {
>  	spinlock_t			ioctx_lock;
>  	struct kioctx_table __rcu	*ioctx_table;
>  #endif
> -#ifdef CONFIG_MM_OWNER
> +#ifdef CONFIG_MEMCG
>  	/*
>  	 * "owner" points to a task that is regarded as the canonical
>  	 * user/owner of this mm. All of the following must be true in
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 82fe3da..570a325 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -2947,7 +2947,7 @@ static inline void inc_syscw(struct task_struct *tsk)
>  #define TASK_SIZE_OF(tsk)	TASK_SIZE
>  #endif
>  
> -#ifdef CONFIG_MM_OWNER
> +#ifdef CONFIG_MEMCG
>  extern void mm_update_next_owner(struct mm_struct *mm);
>  extern void mm_init_owner(struct mm_struct *mm, struct task_struct *p);
>  #else
> @@ -2958,7 +2958,7 @@ static inline void mm_update_next_owner(struct mm_struct *mm)
>  static inline void mm_init_owner(struct mm_struct *mm, struct task_struct *p)
>  {
>  }
> -#endif /* CONFIG_MM_OWNER */
> +#endif /* CONFIG_MEMCG */
>  
>  static inline unsigned long task_rlimit(const struct task_struct *tsk,
>  		unsigned int limit)
> diff --git a/init/Kconfig b/init/Kconfig
> index 765018c..143119e 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -933,7 +933,6 @@ config RESOURCE_COUNTERS
>  config MEMCG
>  	bool "Memory Resource Controller for Control Groups"
>  	depends on RESOURCE_COUNTERS
> -	select MM_OWNER
>  	select EVENTFD
>  	help
>  	  Provides a memory resource controller that manages both anonymous
> @@ -951,9 +950,6 @@ config MEMCG
>  	  disable memory resource controller and you can avoid overheads.
>  	  (and lose benefits of memory resource controller)
>  
> -	  This config option also selects MM_OWNER config option, which
> -	  could in turn add some fork/exit overhead.
> -
>  config MEMCG_SWAP
>  	bool "Memory Resource Controller Swap Extension"
>  	depends on MEMCG && SWAP
> @@ -1173,9 +1169,6 @@ config SCHED_AUTOGROUP
>  	  desktop applications.  Task group autogeneration is currently based
>  	  upon task session.
>  
> -config MM_OWNER
> -	bool
> -
>  config SYSFS_DEPRECATED
>  	bool "Enable deprecated sysfs features to support old userspace tools"
>  	depends on SYSFS
> diff --git a/kernel/exit.c b/kernel/exit.c
> index 429659c..e5c4668 100644
> --- a/kernel/exit.c
> +++ b/kernel/exit.c
> @@ -313,7 +313,7 @@ kill_orphaned_pgrp(struct task_struct *tsk, struct task_struct *parent)
>  	}
>  }
>  
> -#ifdef CONFIG_MM_OWNER
> +#ifdef CONFIG_MEMCG
>  /*
>   * A task is exiting.   If it owned this mm, find a new owner for the mm.
>   */
> @@ -399,7 +399,7 @@ assign_new_owner:
>  	task_unlock(c);
>  	put_task_struct(c);
>  }
> -#endif /* CONFIG_MM_OWNER */
> +#endif /* CONFIG_MEMCG */
>  
>  /*
>   * Turn us into a lazy TLB process if we
> diff --git a/kernel/fork.c b/kernel/fork.c
> index 54a8d26..ed75cf5 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -1099,12 +1099,12 @@ static void rt_mutex_init_task(struct task_struct *p)
>  #endif
>  }
>  
> -#ifdef CONFIG_MM_OWNER
> +#ifdef CONFIG_MEMCG
>  void mm_init_owner(struct mm_struct *mm, struct task_struct *p)
>  {
>  	mm->owner = p;
>  }
> -#endif /* CONFIG_MM_OWNER */
> +#endif /* CONFIG_MEMCG */
>  
>  /*
>   * Initialize POSIX timer handling for a single task.
> 

-- 
Michal Hocko
SUSE Labs

  parent reply	other threads:[~2014-04-22 13:24 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-16  3:02 [PATCH] mm : Avoid candidate task is equal to current task Peter Chiang
2014-04-16 12:31 ` Peter Chiang
2014-04-16 12:52   ` Peter Chiang
2014-04-16 13:57     ` Oleg Nesterov
2014-04-17  6:48       ` Peter Chiang
2014-04-18 16:23         ` Oleg Nesterov
2014-04-18 17:26           ` [PATCH 0/2] memcg: mm_update_next_owner() should skip kthreads Oleg Nesterov
2014-04-18 17:26             ` [PATCH 1/2] " Oleg Nesterov
2014-04-18 17:27             ` [PATCH 2/2] memcg: optimize the "Search everything else" loop in mm_update_next_owner() Oleg Nesterov
2014-04-18 18:24             ` [PATCH 0/2] memcg: mm_update_next_owner() should skip kthreads Michal Hocko
2014-04-18 18:44               ` Oleg Nesterov
2014-04-18 19:12                 ` [PATCH 0/1] memcg: kill start_kernel()->mm_init_owner(init_mm) Oleg Nesterov
2014-04-18 19:13                   ` [PATCH 1/1] " Oleg Nesterov
2014-04-22 13:34                     ` Michal Hocko
2014-04-22 13:23                   ` Michal Hocko [this message]
2014-04-22 16:15                     ` [PATCH 0/1] memcg: kill CONFIG_MM_OWNER Oleg Nesterov
2014-04-22 16:15                       ` [PATCH 1/1] " Oleg Nesterov
2014-04-22 16:39                         ` Johannes Weiner
2014-04-22 16:59                       ` [PATCH 0/1] " Michal Hocko
2014-04-22 10:52                 ` [PATCH 0/2] memcg: mm_update_next_owner() should skip kthreads Michal Hocko
2014-04-22 13:21                   ` Michal Hocko
2014-04-22 21:35                     ` Hugh Dickins
2014-04-23  7:04                       ` Michal Hocko
2014-04-19  8:34             ` Pavel Machek
2014-04-19 18:14               ` Oleg Nesterov
2014-04-19 21:23                 ` Hugh Dickins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140422132355.GO29311@dhcp22.suse.cz \
    --to=mhocko@suse.cz \
    --cc=akpm@linux-foundation.org \
    --cc=bsingharora@gmail.com \
    --cc=ccross@android.com \
    --cc=ebiederm@xmission.com \
    --cc=guillaume@morinfr.org \
    --cc=hannes@cmpxchg.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=oleg@redhat.com \
    --cc=pavel@ucw.cz \
    --cc=pchiang@nvidia.com \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®