mm: page_counters: put page_counter_calculate_protection() under CONFIG_MEMCG
authorRoman Gushchin <roman.gushchin@linux.dev>
Fri, 26 Jul 2024 20:31:09 +0000 (20:31 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 2 Sep 2024 03:25:51 +0000 (20:25 -0700)
Put page_counter_calculate_protection() under CONFIG_MEMCG.

The protection functionality (min/low limits) is not supported by any
other cgroup subsystem, so page_counter_calculate_protection() and related
static effective_protection() can be compiled out if CONFIG_MEMCG is not
enabled.

Link: https://lkml.kernel.org/r/20240726203110.1577216-3-roman.gushchin@linux.dev
Signed-off-by: Roman Gushchin <roman.gushchin@linux.dev>
Acked-by: Shakeel Butt <shakeel.butt@linux.dev>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/page_counter.h
mm/page_counter.c

index 0b8e993..1b3e92c 100644 (file)
@@ -87,8 +87,14 @@ static inline void page_counter_reset_watermark(struct page_counter *counter)
        counter->watermark = page_counter_read(counter);
 }
 
+#ifdef CONFIG_MEMCG
 void page_counter_calculate_protection(struct page_counter *root,
                                       struct page_counter *counter,
                                       bool recursive_protection);
+#else
+static inline void page_counter_calculate_protection(struct page_counter *root,
+                                                    struct page_counter *counter,
+                                                    bool recursive_protection) {}
+#endif
 
 #endif /* _LINUX_PAGE_COUNTER_H */
index dd24224..3887bd1 100644 (file)
@@ -275,6 +275,7 @@ int page_counter_memparse(const char *buf, const char *max,
 }
 
 
+#ifdef CONFIG_MEMCG
 /*
  * This function calculates an individual page counter's effective
  * protection which is derived from its own memory.min/low, its
@@ -446,3 +447,4 @@ void page_counter_calculate_protection(struct page_counter *root,
                        atomic_long_read(&parent->children_low_usage),
                        recursive_protection));
 }
+#endif /* CONFIG_MEMCG */