aboutsummaryrefslogtreecommitdiff
path: root/include/linux/memcontrol.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/memcontrol.h')
-rw-r--r--include/linux/memcontrol.h43
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,