aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2014-06-04 19:07:34 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 19:54:01 -0400
commitf98bafa06a28fdfdd5c49f820f4d6560f636fc46 (patch)
tree1fb3f5e67a2ac35ab19f17e3ae215aa81d6f5e1b
parent64ac4940d557df8caab602eaea679ec7eaf9a57f (diff)
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. 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>
-rw-r--r--include/linux/mm_types.h2
-rw-r--r--include/linux/sched.h4
-rw-r--r--init/Kconfig7
-rw-r--r--kernel/exit.c4
-rw-r--r--kernel/fork.c4
5 files changed, 7 insertions, 14 deletions
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 8967e20cbe57..de1627232af0 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -406,7 +406,7 @@ struct mm_struct {
406 spinlock_t ioctx_lock; 406 spinlock_t ioctx_lock;
407 struct kioctx_table __rcu *ioctx_table; 407 struct kioctx_table __rcu *ioctx_table;
408#endif 408#endif
409#ifdef CONFIG_MM_OWNER 409#ifdef CONFIG_MEMCG
410 /* 410 /*
411 * "owner" points to a task that is regarded as the canonical 411 * "owner" points to a task that is regarded as the canonical
412 * user/owner of this mm. All of the following must be true in 412 * 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 70f67e4e6156..2f2dd7d932a2 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2967,7 +2967,7 @@ static inline void inc_syscw(struct task_struct *tsk)
2967#define TASK_SIZE_OF(tsk) TASK_SIZE 2967#define TASK_SIZE_OF(tsk) TASK_SIZE
2968#endif 2968#endif
2969 2969
2970#ifdef CONFIG_MM_OWNER 2970#ifdef CONFIG_MEMCG
2971extern void mm_update_next_owner(struct mm_struct *mm); 2971extern void mm_update_next_owner(struct mm_struct *mm);
2972extern void mm_init_owner(struct mm_struct *mm, struct task_struct *p); 2972extern void mm_init_owner(struct mm_struct *mm, struct task_struct *p);
2973#else 2973#else
@@ -2978,7 +2978,7 @@ static inline void mm_update_next_owner(struct mm_struct *mm)
2978static inline void mm_init_owner(struct mm_struct *mm, struct task_struct *p) 2978static inline void mm_init_owner(struct mm_struct *mm, struct task_struct *p)
2979{ 2979{
2980} 2980}
2981#endif /* CONFIG_MM_OWNER */ 2981#endif /* CONFIG_MEMCG */
2982 2982
2983static inline unsigned long task_rlimit(const struct task_struct *tsk, 2983static inline unsigned long task_rlimit(const struct task_struct *tsk,
2984 unsigned int limit) 2984 unsigned int limit)
diff --git a/init/Kconfig b/init/Kconfig
index 4a1822a1a680..0a2f09a80e90 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -933,7 +933,6 @@ config RESOURCE_COUNTERS
933config MEMCG 933config MEMCG
934 bool "Memory Resource Controller for Control Groups" 934 bool "Memory Resource Controller for Control Groups"
935 depends on RESOURCE_COUNTERS 935 depends on RESOURCE_COUNTERS
936 select MM_OWNER
937 select EVENTFD 936 select EVENTFD
938 help 937 help
939 Provides a memory resource controller that manages both anonymous 938 Provides a memory resource controller that manages both anonymous
@@ -951,9 +950,6 @@ config MEMCG
951 disable memory resource controller and you can avoid overheads. 950 disable memory resource controller and you can avoid overheads.
952 (and lose benefits of memory resource controller) 951 (and lose benefits of memory resource controller)
953 952
954 This config option also selects MM_OWNER config option, which
955 could in turn add some fork/exit overhead.
956
957config MEMCG_SWAP 953config MEMCG_SWAP
958 bool "Memory Resource Controller Swap Extension" 954 bool "Memory Resource Controller Swap Extension"
959 depends on MEMCG && SWAP 955 depends on MEMCG && SWAP
@@ -1179,9 +1175,6 @@ config SCHED_AUTOGROUP
1179 desktop applications. Task group autogeneration is currently based 1175 desktop applications. Task group autogeneration is currently based
1180 upon task session. 1176 upon task session.
1181 1177
1182config MM_OWNER
1183 bool
1184
1185config SYSFS_DEPRECATED 1178config SYSFS_DEPRECATED
1186 bool "Enable deprecated sysfs features to support old userspace tools" 1179 bool "Enable deprecated sysfs features to support old userspace tools"
1187 depends on SYSFS 1180 depends on SYSFS
diff --git a/kernel/exit.c b/kernel/exit.c
index 6ed6a1d552b5..da1b838de8a6 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -352,7 +352,7 @@ int disallow_signal(int sig)
352 352
353EXPORT_SYMBOL(disallow_signal); 353EXPORT_SYMBOL(disallow_signal);
354 354
355#ifdef CONFIG_MM_OWNER 355#ifdef CONFIG_MEMCG
356/* 356/*
357 * A task is exiting. If it owned this mm, find a new owner for the mm. 357 * A task is exiting. If it owned this mm, find a new owner for the mm.
358 */ 358 */
@@ -434,7 +434,7 @@ assign_new_owner:
434 task_unlock(c); 434 task_unlock(c);
435 put_task_struct(c); 435 put_task_struct(c);
436} 436}
437#endif /* CONFIG_MM_OWNER */ 437#endif /* CONFIG_MEMCG */
438 438
439/* 439/*
440 * Turn us into a lazy TLB process if we 440 * Turn us into a lazy TLB process if we
diff --git a/kernel/fork.c b/kernel/fork.c
index 59e3dcc5b8f2..0d53eb0dfb6f 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1099,12 +1099,12 @@ static void rt_mutex_init_task(struct task_struct *p)
1099#endif 1099#endif
1100} 1100}
1101 1101
1102#ifdef CONFIG_MM_OWNER 1102#ifdef CONFIG_MEMCG
1103void mm_init_owner(struct mm_struct *mm, struct task_struct *p) 1103void mm_init_owner(struct mm_struct *mm, struct task_struct *p)
1104{ 1104{
1105 mm->owner = p; 1105 mm->owner = p;
1106} 1106}
1107#endif /* CONFIG_MM_OWNER */ 1107#endif /* CONFIG_MEMCG */
1108 1108
1109/* 1109/*
1110 * Initialize POSIX timer handling for a single task. 1110 * Initialize POSIX timer handling for a single task.