]> www.infradead.org Git - nvme.git/commit
mm: memcontrol: move memsw charge callbacks to v1
authorJohannes Weiner <hannes@cmpxchg.org>
Fri, 24 Jan 2025 05:41:32 +0000 (00:41 -0500)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 17 Mar 2025 05:05:55 +0000 (22:05 -0700)
commit89ce924f0bd447eb52a5f224d879dbf8f09451db
tree6e4246094003e696397614905f9f93f44194f8c0
parent0d892bbbfa1c3b75569ef5075503bb785d1d52fd
mm: memcontrol: move memsw charge callbacks to v1

The interweaving of two entirely different swap accounting strategies has
been one of the more confusing parts of the memcg code.  Split out the v1
code to clarify the implementation and a handful of callsites, and to
avoid building the v1 bits when !CONFIG_MEMCG_V1.

   text   data    bss    dec    hex filename
  39253   6446   4160  49859   c2c3 mm/memcontrol.o.old
  38877   6382   4160  49419   c10b mm/memcontrol.o

Link: https://lkml.kernel.org/r/20250124054132.45643-1-hannes@cmpxchg.org
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Balbir Singh <balbirs@nvidia.com>
Acked-by: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Muchun Song <muchun.song@linux.dev>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/memcontrol.h
include/linux/swap.h
mm/huge_memory.c
mm/memcontrol-v1.c
mm/memcontrol-v1.h
mm/memcontrol.c
mm/memory.c
mm/shmem.c
mm/swap_state.c
mm/vmscan.c