Przeglądaj źródła

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>
Oleg Nesterov 11 lat temu
rodzic
commit
f98bafa06a
5 zmienionych plików z 7 dodań i 14 usunięć
  1. 1 1
      include/linux/mm_types.h
  2. 2 2
      include/linux/sched.h
  3. 0 7
      init/Kconfig
  4. 2 2
      kernel/exit.c
  5. 2 2
      kernel/fork.c

+ 1 - 1
include/linux/mm_types.h

@@ -406,7 +406,7 @@ struct mm_struct {
 	spinlock_t			ioctx_lock;
 	spinlock_t			ioctx_lock;
 	struct kioctx_table __rcu	*ioctx_table;
 	struct kioctx_table __rcu	*ioctx_table;
 #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

+ 2 - 2
include/linux/sched.h

@@ -2967,7 +2967,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
@@ -2978,7 +2978,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)

+ 0 - 7
init/Kconfig

@@ -933,7 +933,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
 	select EVENTFD
 	select EVENTFD
 	help
 	help
 	  Provides a memory resource controller that manages both anonymous
 	  Provides a memory resource controller that manages both anonymous
@@ -951,9 +950,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
@@ -1179,9 +1175,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

+ 2 - 2
kernel/exit.c

@@ -352,7 +352,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.
  */
  */
@@ -434,7 +434,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

+ 2 - 2
kernel/fork.c

@@ -1099,12 +1099,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.