Re: [PATCH 1/2] memcg: move mem_cgroup_swappiness to memcontrol.h

From: Ridong Chen

Date: Mon Jul 13 2026 - 21:20:21 EST




On 7/13/2026 11:08 PM, Barry Song wrote:
On Sat, Jul 11, 2026 at 5:12 PM Ridong Chen <ridong.chen@xxxxxxxxx> wrote:

From: Ridong Chen <chenridong@xxxxxxxxxx>

The per-memcg swappiness knob is v1-only; v2 always uses global
vm_swappiness and ignores the per-cgroup field.

Guard memcg->swappiness with CONFIG_MEMCG_V1, and move the helper
to memcontrol.h where it belongs.

No functional change for v1; v2-only kernels drop the unused field.

Signed-off-by: Ridong Chen <chenridong@xxxxxxxxxx>
Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>

Reviewed-by: Barry Song <baohua@xxxxxxxxxx>

With some nits.

---
[...]
struct mem_cgroup_per_node *nodeinfo[];
@@ -365,6 +366,9 @@ enum objext_flags {

#define OBJEXTS_FLAGS_MASK (__NR_OBJEXTS_FLAGS - 1)

+/* Defined in mm/vmscan.c; used by mem_cgroup_swappiness(). */
+extern int vm_swappiness;

This is a bit unusual. I'm not sure whether mm/swap.h would be
a more appropriate place for this.

Thank you for your reply.

The vm_swappiness variable is not utilized within mm/swap.c. Furthermore, since memcontrol.h does not include swap.h, retaining the extern int vm_swappiness declaration in mm/swap.h will result in a compilation failure.

--
Best regards
Ridong