From: linuszeng via B4 Relay <devnull+linuszeng.tencent.com@kernel.org>
To: "Johannes Weiner" <hannes@cmpxchg.org>,
"Michal Hocko" <mhocko@kernel.org>,
"Roman Gushchin" <roman.gushchin@linux.dev>,
"Shakeel Butt" <shakeel.butt@linux.dev>,
"Muchun Song" <muchun.song@linux.dev>,
"Andrew Morton" <akpm@linux-foundation.org>,
"David Hildenbrand" <david@kernel.org>,
"Lorenzo Stoakes" <ljs@kernel.org>,
"Liam R. Howlett" <liam@infradead.org>,
"Vlastimil Babka" <vbabka@kernel.org>,
"Mike Rapoport" <rppt@kernel.org>,
"Suren Baghdasaryan" <surenb@google.com>,
"Maarten Lankhorst" <dev@lankhorst.se>,
"Maxime Ripard" <mripard@kernel.org>,
"Natalie Vock" <nat@pixelcluster.dev>,
"Tejun Heo" <tj@kernel.org>, "Michal Koutný" <mkoutny@suse.com>,
"Oscar Salvador" <osalvador@suse.de>,
"Jingxiang Zeng" <jingxiangzeng.cas@gmail.com>
Cc: Michal Hocko <mhocko@suse.com>,
cgroups@vger.kernel.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linuszeng <linuszeng@tencent.com>
Subject: [PATCH v2 3/3] mm: page_counter: drop protection fields from struct page_counter
Date: Wed, 09 Sep 2026 17:44:21 +0800 [thread overview]
Message-ID: <20260909-descriptive-name-v2-3-d7dd7c099049@tencent.com> (raw)
In-Reply-To: <20260909-descriptive-name-v2-0-d7dd7c099049@tencent.com>
From: linuszeng <linuszeng@tencent.com>
The protection state now lives in struct page_counter_protection, so
remove the emin/min_usage/children_min_usage, elow/low_usage/
children_low_usage, min, low and protection_support fields from struct
page_counter.
Also drop the now-orphaned _pad2_ padding and its comment: with the
protection fields gone it no longer separates the read-mostly fields
from anything, and the structure's cacheline alignment already pads the
tail out.
swap/memsw, kmem, tcpmem and hugetlb counters no longer carry this
unused state: on 64-bit the structure shrinks from three cache lines to
two, saving one cache line.
---
include/linux/page_counter.h | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/include/linux/page_counter.h b/include/linux/page_counter.h
index b81f16702764..0007960ba5a4 100644
--- a/include/linux/page_counter.h
+++ b/include/linux/page_counter.h
@@ -43,27 +43,11 @@ struct page_counter {
CACHELINE_PADDING(_pad1_);
- /* effective memory.min and memory.min usage tracking */
- unsigned long emin;
- atomic_long_t min_usage;
- atomic_long_t children_min_usage;
-
- /* effective memory.low and memory.low usage tracking */
- unsigned long elow;
- atomic_long_t low_usage;
- atomic_long_t children_low_usage;
-
unsigned long watermark;
/* Latest cg2 reset watermark */
unsigned long local_watermark;
- /* Keep all the read most fields in a separete cacheline. */
- CACHELINE_PADDING(_pad2_);
-
- bool protection_support;
bool track_failcnt;
- unsigned long min;
- unsigned long low;
unsigned long high;
unsigned long max;
struct page_counter *parent;
--
2.43.7
WARNING: multiple messages have this Message-ID (diff)
From: linuszeng <linuszeng@tencent.com>
To: "Johannes Weiner" <hannes@cmpxchg.org>,
"Michal Hocko" <mhocko@kernel.org>,
"Roman Gushchin" <roman.gushchin@linux.dev>,
"Shakeel Butt" <shakeel.butt@linux.dev>,
"Muchun Song" <muchun.song@linux.dev>,
"Andrew Morton" <akpm@linux-foundation.org>,
"David Hildenbrand" <david@kernel.org>,
"Lorenzo Stoakes" <ljs@kernel.org>,
"Liam R. Howlett" <liam@infradead.org>,
"Vlastimil Babka" <vbabka@kernel.org>,
"Mike Rapoport" <rppt@kernel.org>,
"Suren Baghdasaryan" <surenb@google.com>,
"Maarten Lankhorst" <dev@lankhorst.se>,
"Maxime Ripard" <mripard@kernel.org>,
"Natalie Vock" <nat@pixelcluster.dev>,
"Tejun Heo" <tj@kernel.org>, "Michal Koutný" <mkoutny@suse.com>,
"Oscar Salvador" <osalvador@suse.de>,
"Jingxiang Zeng" <jingxiangzeng.cas@gmail.com>
Cc: Michal Hocko <mhocko@suse.com>,
cgroups@vger.kernel.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linuszeng <linuszeng@tencent.com>
Subject: [PATCH v2 3/3] mm: page_counter: drop protection fields from struct page_counter
Date: Wed, 09 Sep 2026 17:44:21 +0800 [thread overview]
Message-ID: <20260909-descriptive-name-v2-3-d7dd7c099049@tencent.com> (raw)
In-Reply-To: <20260909-descriptive-name-v2-0-d7dd7c099049@tencent.com>
The protection state now lives in struct page_counter_protection, so
remove the emin/min_usage/children_min_usage, elow/low_usage/
children_low_usage, min, low and protection_support fields from struct
page_counter.
Also drop the now-orphaned _pad2_ padding and its comment: with the
protection fields gone it no longer separates the read-mostly fields
from anything, and the structure's cacheline alignment already pads the
tail out.
swap/memsw, kmem, tcpmem and hugetlb counters no longer carry this
unused state: on 64-bit the structure shrinks from three cache lines to
two, saving one cache line.
---
include/linux/page_counter.h | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/include/linux/page_counter.h b/include/linux/page_counter.h
index b81f16702764..0007960ba5a4 100644
--- a/include/linux/page_counter.h
+++ b/include/linux/page_counter.h
@@ -43,27 +43,11 @@ struct page_counter {
CACHELINE_PADDING(_pad1_);
- /* effective memory.min and memory.min usage tracking */
- unsigned long emin;
- atomic_long_t min_usage;
- atomic_long_t children_min_usage;
-
- /* effective memory.low and memory.low usage tracking */
- unsigned long elow;
- atomic_long_t low_usage;
- atomic_long_t children_low_usage;
-
unsigned long watermark;
/* Latest cg2 reset watermark */
unsigned long local_watermark;
- /* Keep all the read most fields in a separete cacheline. */
- CACHELINE_PADDING(_pad2_);
-
- bool protection_support;
bool track_failcnt;
- unsigned long min;
- unsigned long low;
unsigned long high;
unsigned long max;
struct page_counter *parent;
--
2.43.7
next prev parent reply other threads:[~2026-09-09 9:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-09 9:44 [PATCH v2 0/3] mm: page_counter: move hierarchical protection out of struct page_counter linuszeng via B4 Relay
2026-09-09 9:44 ` linuszeng
2026-09-09 9:44 ` [PATCH v2 1/3] mm: page_counter: add page_counter_protection struct and init API linuszeng via B4 Relay
2026-09-09 9:44 ` linuszeng
2026-09-09 9:44 ` [PATCH v2 2/3] mm: page_counter: track protection state in page_counter_protection linuszeng via B4 Relay
2026-09-09 9:44 ` linuszeng
2026-09-09 9:55 ` sashiko-bot
2026-09-09 9:44 ` linuszeng via B4 Relay [this message]
2026-09-09 9:44 ` [PATCH v2 3/3] mm: page_counter: drop protection fields from struct page_counter linuszeng
2026-09-11 15:17 ` [PATCH v2 0/3] mm: page_counter: move hierarchical protection out of " Michal Koutný
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260909-descriptive-name-v2-3-d7dd7c099049@tencent.com \
--to=devnull+linuszeng.tencent.com@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=david@kernel.org \
--cc=dev@lankhorst.se \
--cc=dri-devel@lists.freedesktop.org \
--cc=hannes@cmpxchg.org \
--cc=jingxiangzeng.cas@gmail.com \
--cc=liam@infradead.org \
--cc=linuszeng@tencent.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=mhocko@kernel.org \
--cc=mhocko@suse.com \
--cc=mkoutny@suse.com \
--cc=mripard@kernel.org \
--cc=muchun.song@linux.dev \
--cc=nat@pixelcluster.dev \
--cc=osalvador@suse.de \
--cc=roman.gushchin@linux.dev \
--cc=rppt@kernel.org \
--cc=shakeel.butt@linux.dev \
--cc=surenb@google.com \
--cc=tj@kernel.org \
--cc=vbabka@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.