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 74679C46CD2 for ; Wed, 3 Jan 2024 00:28:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9D6546B0209; Tue, 2 Jan 2024 19:28:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 986586B020A; Tue, 2 Jan 2024 19:28:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 84E3A6B020B; Tue, 2 Jan 2024 19:28:00 -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 750006B0209 for ; Tue, 2 Jan 2024 19:28:00 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3460A804F3 for ; Wed, 3 Jan 2024 00:28:00 +0000 (UTC) X-FDA: 81636112320.24.F7ADDED Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf02.hostedemail.com (Postfix) with ESMTP id 66E0E80018 for ; Wed, 3 Jan 2024 00:27:57 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=dIQm6lVR; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf02.hostedemail.com: domain of yuzhao@google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704241677; 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=4D/ScSo67diCtOm5/uS067tATdpuyW3M9IteQeNMCkw=; b=rkimYLfh/UoSbz4VfFlgpcw5r7BNsXtIB/oBCVE878T2yVW2YxmV62zADugQnjylkmv5qN svWtdfiCjppJ6HlSRVl1Je8qkqfD0j2KR15bKLDETua7QVPfuQwnNbzZYVacieQc9MLVuz 5lYzN8j4u53VCR+tt5ifCkhFt24gXI8= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=dIQm6lVR; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf02.hostedemail.com: domain of yuzhao@google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704241677; a=rsa-sha256; cv=none; b=30MxGtJbADuQpB9EVpJSpadnCq/Q5mxEbsmQx6HpdfvnAdXTiS4Mk30/w/ADs/M2uxFHgN 7S2YBB3O4Amjs2DqgFLz25DxA+rHlgeGdFRkoL+IEjVfvKtzLfW9Av9ZSdyAhoLqLR1ouf YXdluSSO/hxifxvAkOEx+ui2MGr48kU= Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-40d41a32effso23715e9.0 for ; Tue, 02 Jan 2024 16:27:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1704241676; x=1704846476; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=4D/ScSo67diCtOm5/uS067tATdpuyW3M9IteQeNMCkw=; b=dIQm6lVRyplfXeO0/RZYTfNGCqIhzOuybtDuwgUCuY3Wa/VJI4iheVR0kj/NskabAI THUxyn+f/QjngTn6qW78Zs2jDYhcqA3RlxZYEiSqHpdr2dwmFAJUdXbL+06Dd/YJ/h7D Rd/bDL62Y39QZFhwFd+QGNyFdT0v709nl1ZTNMqKf8XMKNXZkU7dW59aNkZ+5+joeewh 5iNlW0fRiVEurnf+1bES4f5NvX2Sl7FjZpVS4PEw5LXjdHBSZbc95eU5H23qibvOUqCy TNI+4c2lvc/WLZ9GTMI7VmBUjI5Dr3u3u3qDdVXl1mJF6JGV3Ap2SHh4frumRvLH9dB0 dY9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704241676; x=1704846476; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4D/ScSo67diCtOm5/uS067tATdpuyW3M9IteQeNMCkw=; b=JxCknDOoDbnqWkzzoYYpzbQfsVjqQDRh7hhHE+NV3zkqyydqna4thZM247nInDmbNv 0aG8bmTW09e1thuxJz43NFE2PIAUSN+fGxKh6tPUZa08N9Wo1yZ9QRKsw7os0f1nt8aP lxjtV/tG+m+dFplOWi/YlurTBZHP41goNMqxEKTswWcCL5soGubWaAS+33QCSTMcrPGV 2L7J+8V7+LcY4qCEM/MoxuyyERpH7r5Aw3ZMxS4XPQuGgNM4725tKY96zIND85Q04w65 +c0R6LEq3AzSCPxtAESksU6IsnfO1y6zblpSeUEAjMClV/e3fDNlRVgF9R7AZVDUDboN m92A== X-Gm-Message-State: AOJu0YxOQ2QzZK112iHqkRbMJdFegN5L0VwSx42oRoOyzB1UqWWM+W/L ZQShTt0sQm6u8HpxwVlDStSD58+DOe/aG63R29WAKPxookzr X-Google-Smtp-Source: AGHT+IECRhHL8i6EJhapjrPvjjkUFOBxuyxbDGo4rPMdOTQKZfID1ZODqsqG+FaBVNta653qz6jqVW1If/xon1YfzGs= X-Received: by 2002:a05:600c:354f:b0:40d:87df:92ca with SMTP id i15-20020a05600c354f00b0040d87df92camr17552wmq.3.1704241675743; Tue, 02 Jan 2024 16:27:55 -0800 (PST) MIME-Version: 1.0 References: <20231220152653.3273778-1-schatzberg.dan@gmail.com> <20231220152653.3273778-3-schatzberg.dan@gmail.com> In-Reply-To: From: Yu Zhao Date: Tue, 2 Jan 2024 17:27:18 -0700 Message-ID: Subject: Re: [PATCH v5 2/2] mm: add swapiness= arg to memory.reclaim To: Dan Schatzberg Cc: Johannes Weiner , Roman Gushchin , Yosry Ahmed , Huan Yang , linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, Tejun Heo , Zefan Li , Jonathan Corbet , Michal Hocko , Shakeel Butt , Muchun Song , Andrew Morton , Kefeng Wang , SeongJae Park , "Vishal Moola (Oracle)" , Nhat Pham , Yue Zhao Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 66E0E80018 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: kzu85m359up5gryx45sebfzfn1qbn65m X-HE-Tag: 1704241677-815433 X-HE-Meta: U2FsdGVkX1/mQ28tCHcyoDO/wEY7i2VAfaaFsZFvI+K5EzfPPV0NjjN3tKt3zyZZ8I6JQz/1pJZladkEDmreZZrTWfu4VjnXpEOnPI0sWD4JsyB9KBBj4iwFfK/QD0TGi4uznIVZI0KCYtvfdhEtxmnw1PS1C+Ii4McU3DDopPF/6dKsHAhxjRflkEnX5/MTLXZGZntJfr6f2x/mlfM7AayzCjk/RH0rgRp4Z/U5gvVjKVw+jDEwIP3m0l5wLJpqKY6/lXQYRLPAt7OcZx16eIz2FO5+tms3dTtLfqyNKTjsPvzFVnrLkWxKlB6HKFYwjZa3ECC6iLnPERWlZdLMXJEcCBq1eX+GmNSOuRQ3nnicPRuNY6x2j5ha5M4OmLI+GauAaDrZwODkyZsKc7i3bCTLCHi3i9mhy7pGTYnChyk2BiPfFoXG0soXA5rRngxCFOsrs2EefthNdewFYIpNwreWn31+QGQLUiLNaRu78d5adIHZz9Rp+hv4TyHKEiBF+3FebzrCHpfo7hZ7QBBXSn4rIH+Ut9MmdWCbmdoI+fC8VFKUWkgfezlX+uDEPHqrc6sHjCksU8oJ7yLKTo/8uUcyw/46zoomD1rTpwkJb56NB9bwgKboNmqfh0Kf/rRG25EfgYP45ls4QIIDKR9TcnEnalfy98oqZ0kAgOBUDqsaCf6pMfVU1+Er/lXU72vBvvU69eLDTXJpPNPQuvvCF8QN2pD7qMdMmcrIN8gjWLwJa7Q3iCbu1OP9FKml2L9iwTl+xaCvM+50M8RCKDCStEJdES8qaPyZdNct2flwtvtYGhXxZWFbV6uqAND4uIsywJTTWAuDDWSwB5+B0iI9wJ8BmwwLGwF4MRuv3bho0oto6qDLaY+jRjuWBaYwaraGjYsvUy0yqxOFoT6y++lWZPVm0lwbD66DBxYB/XMW68n81g2j9drAXflY15YmVzOpVHz0GDHvRbX++NQky3X 5ckGdDS/ kirbvXVKbGOsYs94X1mjWPCSxvAjWMGFIrVdl0kEgkg/KqDSRilKkTIefbDWJ/ibjk/ICuNAtLJOYwHYrUSJweqTVyA3YYtXPFfMlt12oQJ1qr0LX1Y6npLHA8y1pZDhKQU+JOsGQCDZVUOTtwXkFdH3/gtRGPdx1CIIYWaxdIYeEsraIpZmj/C+/EoDo5cEz3ttQkCagdxIYykXnqZYOwX4uIPgvGEKi8jd/JRsSEK4IfMYWFJXkMhruvqfp05QMtfFf7UcxEav+8BWJROrIP+QDQQ5fpqrMmf6s4MP+6cdL2frr2WDmDQULDBmNi8gRkvB7NG86GUKJ8IBZ+yzly0JWaUUbCQhlguSmNZ+W1z3AizDeC+RvMaTI6dZDnd4i3ih0iQGF5NU9rIgNZn+wr3ke7g== 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 Tue, Jan 2, 2024 at 8:21=E2=80=AFAM Dan Schatzberg wrote: > > Hi Yu Zhao, > > Thanks for the feedback, sorry for the delayed response. > > On Thu, Dec 21, 2023 at 10:31:59PM -0700, Yu Zhao wrote: > > On Wed, Dec 20, 2023 at 8:27=E2=80=AFAM Dan Schatzberg wrote: > > > > > > ... > > > > The cover letter says: > > "Previously, this exact interface addition was proposed by Yosry[3]." > > > > So I think it should be acknowledged with a Suggested-by, based on: > > "A Suggested-by: tag indicates that the patch idea is suggested by the > > person named and ensures credit to the person for the idea." > > from > > https://docs.kernel.org/process/submitting-patches.html#using-reported-= by-tested-by-reviewed-by-suggested-by-and-fixes > > Sure, will do. > > > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > > index d91963e2d47f..aa5666842c49 100644 > > > --- a/mm/vmscan.c > > > +++ b/mm/vmscan.c > > > @@ -92,6 +92,9 @@ struct scan_control { > > > unsigned long anon_cost; > > > unsigned long file_cost; > > > > > > + /* Swappiness value for reclaim. NULL will fall back to per-m= emcg/global value */ > > > + int *swappiness; > > > > Using a pointer to indicate whether the type it points to is > > overridden isn't really a good practice. > > > > A better alternative was suggested during the v2: > > "Perhaps the negative to avoid unnecessary dereferences." > > https://lore.kernel.org/linux-mm/dhhjw4h22q4ngwtxmhuyifv32zjd6z2relrcjg= nxsw6zys3mod@o6dh5dy53ae3/ > > I did have a couple versions with a negative but it creates > initialization issues where every instantiation of scan_control needs > to make sure to initialize swappiness or else it will behave as if > swappiness is 0. That's pretty error prone so using the pointer seemed > the better approach. > > > Since only proactive reclaim can override swappiness, meaning it only > > happens if sc->proactive is true, I think the best way to make it work > > without spending much effort is create a helper as Michal suggest but > > it should look like: > > > > sc_swappiness() > > { > > return sc->proactive ? sc->swappiness : mem_cgroup_swappiness(memcg); > > } > > > > In this patchset, sc->swappiness really means > > sc->proactive_swappiness. So it should be renamed accordingly. > > Helper aside, I disagree with this point about coupling with the > proactive flag. Sure. But I would like to hear a *concrete* counterexample. > The fact that the only user currently is proactive > reclaim Yes, that's a fact, and we should make the decision based on the current known facts. > doesn't imply to me that the interface (in scan_control) > should be coupled to the use-case. Future always has its uncertainty which I would not worry so much about. > It's easier to reason about a > swappiness field that overrides swappiness for all scans that set it > regardless of the users. For example? And how likely would that happen in the next few years?