memcg: kill CONFIG_MM_OWNER

CONFIG_MM_OWNER makes no sense.  It is not user-selectable, it is only
selected by CONFIG_MEMCG automatically.  So we can kill this option in
init/Kconfig and do s/CONFIG_MM_OWNER/CONFIG_MEMCG/ globally.

Change-Id: I07980d9557cef16a102ed293bc4a8ad1f9302777
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.cz>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Oleg Nesterov 2014-06-04 16:07:34 -07:00 committed by syphyr
parent 7c961550ca
commit df63f79c92
5 changed files with 7 additions and 14 deletions

View File

@ -401,7 +401,7 @@ struct mm_struct {
spinlock_t ioctx_lock; spinlock_t ioctx_lock;
struct hlist_head ioctx_list; struct hlist_head ioctx_list;
#endif #endif
#ifdef CONFIG_MM_OWNER #ifdef CONFIG_MEMCG
/* /*
* "owner" points to a task that is regarded as the canonical * "owner" points to a task that is regarded as the canonical
* user/owner of this mm. All of the following must be true in * user/owner of this mm. All of the following must be true in

View File

@ -3008,7 +3008,7 @@ static inline void inc_syscw(struct task_struct *tsk)
#define TASK_SIZE_OF(tsk) TASK_SIZE #define TASK_SIZE_OF(tsk) TASK_SIZE
#endif #endif
#ifdef CONFIG_MM_OWNER #ifdef CONFIG_MEMCG
extern void mm_update_next_owner(struct mm_struct *mm); extern void mm_update_next_owner(struct mm_struct *mm);
extern void mm_init_owner(struct mm_struct *mm, struct task_struct *p); extern void mm_init_owner(struct mm_struct *mm, struct task_struct *p);
#else #else
@ -3019,7 +3019,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) 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, static inline unsigned long task_rlimit(const struct task_struct *tsk,
unsigned int limit) unsigned int limit)

View File

@ -876,7 +876,6 @@ config RESOURCE_COUNTERS
config MEMCG config MEMCG
bool "Memory Resource Controller for Control Groups" bool "Memory Resource Controller for Control Groups"
depends on RESOURCE_COUNTERS depends on RESOURCE_COUNTERS
select MM_OWNER
help help
Provides a memory resource controller that manages both anonymous Provides a memory resource controller that manages both anonymous
memory and page cache. (See Documentation/cgroups/memory.txt) memory and page cache. (See Documentation/cgroups/memory.txt)
@ -893,9 +892,6 @@ config MEMCG
disable memory resource controller and you can avoid overheads. disable memory resource controller and you can avoid overheads.
(and lose benefits of memory resource controller) (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 config MEMCG_SWAP
bool "Memory Resource Controller Swap Extension" bool "Memory Resource Controller Swap Extension"
depends on MEMCG && SWAP depends on MEMCG && SWAP
@ -1158,9 +1154,6 @@ config SCHED_AUTOGROUP
desktop applications. Task group autogeneration is currently based desktop applications. Task group autogeneration is currently based
upon task session. upon task session.
config MM_OWNER
bool
config SYSFS_DEPRECATED config SYSFS_DEPRECATED
bool "Enable deprecated sysfs features to support old userspace tools" bool "Enable deprecated sysfs features to support old userspace tools"
depends on SYSFS depends on SYSFS

View File

@ -363,7 +363,7 @@ int disallow_signal(int sig)
EXPORT_SYMBOL(disallow_signal); EXPORT_SYMBOL(disallow_signal);
#ifdef CONFIG_MM_OWNER #ifdef CONFIG_MEMCG
/* /*
* A task is exiting. If it owned this mm, find a new owner for the mm. * A task is exiting. If it owned this mm, find a new owner for the mm.
*/ */
@ -449,7 +449,7 @@ assign_new_owner:
task_unlock(c); task_unlock(c);
put_task_struct(c); put_task_struct(c);
} }
#endif /* CONFIG_MM_OWNER */ #endif /* CONFIG_MEMCG */
/* /*
* Turn us into a lazy TLB process if we * Turn us into a lazy TLB process if we

View File

@ -1170,12 +1170,12 @@ static void rt_mutex_init_task(struct task_struct *p)
#endif #endif
} }
#ifdef CONFIG_MM_OWNER #ifdef CONFIG_MEMCG
void mm_init_owner(struct mm_struct *mm, struct task_struct *p) void mm_init_owner(struct mm_struct *mm, struct task_struct *p)
{ {
mm->owner = p; mm->owner = p;
} }
#endif /* CONFIG_MM_OWNER */ #endif /* CONFIG_MEMCG */
/* /*
* Initialize POSIX timer handling for a single task. * Initialize POSIX timer handling for a single task.