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 65C71C47DDB for ; Fri, 26 Jan 2024 16:34:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 001926B0093; Fri, 26 Jan 2024 11:34:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ECCC46B009F; Fri, 26 Jan 2024 11:34:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D6E216B00A0; Fri, 26 Jan 2024 11:34:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id BE5396B0093 for ; Fri, 26 Jan 2024 11:34:21 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 929CF40830 for ; Fri, 26 Jan 2024 16:34:21 +0000 (UTC) X-FDA: 81722009922.16.AA8AC69 Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) by imf11.hostedemail.com (Postfix) with ESMTP id 936324001A for ; Fri, 26 Jan 2024 16:34:19 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=Wz+Z8GjG; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf11.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.173 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706286859; 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:in-reply-to:references:references:dkim-signature; bh=OKRWQpKoDhVi11EbJncjcZq8dzTJ4ms1gdUVmVL1vMo=; b=8KuiZyVYb9F5DAC3uviAeztUh/PtjZZxi2UMw0u7A6ZzH/KrSNhtsF5a5N0eFUPpjyNwP4 4jIMRndkL3FLcbuEUkk6r47nHBzpmcCPcFmZj/EWz4f7XtS6qSQXrLj3WhfIZZCCG0Q6Ee ZWKWmA0r6/nUfnup44YFtjFkTj5WZBs= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=Wz+Z8GjG; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf11.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.173 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706286859; a=rsa-sha256; cv=none; b=zFFYDhjFSoBRa4R2KmiHBkQ0Tx1vl+fovjk3GnyZf4EGYEX5AnKX0L7CfWF7Dl4FnTk9Nv LxN35OL6slG0IkipgbZYOumfT3K6Zen/Li6/QcCfe422adufzY4gClb62Q1ViHL5uIw59L vF71vqhDblbS0DAgCAJqXM5JDuAhSi8= Received: by mail-qt1-f173.google.com with SMTP id d75a77b69052e-429af318342so5463681cf.0 for ; Fri, 26 Jan 2024 08:34:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1706286858; x=1706891658; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=OKRWQpKoDhVi11EbJncjcZq8dzTJ4ms1gdUVmVL1vMo=; b=Wz+Z8GjGwREQZvW8z+NCk8EEPK2AuOzlykkefm0TJ3YQkyQwqDMH+brVQDEe+xhXeh EuZPfgSXC3BOreg8PNlDlsSq9EPFRE5iPe5JlVQEDl4v0N5mqB4qCNn3IyspEA2jbXln HXtNSYNtaJ4NMIpb58ol4oHbR6pyP5CI78+FAWUDDUqCJ/RQx4bH0crg3uOUBBwKkR8B ldcn2v42GqsPQ9wN/e2d8sY0YeMP4hwfw488nUeBj+/Zf4Kz18Rtl+rOWIUTDJdcfnnm 3dkPi088Nh3CT1m6n3t8IN8gTVlAJCJ4lA+yyOjFk9O/sm6Z79t/6MOpCco72y3MhE52 M7KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706286858; x=1706891658; h=in-reply-to: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=OKRWQpKoDhVi11EbJncjcZq8dzTJ4ms1gdUVmVL1vMo=; b=d7LeY1VjzEkaXiCTJVcN6NqKD93aY1+m0AeuDcmq7jNqFgLSpC9J+0VgzH5TX98rjR u/KejjB8vK14YOqJh++O6/BVhPm+rWIwlrQQB5EeNY6IIuNMcbx2dzR8DortzrUE7vHG 9YuxNJnLBwyTMTLliBud3MAFYpKyODatlBTlGn13A+tBsR5v6KOEqq+CrsswXJOUMy2b AVtcF5L45i0x2oFPiXqwF3lqiH6a1lNwqnNSC71pag3hgQVqdSJIrfoY6OsQxrDOqPyv jXChjuCuTIdDZkU8shNz+xLTJ9AR1l7RyykvloelXq/9d5u+nCqiB3aoQDUDIG3j4OgT LpUA== X-Gm-Message-State: AOJu0Yzc2+pp5UhvNdVXqmMa4jbWCcbtdnOVpF0N0+BOkxUqoLjMNQJX Y6knL6GFfGC5xriq0DJZLQUAEdYBGdklqYh94NpNaUiRuvxxvvBqyM34LFyiQfM= X-Google-Smtp-Source: AGHT+IGUR0dOLRsatsRzJjXg2S4qZHwNs1TSu/FR2bKyi/XH0DHAoB6rSk6mIGDhkpJJg+zzwH+lTA== X-Received: by 2002:ac8:5710:0:b0:42a:504b:67ac with SMTP id 16-20020ac85710000000b0042a504b67acmr107263qtw.68.1706286858505; Fri, 26 Jan 2024 08:34:18 -0800 (PST) Received: from localhost ([2620:10d:c091:400::5:271e]) by smtp.gmail.com with ESMTPSA id hh10-20020a05622a618a00b00428346b88bfsm640126qtb.65.2024.01.26.08.34.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Jan 2024 08:34:17 -0800 (PST) Date: Fri, 26 Jan 2024 11:34:01 -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: <20240126163401.GJ1567330@cmpxchg.org> References: <20240121214413.833776-1-tjmercier@google.com> <20240123164819.GB1745986@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 936324001A X-Stat-Signature: q8hxcgr1ks1umrhr74docst3115rx6pj X-Rspam-User: X-HE-Tag: 1706286859-637507 X-HE-Meta: U2FsdGVkX1/coM8jD3jO1Kag/954wGNq0zynHHS7kpKzKIPeV9DoLhbrDOUtIK4Z6dzaIrsg7Zs/yLtq1LAn56/LtWpqikwWVVzvRdRZcqeysnYR47gR4WxBM3/LzBQAU/pjk/J3nS8qQGWHjEHd9I1sfmH/3hfupyq4YIuodfoSl5Gu55U62deeZLggzAeDWIldCQ4/sjg3/7QAZyiA9pdkGGUAtRv8qgQZ0YEiHftRbJdEkgQD9mV138svDUdi7HTctbYpevm4hDoMQBOHU9XAS1o8Jg84FpegVjGEwKBzV+DkrITXLkBMgv0WlHDcDTmOoUJbXSpZarssdj8TuFi2cXBUvW726QvK/qczWYO3hH0MVairsDy1BCdEy1wnmAcCWTLPPnN9et1lLADt18d9PfND9I06d0ofm4HP5QImKylr/jP3p8QT4GwpJTGJdG3+G9tHSnlzF0AVK6/tJoxGJyU/ETA99ibTzTqWtZeAlaU6ac8aG5hQn35yvKivdnrrHick87D4Em4abvtqGNrV2b04Z/YqcAl6wYD3uySwsWY29+JYJnAUlXkEsJKt2fRtH+R9fxT3iihX5q6893TiW+L/wVTOS7k7v3OSYssQiNBny370L3ow/UYETOeBTU/iZy8eU8mZdP2dloXUTy/nGU5L3nmk0+hcYHnwKdfCSdGpxkPypn1ubyijYLsMMzPRcyGbaDPqNacqMozaQlkSrvjNx3/pplKtBQ+eFRS7G26sB+rHU/3nS1QMFmGOVSTLZ+t6vJSbQ9GxyTgu3ucwBr7abe6sdq3jqtWb2SotUJBQrpS5hF5LC3GtfUUkSCDGSxwH6l7jPvAhYb5A79PpDsAX9qmNtN+YQxTVjDpy8pHbXlOJlAsy/GL3HkCrHMowjx/9GLk1wEFZ5rPM8I06Zxa85sn8/vtbgQOm8jQ02f/3fo1yyCJ13elVaK1BYeuUm2v3LEyj1d/uTaf Ms+AnLzx P2At2+MLXkd3jK0XPIFpQAoHDWE04KTyW2GyVJincVRJM6KKo/9CcANikC4DltiKIPn0KnI5PmWbEGyWHmHjyU9AcqJyiFDXN2LrjsfS4N84VYmJilZddrqIkPD9Jq2Ze1niOFqTUI8Pr+bIsKCX/tO6XT0ApXP3bADUdvhQZgVcPrlTr9eUJ5DE6eeLEcUKLqq9E36W+FL9B0yln7cPAUVVHZ3SAi59SbjY6rqbji9yD7/K+FQzbGr1DDuoalRXs9WswVwnrW3TcQBPE9rPew4npxMJLQ2c7WM5TJBVQAamrFcjvFWutI7VqG4Ypq3Y2t2U+EvwFa48rZCripxrhYQh7nZaG3RfI4HiPUjSXsN1axq5cgPMNQdkd59nv9fvGZ7gnBwUsxN/hS9rk3fzes/dJjPB1tfIss0R8+caBCHr4V9OxsHAEP9ZcinQ3HSxLrZNVORM+En+J3GnRRbXRXgMfgDrILiE8ahvJ5KZ0nXSwmoK39YCBs3579Q== 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: 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.