From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27735C83F22 for ; Thu, 17 Jul 2025 08:29:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A73D88D0002; Thu, 17 Jul 2025 04:29:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A4B718D0001; Thu, 17 Jul 2025 04:29:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 961788D0002; Thu, 17 Jul 2025 04:29:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 83D288D0001 for ; Thu, 17 Jul 2025 04:29:36 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 34D271DA92F for ; Thu, 17 Jul 2025 08:29:36 +0000 (UTC) X-FDA: 83673082752.23.A7ECED8 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by imf24.hostedemail.com (Postfix) with ESMTP id 9FA9A18000C for ; Thu, 17 Jul 2025 08:29:34 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="mAVD/iVN"; spf=pass (imf24.hostedemail.com: domain of jiahao.kernel@gmail.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=jiahao.kernel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752740974; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=XqYi9PdsDJTXopQfcWUwzUVolKIRDF/kwJRt8Q/I3jw=; b=gk2ef6I4TV1e4X80sgAGVD6eHp52XGQ6JoIoQJDojdb2NxccyWLTcR8eqgY9V8ZnoGrDnM PKaHDTY2FJBXEtmR/0bubJkbT9tmbZXpAJdRUBNe0CiIwzRScQlYOlnxk3p+44H+2Y15DA m1AU9p+3NQw2ydBIkzuE3dEiL/esjMw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752740974; a=rsa-sha256; cv=none; b=JOLxaXKg76AXTYyS4cSDcEhZgHP/nSpi7u8lWqqgLnbOm4sSStNaeOfDNGgCuX8ETh77SN aLCTP0a5ejIeHxB81+jD/tzYKvK/cyKloZGe1lRoJbugR8IzyUX2sJrMV6K+D9Xt44GL/M uCCsF/Px78jn87uTKdpIoj6MDpPRCx4= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="mAVD/iVN"; spf=pass (imf24.hostedemail.com: domain of jiahao.kernel@gmail.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=jiahao.kernel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-3137c20213cso748103a91.3 for ; Thu, 17 Jul 2025 01:29:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752740973; x=1753345773; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=XqYi9PdsDJTXopQfcWUwzUVolKIRDF/kwJRt8Q/I3jw=; b=mAVD/iVNmp15FieTZnx4mZxEdauHNfjE/F/gAi15Vn282f9vQY2uKr/imaPiN6TD/E E8256qtdIvu4hXWZxe2o6r5GK3SJrMzeLlwhZQaQtshlrcxuMAeiK4O5gtxKaY7cYkLj ikAeFdJi+L5xZTClrXyt6ouKgJTXkZ0i484lG0LQuBpTJwuvzU/uZ1z78ahsEmsd++mL HGEj7ko9xtBhfPFANmLAlmhRrCi3xewQH66O+7elIOOXSEgyqxhsvvFcVNt0tzXYm5c1 cfqlmsVPgM+0PYPZ8UX8pZobKT6dd7qPbWAzz4nX31XyKy+qWhVrIK564VJDYn5KuKLv kfdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752740973; x=1753345773; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XqYi9PdsDJTXopQfcWUwzUVolKIRDF/kwJRt8Q/I3jw=; b=YjAf39/aN+Sz9FzfMzglYS6urwgcGlDeFzGpHpjmFmDjJMhq8nt+sprR4sCHI2W5sR 5JptxVO1WUcMZlgfzc3UOMxD/liY5/pDN/bSgysLKwyN/djPdNWhuiLWH/M7sV5clmVX ej+A3+d5T05rgLYv22jsVDAmw1fi1FCjb4gPcJBHBnODJRRvm4+DpAxqoRz4TB5fcKda m1QlgA066lu8GS7+7JI9T6OYoRMdpZXm3a7ijrOzGco0yQBTZRf/7/di9RiD50U/oAhX Jo44EPI17e4TLZEfaXyA32eDqZSIG+rxOyvV2BAP8ga6KTQ9Ig19CTGWZRwQZugC24y7 iO3w== X-Gm-Message-State: AOJu0Yw3oP619frfSGMF1SOBAgqpa5+IkF8Fv//fw+EfzdXs399fFRcJ obTD/X49PNFw/PgEL/6lS0z2SL3G7NGVnJmPlccheWAVTjxRFwAW7yV3 X-Gm-Gg: ASbGncuV0ZFg6REfXUwk7RyXPyJjd6IR/YuwQ28lGCqqhsAkOFfzF+OKrkXkVA2n5BK eDrf1AZ+wHwaw8UKU2JWPvm646paaGxhLnS4niPRCbtsB3GXyaejfWbFDNKI3+bcp39QM2aei/b ikReT3NFe5wi5KnTlCIdUiO/haHH+Adl60NMjmsOrrXrB5YHy4y1ZcNyEtXMXwxU72ecu6bmrBL hbJ/CfApaMND46ZBRWHs8dDz9sTC9AGUfVFnYqtyuvJ37ZJtHwR3hyXeU3GByqJiXEZZ9hBj4A+ cho1vNygauVWu+AyA/pE14FkrGiKrhWYuTqOxoMxlEmMGj9PFMta9QAfofd830lxtztpI9ZjfD0 J8768N7Qud+fkXs5AHYR7Oocl8DYHr3F+4+IzaQCYKIDy/FzlXsA= X-Google-Smtp-Source: AGHT+IEhkib5hMOst8cwMktP+0uxDRjlFNVOmYJ34pQwI5EC06b55pmPkhYmCf1YyIZYXzTTgreE7g== X-Received: by 2002:a17:90b:3c8c:b0:311:da03:3437 with SMTP id 98e67ed59e1d1-31c9f47ccd6mr8609679a91.27.1752740973312; Thu, 17 Jul 2025 01:29:33 -0700 (PDT) Received: from localhost.localdomain ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31cb603aee1sm533126a91.30.2025.07.17.01.29.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Jul 2025 01:29:32 -0700 (PDT) From: Hao Jia To: akpm@linux-foundation.org, yuzhao@google.com, yuanchu@google.com, shakeel.butt@linux.dev, mhocko@kernel.org, lorenzo.stoakes@oracle.com, kinseyho@google.com, hannes@cmpxchg.org, gthelen@google.com, david@redhat.com, axelrasmussen@google.com, zhengqi.arch@bytedance.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Hao Jia Subject: [PATCH] mm/mglru: Update MG-LRU proactive reclaim statistics only to memcg Date: Thu, 17 Jul 2025 16:28:45 +0800 Message-Id: <20250717082845.34673-1-jiahao.kernel@gmail.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 9FA9A18000C X-Rspam-User: X-Rspamd-Server: rspam09 X-Stat-Signature: rrcm9yzfe9og1s6njnu7piigxzedhd5b X-HE-Tag: 1752740974-294024 X-HE-Meta: U2FsdGVkX1+vpxKdrjrbe+2LPzBVW/f954F1lyXkJy4fh41kyPsad8My7wvYCfKeNPzI+W7+++U0BdgcHwmbEVxh3rKHsgAooCXTjQeJqmsvQB7To2zpbPlsqBVbw1x4w/t7+otP+jTztTteotH/eBv/2DMmj5j8a5NrPeJ9v0ZJ2KR1rtpun49K8ShVTS0VYNqlir61kqp15SqKoyTddsgmyIfIv8T2QzXu+DqpFR2Ub/TRiSuQ9ZfwXKyiTPsWtLZbGzLv0anYGXjgjmvTV5hQnyXx+8W2MOPkh5sui6DGUSjpFK8GNKxG9ZVLZa6p2VH29XS++htkIsewwwd8Wm8jwkvCvr3rYlxB7+WhJtjQqU3GaOchieHStJYVTs0lFXIZhO1X32id5g5eTYdi09XcBmuqWRo5qPjzwPxwe4CzgEtvi6hp2WlZP5k3qQCEeZAA40sg2pOLf/G32OE1Nu5kq7VO/z2ZqslZ3JRyqO8ZoRPKb3Ph+QSJ+StMUxsJdT5n73Qo1UHuaA+bFyTCEcYAMRbn7VzT97T7N87s8xI0rumqING6Ev+f3rvARBCDGSfzHeeWtD85GJomkyii4Zk57usXZYpd6TQBfpZDCkoGWcqmyP74J9vSc1WqTj3Rpv3N4wgw0zy0WpuRrJk7r8TLUl3pNyEH7l7GKtU2cX/gZJx85qM1MwY0NkwUMLt/Em5Y+WbRy7gBSOu2Hgb0rzjif0NTjmQbHB0DTa4hae076TaNiY9Ztt1XkPnXDhXXoc18lUaXCiZEziAYTTKuoQocTv0ovmYQ5msrCft//vjcKOYaptBb7koYdAXg2l7lgV4ixOyAONgYF0yH/+4WIa7/EriLFX2lSEfeEpKKcc8QCxP332ExC6hHLGTL+d1nFZxeLVoQi093hUU9o4FNj3FX6YtpJTphD3tW0xQqGuflE828nyS7KC/Axr+SkxgEQBSkUm8JGncxIWBp3pn YnVP1Qub SRjgybfHicyvBfOKvUe73VSwbVHya0tWfBz2qKKGJCQvlp4daTNIfqL3S5Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Hao Jia Users can use /sys/kernel/debug/lru_gen to trigger proactive memory reclaim of a specified memcg. Currently, statistics such as pgrefill, pgscan and pgsteal will be updated to the /proc/vmstat system memory statistics. This will confuse some system memory pressure monitoring tools, making it difficult to determine whether pgscan and pgsteal are caused by system-level pressure or by proactive memory reclaim of some specific memory cgroup. Therefore, make this interface behave similarly to memory.reclaim. Update proactive memory reclaim statistics only to its memory cgroup. Signed-off-by: Hao Jia --- mm/vmscan.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/vmscan.c b/mm/vmscan.c index f8dfd2864bbf..bc92ec338065 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -5545,6 +5545,7 @@ static int run_cmd(char cmd, int memcg_id, int nid, unsigned long seq, if (memcg_id != mem_cgroup_id(memcg)) goto done; + sc->target_mem_cgroup = memcg; lruvec = get_lruvec(memcg, nid); if (swappiness < MIN_SWAPPINESS) @@ -5581,6 +5582,7 @@ static ssize_t lru_gen_seq_write(struct file *file, const char __user *src, .may_swap = true, .reclaim_idx = MAX_NR_ZONES - 1, .gfp_mask = GFP_KERNEL, + .proactive = true, }; buf = kvmalloc(len + 1, GFP_KERNEL); -- 2.34.1