From nobody Fri Dec 19 20:37:32 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2535C25949C for ; Thu, 9 Jan 2025 06:06:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736402769; cv=none; b=WDsiaa02Q5EPVwlQtPpwG1NBHvTv+GceFzc6+glZ5KUmDkAUE2Dgj/mg4rddv1217B9HVgS0trURpu1xGLcYWfwnRx0+FwLSTMdCz6S+Uhke4o+7ayiuCWHs8jG83n5NaEnLIfeRHezUKNRMaWBz0eUy/6V2Ck2t/B3OquPNLeM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736402769; c=relaxed/simple; bh=t/KpVqs9SJXY1n2Wtl9Lto2jvdauJvlR/GjnhDLo8PE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=o2lJByJ5oCuDkLm4+0h8x2PUOqx+yxrmy4nn0266/aRg/VBY8kgJccT78AY/zDm3CpWnntNkoS73lECtTCSQ0bIPKraSAOKjOavD+9d20X+ldLiIHTB3gJ8LYQpA3BF3R0STxI7VFqZNOKvy5BGiHb8va/rSr9u+7lcv9TGmfYs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=SiFII05c; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="SiFII05c" Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5093r6Tw020178; Thu, 9 Jan 2025 06:05:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=pp1; bh=kLYplT+Wxoi+Aw/PD4w5qJjloO9coYWxkPXndEuEA AY=; b=SiFII05cB1sAO5IE7aGmJTM+jPDkcOUJq1T1ad1SXQX9Y4udoT/LSZguK t/jKmiEGAo5ZUjMUASZ2mCTikpu9AKCxJXu47itcaq+QfR7Czka07MLE2h8JgRYH ld0IRi2x2fsW0JuXarY8AGEgEn+3p74q66f27sm7bU5KG4nrq+0dPrrvIAER09X4 NlyHe3PXW7MTO1dAlI9kMi25VS/zPwWhA5KeU7MWQU4SzFtmWLXJB5kw7ACaISUN 4EsNdLSbE0nbpRFCZ5ilAtwMTr3rulCdMM7tbS1WaWFpL9SEmWUJdv7i9f1P4SfN 1ubldmhHEJlvaeMJnKxUMUylPH38w== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4426xqrf4q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Jan 2025 06:05:47 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 509606eO017458; Thu, 9 Jan 2025 06:05:47 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4426xqrf4g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Jan 2025 06:05:46 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5093r86o008870; Thu, 9 Jan 2025 06:05:45 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 43yfq03uxx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Jan 2025 06:05:45 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 50965h1219595764 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 9 Jan 2025 06:05:43 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7C34420043; Thu, 9 Jan 2025 06:05:43 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 021C72004D; Thu, 9 Jan 2025 06:05:41 +0000 (GMT) Received: from ltczz402-lp1.aus.stglabs.ibm.com (unknown [9.40.194.31]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 9 Jan 2025 06:05:40 +0000 (GMT) From: Donet Tom To: Andrew Morton , Kaiyang Zhao , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Ritesh Harjani , "Aneesh Kumar K . V" , David Rientjes , Johannes Weiner , Yu Zhao , Michal Hocko , Muchun Song , Roman Gushchin , Shakeel Butt , Wei Xu Subject: [PATCH] mm: vmscan : pgdemote vmstat is not getting updated when MGLRU is enabled. Date: Thu, 9 Jan 2025 00:05:39 -0600 Message-ID: <20250109060540.451261-1-donettom@linux.ibm.com> X-Mailer: git-send-email 2.43.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 52CNxQSqIVMVM4X3EScCufYqiZIDLH2z X-Proofpoint-ORIG-GUID: l7ONNhwAhIzmVrV9ni5wcktv8vZ3Wvby X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-15_01,2024-10-11_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 suspectscore=0 phishscore=0 spamscore=0 bulkscore=0 mlxlogscore=999 lowpriorityscore=0 clxscore=1011 malwarescore=0 adultscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2411120000 definitions=main-2501090047 Content-Type: text/plain; charset="utf-8" When MGLRU is enabled, the pgdemote_kswapd, pgdemote_direct, and pgdemote_khugepaged stats in vmstat are not being updated. 'Commit f77f0c751478 ("mm,memcg: provide per-cgroup counters for NUMA balancing operations")' moved the pgdemote vmstat update from demote_folio_list() to shrink_inactive_list(), which is in the normal LRU path. As a result, the pgdemote stats are updated correctly for the normal LRU but not for MGLRU. To address this, we have added the pgdemote stat update in the evict_folios() function, which is in the MGLRU path. With this patch, the pgdemote stats will now be updated correctly when MGLRU is enabled. Without this patch vmstat output when MGLRU is enabled =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D pgdemote_kswapd 0 pgdemote_direct 0 pgdemote_khugepaged 0 With this patch vmstat output when MGLRU is enabled =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D pgdemote_kswapd 43234 pgdemote_direct 4691 pgdemote_khugepaged 0 Fixes: f77f0c751478 ("mm,memcg: provide per-cgroup counters for NUMA balanc= ing operations") Signed-off-by: Donet Tom Acked-by: Yu Zhao Reviewed-by: Li Zhijian Tested-by: Li Zhijian Tested-by: Li Zhijian Reviewed-by: Li Zhijian=20 --- mm/vmscan.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/vmscan.c b/mm/vmscan.c index 9a859b7d18d7..b1ec5ece067e 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -4642,6 +4642,9 @@ static int evict_folios(struct lruvec *lruvec, struct= scan_control *sc, int swap reset_batch_size(walk); } =20 + __mod_lruvec_state(lruvec, PGDEMOTE_KSWAPD + reclaimer_offset(), + stat.nr_demoted); + item =3D PGSTEAL_KSWAPD + reclaimer_offset(); if (!cgroup_reclaim(sc)) __count_vm_events(item, reclaimed); --=20 2.43.5