mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 00/11] mm: memcontrol: constify the read side of the memcg API
@ 2026-09-15 23:20 Tal Zussman
  2026-09-15 23:20 ` [PATCH v3 01/11] mm: memcontrol: take a const folio in folio_memcg() and friends Tal Zussman
                   ` (11 more replies)
  0 siblings, 12 replies; 25+ messages in thread
From: Tal Zussman @ 2026-09-15 23:20 UTC (permalink / raw)
  To: Johannes Weiner, Michal Hocko, Roman Gushchin, Shakeel Butt,
	Muchun Song, Andrew Morton, David Hildenbrand, Lorenzo Stoakes,
	Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
	Suren Baghdasaryan, Kairui Song, Qi Zheng, Barry Song,
	Axel Rasmussen, Yuanchu Xie, Wei Xu, Baoquan He, Baolin Wang,
	Chris Li, Kemeng Shi, Nhat Pham, Youngjun Park,
	Matthew Wilcox (Oracle)
  Cc: cgroups, linux-mm, linux-kernel, Tal Zussman

The memcg accessors, lruvec helpers, and stat readers only read from
the memcg, folio, or lruvec they are given, but take non-const
pointers. Constify them, along with the page_counter readers and the
swap I/O blkg helpers along the way.

This started as a follow-up to [1] that quickly grew in proportions :)

[1]: https://lore.kernel.org/linux-mm/anYqSDnC2BbJXv1h@casper.infradead.org/

---
Changes in v3:
- Patch 1: Constify get_obj_cgroup_from_folio() as well, per Sashiko
- Patch 3: Use container_of_const() in mem_cgroup_get_zone_lru_size(),
  per Sashiko
- Patch 3: Note that lruvec_pgdat() still returns a non-const pgdat and
  does not use container_of_const()
- Patch 8: Constify the local memcg stat readers as well, per Sashiko
- Link to v2: https://patch.msgid.link/20260908-folio_memcg-const-v2-0-811e9f443409@columbia.edu

Changes in v2:
- Patch 3: Constify the folio argument of folio_lruvec_relock_irq() and
  folio_lruvec_relock_irqsave() as well, per Sashiko
- Patch 3: Note that mem_cgroup_lruvec() updates lruvec->pgdat in the
  per-node structure, not the memcg, per Sashiko
- Patches 3 and 8: Use container_of_const() in lruvec_memcg() and the
  lruvec_page_state() family, per Sashiko
- Link to v1: https://patch.msgid.link/20260902-folio_memcg-const-v1-0-e2c1da22246d@columbia.edu

---
Tal Zussman (11):
      mm: memcontrol: take a const folio in folio_memcg() and friends
      mm: memcontrol: constify obj_cgroup_memcg() and friends
      mm: memcontrol: constify the lruvec helpers
      mm/page_io: take a const folio in bio_associate_blkg_from_folio()
      mm: memcontrol: constify the mem_cgroup accessors
      mm: page_counter: constify page_counter_read() and page_counter_margin()
      mm: memcontrol: constify the reclaim protection helpers
      mm: memcontrol: constify the memcg and lruvec stat readers
      mm: memcontrol: constify the swap accounting helpers
      mm: memcontrol: constify mem_cgroup_swappiness() and mem_cgroup_get_max()
      mm: memcontrol: constify the zswap and socket pressure helpers

 include/linux/memcontrol.h   | 212 ++++++++++++++++++++++---------------------
 include/linux/mmzone.h       |   2 +-
 include/linux/page_counter.h |   4 +-
 include/linux/swap.h         |  12 +--
 mm/memcontrol-v1.h           |   6 +-
 mm/memcontrol.c              |  57 ++++++------
 mm/page_counter.c            |   2 +-
 mm/page_io.c                 |  14 ++-
 mm/swap.h                    |   2 +-
 9 files changed, 159 insertions(+), 152 deletions(-)
---
base-commit: b08a65b93426d86e3f354d655d6225397b591877
change-id: 20260807-folio_memcg-const-4a67e40d485b

Best regards,
--  
Tal Zussman <tz2294@columbia.edu>


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2026-09-16 17:28 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-15 23:20 [PATCH v3 00/11] mm: memcontrol: constify the read side of the memcg API Tal Zussman
2026-09-15 23:20 ` [PATCH v3 01/11] mm: memcontrol: take a const folio in folio_memcg() and friends Tal Zussman
2026-09-16  2:27   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 02/11] mm: memcontrol: constify obj_cgroup_memcg() " Tal Zussman
2026-09-16  2:28   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 03/11] mm: memcontrol: constify the lruvec helpers Tal Zussman
2026-09-16  2:30   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 04/11] mm/page_io: take a const folio in bio_associate_blkg_from_folio() Tal Zussman
2026-09-16  2:31   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 05/11] mm: memcontrol: constify the mem_cgroup accessors Tal Zussman
2026-09-16  2:32   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 06/11] mm: page_counter: constify page_counter_read() and page_counter_margin() Tal Zussman
2026-09-16  2:33   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 07/11] mm: memcontrol: constify the reclaim protection helpers Tal Zussman
2026-09-16  2:34   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 08/11] mm: memcontrol: constify the memcg and lruvec stat readers Tal Zussman
2026-09-16  2:35   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 09/11] mm: memcontrol: constify the swap accounting helpers Tal Zussman
2026-09-16  2:36   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 10/11] mm: memcontrol: constify mem_cgroup_swappiness() and mem_cgroup_get_max() Tal Zussman
2026-09-16  2:36   ` Muchun Song
2026-09-15 23:20 ` [PATCH v3 11/11] mm: memcontrol: constify the zswap and socket pressure helpers Tal Zussman
2026-09-16  2:37   ` Muchun Song
2026-09-16  3:53 ` [PATCH v3 00/11] mm: memcontrol: constify the read side of the memcg API Shakeel Butt
2026-09-16 17:28   ` Lorenzo Stoakes (ARM)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®