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 C4581C46CD2 for ; Tue, 30 Jan 2024 21:56:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 571846B0088; Tue, 30 Jan 2024 16:56:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 520EB6B0089; Tue, 30 Jan 2024 16:56:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C1E26B008A; Tue, 30 Jan 2024 16:56:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 29FFE6B0088 for ; Tue, 30 Jan 2024 16:56:30 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B99A71403B3 for ; Tue, 30 Jan 2024 21:56:29 +0000 (UTC) X-FDA: 81737336898.11.F12B0F9 Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) by imf22.hostedemail.com (Postfix) with ESMTP id A30FAC0012 for ; Tue, 30 Jan 2024 21:56:27 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=JdLlfNlj; spf=pass (imf22.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.47 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706651788; a=rsa-sha256; cv=none; b=Skp0V4B0H5WEkfU1E5zjvA1q2o5ezs7WGitfUwYEuYbBUMTaRPDQrmKjaX1HCLqryJFy4T e5LrhKMOtpjAG+e4ihrviDPMpLop+vnjSl5KdcwCx5WgdsMbx+HujDAjmkCFXI+awxJFfP ZbQ0zx8b4E9EucXWFlwzoWTLk26Erl8= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=JdLlfNlj; spf=pass (imf22.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.47 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706651788; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=zUwitgcZ8PysFOK/IjV63sunJlwofoIw/gZSZx3mTw0=; b=AbSVnBEeEaA5om5OCqYJKkdDKfOz1l3SehSLC9HywqJoxp+pRPUqHYQQAaj96v4kP6sThM D5cUuhiWtYhN4PwblTBVpP/wUNlICIc3IBsylzzuRChSbxFNfxnMP5De45zBYUXQaQzDQC U1gVT20YX6okIOI18f0o9fFU3HElY4o= Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-686b389b5d6so37635366d6.0 for ; Tue, 30 Jan 2024 13:56:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1706651786; x=1707256586; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=zUwitgcZ8PysFOK/IjV63sunJlwofoIw/gZSZx3mTw0=; b=JdLlfNlj/AcE8RF0OuTwsmJ2SB1ol+taAFcbB6cD9+mOSuYyvGz53X8WSumYQhF0ZT knQmrO+sAI75ZIxTTXOqpSVHut4vvfoJ0ldNlvKImDTXWp75+OmRhYh5C/HA+JKGV6v6 gaJAPSlE4CfRkAe7tXm5sgnLY48o6Qi6w8+eQzOAX8tL7Sly4D7P+CsCJUJral69e9jk cW4usX+SAz+G0jhbMex2riCyF0LovIOYWaEnn9m24HPu+6r1IrKg8X9BqKus506s1mnv W5WP5CFJYJ2WKOYZ+2kAYrU0SewLgyFJ9nJJTh9D0TqO4Tc0xkMl7RiF51S6+5QFw41T kGww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706651786; x=1707256586; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zUwitgcZ8PysFOK/IjV63sunJlwofoIw/gZSZx3mTw0=; b=rNjMrLxgyH3tK8AoGAxENTtuC0VwagAcdH3uUD8/Rxw8aOUrwmZKW3AAmgnPQI51xM K3enNj80pXD4r0kiSoALxpJvNh5nrbZagyKopPgMzYq85CztV/E4KF0mbKNHkM8tJpHW OVIjWHsioIn+uiGfrT2OWeinoh587WTYGjj79DjTcakgLzzpXhzjl71WQdi0/9+glNLu VEOWcVs+E1Yd9heXL4cypSoRZvxbLW5t+z96O/zIBlRygtdwRlbKGHkcd30G9SKBliFU fe9+uXX567iOFdCWyUdqVs65RljoaX8gbp1OWNqzrcq0mSvPK4qeRAohhQjcgJ/qogci fZag== X-Gm-Message-State: AOJu0YwQSQTL6Quhm9K1JwkE1T+BywGAGrirBRpJhm2mGBMCk8WuzwfG nkFkgUs4dW7Yo23oZhjzaT8pcSepZjtkM+uBYJPoGI1nXVDbw0fpWVE4RbZGXRw= X-Google-Smtp-Source: AGHT+IEaHZUxi5O8j8Bxm1H1MuCEcZ4girsG/PslfOcIwAPmfhwFr0mToEqN3itXQuBrFZ8Ns2nPOw== X-Received: by 2002:ad4:5ecf:0:b0:686:309d:8915 with SMTP id jm15-20020ad45ecf000000b00686309d8915mr9823848qvb.6.1706651786531; Tue, 30 Jan 2024 13:56:26 -0800 (PST) Received: from localhost (2603-7000-0c01-2716-da5e-d3ff-fee7-26e7.res6.spectrum.com. [2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with ESMTPSA id pj3-20020a0562144b0300b0068c68437655sm362333qvb.115.2024.01.30.13.56.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jan 2024 13:56:26 -0800 (PST) Date: Tue, 30 Jan 2024 16:56:25 -0500 From: Johannes Weiner To: "T.J. Mercier" Cc: Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , android-mm@google.com, yuzhao@google.com, yangyifei03@kuaishou.com, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] Revert "mm:vmscan: fix inaccurate reclaim during proactive reclaim" Message-ID: <20240130215625.GA970164@cmpxchg.org> References: <20240121214413.833776-1-tjmercier@google.com> <20240123164819.GB1745986@cmpxchg.org> <20240126163401.GJ1567330@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: A30FAC0012 X-Stat-Signature: qjxds56fd7m4ktnyie4nuyzy5idmks1r X-Rspam-User: X-HE-Tag: 1706651787-629225 X-HE-Meta: U2FsdGVkX18ml6YjYTqHnsiJDLFySb8CZjPvnvi+o3XT+G/eJn5kxI7bx/IbEP58reTtfqacW1CCWSoS7Yiyh/ZGbVYwWUvC6Dv8mM/SV+oqzyHCgvH/zOfpfG5q1PpdWr9hgGwa4EOCJGJFCuHYLOc1mnEPBhhDeYpiJq4S1ZX1bzvSf86Go9UQt1bbXaOMJ7pFIJGHqJzoPSouzjn7UgVqvlcy0bBST3OV33X/pxokVBwShSm3NBH7S8LnsKXk9NlwGe5Ao9NlAT5vns49QKlE5CEjhVwDGo2hKxA+1VcUVkxiGS0XoY9fWTXoTjdfHC6NdZRYhJT2KSt1Khra8SMZBLsQ3u0yfWShltnr32rDKJ0MaroqgBb/qV+SlMZBlxQHY4/cmxyUCcv0zWHwZ96688PYdi7iK9IkZAYAL2IaQqIICrEpzqJhW67cxpPYfnJo0ADmr5liDDeCzs0OUrbdARWCici6FRoEFLHX+15++MLnGE0S3/PN37JQOOTmDKmcANbfGoLvezTHWpilsTzYCOF6wGSFPbVBC7Nfj1JgT5OZbKCRMFKWMlXNyhkGSOesfIQw9Y5VsPqfKjc+zzFmVcOJX8bFnxKqCPhKMKbpOmPvMHZt8FSfKWGTxg3kMUIjoQk28gMMoRocW6e27xoF4G9bo998xvhxW5Ba8bEp2PNZ5qqV8ygG6W+hUfKUUJqch4RB63kJwugv9XV/j0VoXb8yctTxdqT12yIX048h1uyRn8kO3TL+Fi0zFT8z957XxbSpTvibtPrago7SGzWhAts1xFacgWOVYe3Xd2yCfd3FBLXIqXG9gTq1eaEyJOYoxWoDx133ykP0lflQkxry7YimCNiqBJVZf8qxR35csoh54BM0QrwfUGDe817qBVOsph+/po0IkFWFK17UFt+3lOXkjQVkkWZWXpM3NjJHyZrCLO3qeT27Qckm6UUkF/Y54cpK/qw+MVY3f4l ns6DP7id TGLcTV0v1/NjsDuiIRJTuDcxgYapr0+mIR+qLOsHZwLRzuSnblGdMOoY6uiIbn0cPj5zme8JDdRsAcx3/rIj/VELMhwKYotplkd850uG0ljqlye8rmuooACztJ9/Ye+kVZE+4Usv1EBCC0hokPLteGAeTjcCuRmniOB+atlZwzjuRVUZCCjIqkNLEqMxM/d0rUD1SXk0H66bhNPb4I1MMfGZu60O0bhBRdFMxbiD4XBRBqwzwJ/gT+G22Bq8PJKGHK6JVKh6ALoy7f9fQvEFF+C2uBUTQ1C1gt1Qr82Hp2z7fm4jV9juxgMbIuzxW5ncYjuI9Q4Ozk1GLj7xwPqPqc1fVeLM3mN8Jkfu+WFNnMnrQJrkhmo363GLl8Hrlm2fj8qtBIyHstsU4m10= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jan 30, 2024 at 12:58:12PM -0800, T.J. Mercier wrote: > On Fri, Jan 26, 2024 at 8:41 AM T.J. Mercier wrote: > > > > On Fri, Jan 26, 2024 at 8:34 AM Johannes Weiner wrote: > > > > > > On Wed, Jan 24, 2024 at 09:46:23AM -0800, T.J. Mercier wrote: > > > > In the meantime, instead of a revert how about changing the batch size > > > > geometrically instead of the SWAP_CLUSTER_MAX constant: > > > > > > > > reclaimed = try_to_free_mem_cgroup_pages(memcg, > > > > - min(nr_to_reclaim - > > > > nr_reclaimed, SWAP_CLUSTER_MAX), > > > > + (nr_to_reclaim - nr_reclaimed)/2, > > > > GFP_KERNEL, reclaim_options); > > > > > > > > I think that should address the overreclaim concern (it was mentioned > > > > that the upper bound of overreclaim was 2 * request), and this should > > > > also increase the reclaim rate for root reclaim with MGLRU closer to > > > > what it was before. > > > > > > Hahaha. Would /4 work for you? > > > > > > I genuinely think the idea is worth a shot. /4 would give us a bit > > > more margin for error, since the bailout/fairness cutoffs have changed > > > back and forth over time. And it should still give you a reasonable > > > convergence on MGLRU. > > > > > > try_to_free_reclaim_pages() already does max(nr_to_reclaim, > > > SWAP_CLUSTER_MAX) which will avoid the painful final approach loops > > > the integer division would produce on its own. > > > > > > Please add a comment mentioning the compromise between the two reclaim > > > implementations though. > > > > I'll try it out and get back to you. :) > > Right, so (nr_to_reclaim - nr_reclaimed)/4 looks pretty good to me: > > root - full reclaim pages/sec time (sec) > pre-0388536ac291 : 68047 10.46 > post-0388536ac291 : 13742 inf > (reclaim-reclaimed)/4 : 67352 10.51 > > /uid_0 - 1G reclaim pages/sec time (sec) overreclaim (MiB) > pre-0388536ac291 : 258822 1.12 107.8 > post-0388536ac291 : 105174 2.49 3.5 > (reclaim-reclaimed)/4 : 233396 1.12 -7.4 > > /uid_0 - full reclaim pages/sec time (sec) > pre-0388536ac291 : 72334 7.09 > post-0388536ac291 : 38105 14.45 > (reclaim-reclaimed)/4 : 72914 6.96 > > So I'll put up a new patch. That looks great, thanks for giving it a shot. Looking forward to your patch.