From patchwork Sun Jan 21 21:44:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "T.J. Mercier" X-Patchwork-Id: 13524682 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 D8BCCC47422 for ; Sun, 21 Jan 2024 21:44:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 293166B0072; Sun, 21 Jan 2024 16:44:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F5FE6B0074; Sun, 21 Jan 2024 16:44:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0973A6B0075; Sun, 21 Jan 2024 16:44:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E85016B0072 for ; Sun, 21 Jan 2024 16:44:32 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 85905A16E3 for ; Sun, 21 Jan 2024 21:44:32 +0000 (UTC) X-FDA: 81704647584.23.EC1BE29 Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by imf09.hostedemail.com (Postfix) with ESMTP id E28F6140013 for ; Sun, 21 Jan 2024 21:44:30 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=y9SjGf8+; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of 3PZCtZQkKCEg3two1mso1qyyqvo.mywvsx47-wwu5kmu.y1q@flex--tjmercier.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=3PZCtZQkKCEg3two1mso1qyyqvo.mywvsx47-wwu5kmu.y1q@flex--tjmercier.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705873470; 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-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=42CVSiV7dgut5spnJTiZryp5KS2ThmG9GG1m+AnlGQk=; b=IQ3vMBRunDZEiTwrNH9Bl3MnWFFtvCiAnuTuZnv47zHzJXpWuAmlufrJDcQ2nj0VEbzPTm EuUmZLCJarg0cqYh/960eIgNFNMyuYhKzzKYNULKU4acp4+DCXj0PsJ+M64V2IcZ08ueXB nB0WPpqafFDP7wBsw3LoqTkn4qLT1fU= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=y9SjGf8+; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of 3PZCtZQkKCEg3two1mso1qyyqvo.mywvsx47-wwu5kmu.y1q@flex--tjmercier.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=3PZCtZQkKCEg3two1mso1qyyqvo.mywvsx47-wwu5kmu.y1q@flex--tjmercier.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705873470; a=rsa-sha256; cv=none; b=kSOlBudUoXJtG5DNAbqMao2/3VjEq4HMq+/0jyinUgYmIsnOwVjBrpi5y8KHBCrLLtc24B LR6ZzGVDmMMLW94haZ7dIslkyf41Q/+r1oGxhBIVP1ROMsZhJB6bOxrZoBd1AmjzkooELi 5LfBq204do8IgBNThAgNIv3lR63woN4= Received: by mail-yb1-f202.google.com with SMTP id 3f1490d57ef6-dc223d528cfso3728845276.0 for ; Sun, 21 Jan 2024 13:44:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705873470; x=1706478270; darn=kvack.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=42CVSiV7dgut5spnJTiZryp5KS2ThmG9GG1m+AnlGQk=; b=y9SjGf8+lVGVlI7FDJduKxDeAarF9sryrlxwAjVi22ue4p+ik8FSHXIQ+WOZMVBMe3 21J53clVcS4D1Ovd16iK09kgt3/B80Y7PywbtcLRE1uUkRCHlDoX+IvRByy/L92xXFDD /2VN9/lC7Gm1OHRTozGT7CFNEkDq1z+6UcopcVw2EEt3HDEseyEKb+Thr2nnLVj7LDME nGWjXAEa1/t4K0hDnAs6KWvxp+GzecuCxTjNeIkO3mFbEVQTG9jzCB7UVWwboSRVCcjP G27+h8Iul7fXN3c+PrQaCnaSFX9lyN153uDJVMGQhR9jTZXi4m1OuZHtu35bqTb/rZXC 1wNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705873470; x=1706478270; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=42CVSiV7dgut5spnJTiZryp5KS2ThmG9GG1m+AnlGQk=; b=rjPmdPUTitBaYAMule7eI7I24sNm8u77sVueG16d0KtKobMOYOJQbtHHGTmKfukK9R ncymOGp8p76nPjuGNKrI75AwrzdtXMjBgrpE87wwRb31TUw7QsVcaoJFC0lASYGj+VKd AVc8F9NsOxmOPWLmeEGkZ+4kmjw+N1xakM6QyCzVDAnbehz8pBaaDHzhO0O+NGOmkJW+ Y6g3Vp4TjNAs6A5vUdcAiAHTh1YqMV2MObaC4sFbxbihJ9k/uCzLAMSG3omYHrGZ6jq0 Zip5oI7uKK1lPc/aB6E0CqZ4jhZ8JI2ftqvqIDrwvnXhB8+r+MxxRedIEO0LIjk/ln6K qceQ== X-Gm-Message-State: AOJu0Yy2Jt2Ey7xnbIu75C/ZDHOhla7pxVWlCmxOTetwMhuWf91ev8Ld dqtg+0Kw69TgRx8P56nKEzkyWgKjY9GIkmhoQAUKe8ZtYz4iszPkvvvfueFZByuVOU26zvxOEwh LatWpKhoHe/0B5w== X-Google-Smtp-Source: AGHT+IEMyWh2JilAlDoiXR/SNFCsaW7XcaXIO9/SLICkIU9rA3hmvI/12jiPGRRnzJ4MSPZQr0BFbytoIkLdrTs= X-Received: from tj-virt.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5683]) (user=tjmercier job=sendgmr) by 2002:a25:8204:0:b0:dc2:2179:5f30 with SMTP id q4-20020a258204000000b00dc221795f30mr1531560ybk.1.1705873469887; Sun, 21 Jan 2024 13:44:29 -0800 (PST) Date: Sun, 21 Jan 2024 21:44:12 +0000 Mime-Version: 1.0 X-Mailer: git-send-email 2.43.0.429.g432eaa2c6b-goog Message-ID: <20240121214413.833776-1-tjmercier@google.com> Subject: [PATCH] Revert "mm:vmscan: fix inaccurate reclaim during proactive reclaim" From: "T.J. Mercier" To: tjmercier@google.com, Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton Cc: android-mm@google.com, yuzhao@google.com, yangyifei03@kuaishou.com, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org X-Rspam-User: X-Stat-Signature: x3uh81bsrpqyf3dm5dw85yoegrnpn1cs X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: E28F6140013 X-HE-Tag: 1705873470-312411 X-HE-Meta: U2FsdGVkX1/yE1L4KyyI17fFsq16OhpWXVkZ3L2w5CAOXxSD/+JuPvRq5VSEdUXBKI+XDL7Ic73pSPkDoniC59XsSYMpVKncpR6GvXIZG8KAm23Cxc3m/WjW64LKSuzxDNHJLSekB26/14YGQupYV1v0I66i+rWta/Rx+Hw95FzxvfZ9rwNTVlWkezSiKp28cOBo59jkRmT/OBILvKRSDgLB6SRzEVEWgbaJpcxrDinRfNw7PSj/i+UMg/zgg8+GJ930n5TYQKLjY4o1T+tKcT5FIOp8psqIpxiQFD+3BREsj7SWuaMAY50qxOWMoQCIwow7Up8cQfdLXdy96LVl7XFoGXp9F3eKuqf72WIOxi5JRvsmsfeEOw0QLtOkzD//kn+vvRlaW+0HsLn7XCrwEoes2K9t40FfFuEvJ7uxpalz7B07XODoNRNt3MphEgi9TNTWoMQGDwE4grMqQvDkFq6dGKO2cf+zTXaSGpUOq8huo7RIUXHGCIAjEMUirAXi+8/WpHATmpbnoZ5SLsZs7wdTWgvgOwLDTTveJPu6kXc3S9rrZoYJ8qOaur178+Bg50BZ9IdcMiCDDYk114Di6Em1ZiC7lXKtvgx8QfnsOdAG4xEPjrw9x1ROE9Q7YU9rRu1vFeGCbPi14ACnBUTnVs1xPsfi/G9eyO3TT4b1k+YR8fZdDPPQkvXpYBr3tZrmIj9sPfGUxNYqLiibrlRwlM26pRBj9J/vC8truHLxtvRrb/cZ2q0kzqfs0Q+f4UbUOTxq/CqwvMXKJIi+I38U9iMM0gjAwAsePD/AStMq9DVaLQ8pU6YDJwoX0njsg7pf46djnBPybCnY5wrw2K4wEYJhCAvuREkYB1usrignffQ8rda0ITIlouq0bkrzsDTC7l47nVJX1nBhuMVopzd1B/WiaMQH/RxxZurphpQ4QRd1wuEEUJURDQhNZdL/ZDfCO2/DFKD4PXgm3l1hhRa 9zvVJrJa r9yYmhy6iUiJvSOUkW/cDRL2n8Lfh+MDK4EvsysfJ9ob5Qf0TrlYHVIqenXHe6a+k/6NCimhQAGdyegbC4WcnD32Sti3n4TypO2M4BPaYKfdcRqu5YDyV5PRcVgvJ3yavYxiAp6hXXbB/wB1LI7PtqvuQT1O7lnrAVEeZbbAjbA8iMEzu9oN0F+Xy6I9dgjGlr13lRtAvGdUs2WhC9ot3aBa+wZYmC3nhuv8WxC5OaUAf94e8VOx7uOsXzyj1QvKtr/0TNWGYnI53xB+2BvGykDsQZWq85Uil9kiAXDjIrbt8LjiW7esyL60u/YD7XfIlNN0Pj0PDKLciPVVrgXcLridVjN8K9JGxr34RIlZrKHAuBaO1xoZyP6PKY1iwVFR3Lp8lI4gqdF2WOFqroHgK75MDyRDWwDJKGl6MgSU8I3J4RC9FW9NiudY7qTkp2YfDS9ibX6AdzFDB+wL3+QjmdD/GKbirI70abMbJh2OX/4H5RNjBKGo4dnP8lCK+8O6tngvxjNJnYjAwpRGGRGzNlnsWnjClUcDXmhjI/4PoKwIJA3YMQWpFFge37dDzyADDMm0wJFOV5dp7S6o4LOGR/lrNt9Sxe0MTr1+yXl1XeSQuX/V0wT+NVTkRg7iwgatXYhj2 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000021, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This reverts commit 0388536ac29104a478c79b3869541524caec28eb. Proactive reclaim on the root cgroup is 10x slower after this patch when MGLRU is enabled, and completion times for proactive reclaim on much smaller non-root cgroups take ~30% longer (with or without MGLRU). With root reclaim before the patch, I observe average reclaim rates of ~70k pages/sec before try_to_free_mem_cgroup_pages starts to fail and the nr_retries counter starts to decrement, eventually ending the proactive reclaim attempt. After the patch the reclaim rate is consistently ~6.6k pages/sec due to the reduced nr_pages value causing scan aborts as soon as SWAP_CLUSTER_MAX pages are reclaimed. The proactive reclaim doesn't complete after several minutes because try_to_free_mem_cgroup_pages is still capable of reclaiming pages in tiny SWAP_CLUSTER_MAX page chunks and nr_retries is never decremented. The docs for memory.reclaim say, "the kernel can over or under reclaim from the target cgroup" which this patch was trying to fix. Revert it until a less costly solution is found. Signed-off-by: T.J. Mercier --- mm/memcontrol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index e4c8735e7c85..cee536c97151 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -6956,8 +6956,8 @@ static ssize_t memory_reclaim(struct kernfs_open_file *of, char *buf, lru_add_drain_all(); reclaimed = try_to_free_mem_cgroup_pages(memcg, - min(nr_to_reclaim - nr_reclaimed, SWAP_CLUSTER_MAX), - GFP_KERNEL, reclaim_options); + nr_to_reclaim - nr_reclaimed, + GFP_KERNEL, reclaim_options); if (!reclaimed && !nr_retries--) return -EAGAIN;