diff options
Diffstat (limited to 'include/linux/memcontrol.h')
-rw-r--r-- | include/linux/memcontrol.h | 43 |
1 files changed, 11 insertions, 32 deletions
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index e0bcef180672..47c9d4e0a402 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -47,6 +47,12 @@ enum memcg_memory_event { MEMCG_NR_MEMORY_EVENTS, }; +enum mem_cgroup_protection { + MEMCG_PROT_NONE, + MEMCG_PROT_LOW, + MEMCG_PROT_MIN, +}; + struct mem_cgroup_reclaim_cookie { pg_data_t *pgdat; unsigned int generation; @@ -385,26 +391,8 @@ static inline unsigned long mem_cgroup_protection(struct mem_cgroup *root, READ_ONCE(memcg->memory.elow)); } -void mem_cgroup_calculate_protection(struct mem_cgroup *root, - struct mem_cgroup *memcg); - -static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg) -{ - if (mem_cgroup_disabled()) - return false; - - return READ_ONCE(memcg->memory.elow) >= - page_counter_read(&memcg->memory); -} - -static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg) -{ - if (mem_cgroup_disabled()) - return false; - - return READ_ONCE(memcg->memory.emin) >= - page_counter_read(&memcg->memory); -} +enum mem_cgroup_protection mem_cgroup_protected(struct mem_cgroup *root, + struct mem_cgroup *memcg); int mem_cgroup_charge(struct page *page, struct mm_struct *mm, gfp_t gfp_mask); @@ -883,19 +871,10 @@ static inline unsigned long mem_cgroup_protection(struct mem_cgroup *root, return 0; } -static inline void mem_cgroup_calculate_protection(struct mem_cgroup *root, - struct mem_cgroup *memcg) -{ -} - -static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg) +static inline enum mem_cgroup_protection mem_cgroup_protected( + struct mem_cgroup *root, struct mem_cgroup *memcg) { - return false; -} - -static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg) -{ - return false; + return MEMCG_PROT_NONE; } static inline int mem_cgroup_charge(struct page *page, struct mm_struct *mm, |