mm: memcg: put struct task_struct::in_user_fault under CONFIG_MEMCG_V1

The struct task_struct's in_user_fault member is not used by the cgroup
v2's memory controller, so it can be put under the CONFIG_MEMCG_V1 config
option.  To do so, mem_cgroup_enter_user_fault() and
mem_cgroup_exit_user_fault() are moved under the CONFIG_MEMCG_V1 option as
well.

Link: https://lkml.kernel.org/r/20240628210317.272856-10-roman.gushchin@linux.dev
Signed-off-by: Roman Gushchin <roman.gushchin@linux.dev>
Acked-by: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Roman Gushchin 2024-06-28 21:03:17 +00:00 committed by Andrew Morton
parent 1c3a0b3d0b
commit 1419ff984a
2 changed files with 21 additions and 21 deletions

View File

@ -943,18 +943,6 @@ void mem_cgroup_print_oom_context(struct mem_cgroup *memcg,
void mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg);
static inline void mem_cgroup_enter_user_fault(void)
{
WARN_ON(current->in_user_fault);
current->in_user_fault = 1;
}
static inline void mem_cgroup_exit_user_fault(void)
{
WARN_ON(!current->in_user_fault);
current->in_user_fault = 0;
}
struct mem_cgroup *mem_cgroup_get_oom_group(struct task_struct *victim,
struct mem_cgroup *oom_domain);
void mem_cgroup_print_oom_group(struct mem_cgroup *memcg);
@ -1402,14 +1390,6 @@ static inline void mem_cgroup_handle_over_high(gfp_t gfp_mask)
{
}
static inline void mem_cgroup_enter_user_fault(void)
{
}
static inline void mem_cgroup_exit_user_fault(void)
{
}
static inline struct mem_cgroup *mem_cgroup_get_oom_group(
struct task_struct *victim, struct mem_cgroup *oom_domain)
{
@ -1890,6 +1870,18 @@ static inline void mem_cgroup_unlock_pages(void)
rcu_read_unlock();
}
static inline void mem_cgroup_enter_user_fault(void)
{
WARN_ON(current->in_user_fault);
current->in_user_fault = 1;
}
static inline void mem_cgroup_exit_user_fault(void)
{
WARN_ON(!current->in_user_fault);
current->in_user_fault = 0;
}
#else /* CONFIG_MEMCG_V1 */
static inline
unsigned long memcg1_soft_limit_reclaim(pg_data_t *pgdat, int order,
@ -1929,6 +1921,14 @@ static inline bool mem_cgroup_oom_synchronize(bool wait)
return false;
}
static inline void mem_cgroup_enter_user_fault(void)
{
}
static inline void mem_cgroup_exit_user_fault(void)
{
}
#endif /* CONFIG_MEMCG_V1 */
#endif /* _LINUX_MEMCONTROL_H */

View File

@ -934,7 +934,7 @@ struct task_struct {
#ifndef TIF_RESTORE_SIGMASK
unsigned restore_sigmask:1;
#endif
#ifdef CONFIG_MEMCG
#ifdef CONFIG_MEMCG_V1
unsigned in_user_fault:1;
#endif
#ifdef CONFIG_LRU_GEN