[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201205130224.81607-2-songmuchun@bytedance.com>
Date: Sat, 5 Dec 2020 21:02:16 +0800
From: Muchun Song <songmuchun@...edance.com>
To: gregkh@...uxfoundation.org, rafael@...nel.org, adobriyan@...il.com,
akpm@...ux-foundation.org, hannes@...xchg.org, mhocko@...nel.org,
vdavydov.dev@...il.com, hughd@...gle.com, will@...nel.org,
guro@...com, rppt@...nel.org, tglx@...utronix.de, esyr@...hat.com,
peterx@...hat.com, krisman@...labora.com, surenb@...gle.com,
avagin@...nvz.org, elver@...gle.com, rdunlap@...radead.org,
iamjoonsoo.kim@....com
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org, cgroups@...r.kernel.org,
Muchun Song <songmuchun@...edance.com>
Subject: [PATCH 1/9] mm: vmstat: fix stat_threshold for NR_KERNEL_STACK_KB
The kernel stack is being accounted in KiB not page, so the
stat_threshold should also adjust to byte.
Signed-off-by: Muchun Song <songmuchun@...edance.com>
---
mm/vmstat.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/mm/vmstat.c b/mm/vmstat.c
index 8d77ee426e22..f7857a7052e4 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -353,6 +353,8 @@ void __mod_node_page_state(struct pglist_data *pgdat, enum node_stat_item item,
x = delta + __this_cpu_read(*p);
t = __this_cpu_read(pcp->stat_threshold);
+ if (unlikely(item == NR_KERNEL_STACK_KB))
+ t <<= PAGE_SHIFT;
if (unlikely(abs(x) > t)) {
node_page_state_add(x, pgdat, item);
@@ -573,6 +575,8 @@ static inline void mod_node_state(struct pglist_data *pgdat,
* for all cpus in a node.
*/
t = this_cpu_read(pcp->stat_threshold);
+ if (unlikely(item == NR_KERNEL_STACK_KB))
+ t <<= PAGE_SHIFT;
o = this_cpu_read(*p);
n = delta + o;
--
2.11.0
Powered by blists - more mailing lists