Commit 1419ff98 authored by Roman Gushchin's avatar Roman Gushchin Committed by Andrew Morton

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.devSigned-off-by: default avatarRoman Gushchin <roman.gushchin@linux.dev>
Acked-by: default avatarShakeel 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: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 1c3a0b3d
...@@ -943,18 +943,6 @@ void mem_cgroup_print_oom_context(struct mem_cgroup *memcg, ...@@ -943,18 +943,6 @@ void mem_cgroup_print_oom_context(struct mem_cgroup *memcg,
void mem_cgroup_print_oom_meminfo(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 *mem_cgroup_get_oom_group(struct task_struct *victim,
struct mem_cgroup *oom_domain); struct mem_cgroup *oom_domain);
void mem_cgroup_print_oom_group(struct mem_cgroup *memcg); 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) ...@@ -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( static inline struct mem_cgroup *mem_cgroup_get_oom_group(
struct task_struct *victim, struct mem_cgroup *oom_domain) struct task_struct *victim, struct mem_cgroup *oom_domain)
{ {
...@@ -1890,6 +1870,18 @@ static inline void mem_cgroup_unlock_pages(void) ...@@ -1890,6 +1870,18 @@ static inline void mem_cgroup_unlock_pages(void)
rcu_read_unlock(); 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 */ #else /* CONFIG_MEMCG_V1 */
static inline static inline
unsigned long memcg1_soft_limit_reclaim(pg_data_t *pgdat, int order, 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) ...@@ -1929,6 +1921,14 @@ static inline bool mem_cgroup_oom_synchronize(bool wait)
return false; 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 /* CONFIG_MEMCG_V1 */
#endif /* _LINUX_MEMCONTROL_H */ #endif /* _LINUX_MEMCONTROL_H */
...@@ -934,7 +934,7 @@ struct task_struct { ...@@ -934,7 +934,7 @@ struct task_struct {
#ifndef TIF_RESTORE_SIGMASK #ifndef TIF_RESTORE_SIGMASK
unsigned restore_sigmask:1; unsigned restore_sigmask:1;
#endif #endif
#ifdef CONFIG_MEMCG #ifdef CONFIG_MEMCG_V1
unsigned in_user_fault:1; unsigned in_user_fault:1;
#endif #endif
#ifdef CONFIG_LRU_GEN #ifdef CONFIG_LRU_GEN
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment