memcg: kill start_kernel()->mm_init_owner(init_mm)
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest1 patch 3 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/1 | memcg: kill start_kernel()->mm_init_owner(init_mm)init/ | +0 | 1 reply | |
| 1/1 | memcg: kill CONFIG_MM_OWNERinclude/ include/ init/ +2 more | +7 | 1 reply |
Reviews trailers per patch
All 2 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Michal Hocko | Johannes Weiner |
|---|---|---|
| Series | A-b | |
| 1/1 | R-b A-b | A-b |
| 1/1 | R-b A-b | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/1] memcg: kill start_kernel()->mm_init_owner(init_mm)
Quoted 5 lines · Oleg Nesterov
OTOH,
mm->owneris used bymm/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.
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.
---
include/linux/mm_types.h +1 -1
@@ -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
include/linux/sched.h +2 -2
@@ -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)
init/Kconfig +0 -7
@@ -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
kernel/exit.c +2 -2
@@ -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
kernel/fork.c +2 -2
@@ -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.