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 E7F9EC28B28 for ; Wed, 12 Mar 2025 23:17:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 883C6280003; Wed, 12 Mar 2025 19:17:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 833B7280002; Wed, 12 Mar 2025 19:17:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6FBD6280003; Wed, 12 Mar 2025 19:17:04 -0400 (EDT) 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 4F378280002 for ; Wed, 12 Mar 2025 19:17:04 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D333DB9B37 for ; Wed, 12 Mar 2025 23:17:04 +0000 (UTC) X-FDA: 83214461568.29.AAD268F Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) by imf22.hostedemail.com (Postfix) with ESMTP id B9F8FC0016 for ; Wed, 12 Mar 2025 23:17:02 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=rUA0NX4O; spf=pass (imf22.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.181 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=1741821423; 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=b0m0501pokvAdKI76mDPAcdtgGT7lXQgkQXJ23hE5nI=; b=mSEfG5EvxgKwt4zQv62GlT3DLQvd4MFrNr9S/KlQd8sPV4yFSwpuH2FRaE39MQQ5SSNKHl IBZOGds0XxVYxAJl5pz3KjW1hqs0OjXh7aSKdis9uK0Ow1fL0U2k/rLJxuRuR1z9A7c/iT lH6Y6wJYENEGFfx+vLvkdTCMjR3AiBU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741821423; a=rsa-sha256; cv=none; b=QsAOauSSEbins8hx09XLLnz698LQX9vZuBOZFcS0uDE29/IviszOz4I0NIpsrM9+esTp/Y 4BTsev96LKKR4i4TmAwxQ/QxdwOzaP4G1GjJDQIAjF2D2d97px4MsXi255I+PVgGlgkOZO Qmjvqu04NxV69HZcrIbd8M/pWcXfWAo= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=rUA0NX4O; spf=pass (imf22.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.181 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org Received: by mail-qk1-f181.google.com with SMTP id af79cd13be357-7c56a3def84so31486485a.0 for ; Wed, 12 Mar 2025 16:17:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1741821422; x=1742426222; 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=b0m0501pokvAdKI76mDPAcdtgGT7lXQgkQXJ23hE5nI=; b=rUA0NX4OgRsJfiWFLvbVzmCZRf7HhBuvgyUkodD5y05ADDkPAX++OFbZQj9e7I5ba8 ylQwdPwvY90PtxazIBbvLD/p7Hg4YtiuJ3r9qwCejSzR8Rn1wui6IfBWMFpubXLTqhTP I1JFfYWqwuZcielepdWSg4uTAPAAl+fx+jyx/9XJNDB46p8K3wK/Dp4peJ18r8R/zbdG 7fLYnlA8zebgol16T3hLyz2zhHkMGk+B6yW5S2aUff0X6xiMExxH5Jhrz41bv3v1beAL 5xYsgP6vj/gJRS+6GyAZz2eR36TJ78+YvnfPZn5jIm01iLbYTs/jDwi72R5v7j9YGwpp uRLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741821422; x=1742426222; 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=b0m0501pokvAdKI76mDPAcdtgGT7lXQgkQXJ23hE5nI=; b=cSskcZwQqT1XyAPAtfwfHufCe3rdl1kZULI5pUv2toYg0nKgYcP83yJL4reKYLphKb Bq0C/3WcbrDMKgPSgez386jrNJx5/KSzXha5pHqJg30f5MtdirOSLsM2Rf7kCgpb3RI4 KLhIlDJMMipveoYkMWYbx7VPdBsd6UxTyFw0cnznvRAxgeX3oD/HddMTXjwq4oOVzgKJ iLDTqjAOwYS4wvWyniAMDxoOsccbLeRYw57xcVcAkxwRHQPGnu7vCrgKXQej88UaIOC8 ACb8odsvZDo+A58uoBPQygE8WrnR6Bww5IVgq5kytfvD6UlXE+7LgMbV9rhYykXoWJSS megg== X-Forwarded-Encrypted: i=1; AJvYcCXDkWk+kJzCBDjbVBYkZ6NgstIJ2g1PakQzV2ywJ0feS2JKnd0ffQ+4l1bDRfgIckZnzRctheCTJQ==@kvack.org X-Gm-Message-State: AOJu0Yxliu2TTEeKRx8wXgw1eCvz0L4cPPmbeSVDdtWnCSMKLHrupUNH HgjobJBzav41T1UN8amsplbsW0m5t50CpKV9Zl/fMFp87JkT0Crpwz2oqyOIQHQ= X-Gm-Gg: ASbGncuagVhiZESW3i1ND/kwaCWZUe8UV4LdF7yH5tyMCUF0ySKk89+VVj35uEYEu6B 6oI1Tagt35/+gWtO9BtD1pZxu05tF7hkt7bVo8cfYDO8ny/X7u9vjWJ7jhGIYck3b7VpwvPcGAU 5+4Fj2fJfJp/5pFaaQudHcnsbDf6nqSgUPKAIUhuzy8966bXhYfwHNZxrJBTdB2o9oKk+/rqAYy sQ2AWz8ge7uhoRQojFYP4A4RnCyGAZwRrj8fugnIxjG0XYeCk5YghG/NLiNg2sTpWOsMq7cBIuI Nx/qc4TlnMdpE0xr4Rjdy9zBnh5YolxPeOmiTJBX0vI= X-Google-Smtp-Source: AGHT+IGtp153ZWR+MbU3stE6h8mUZoXbyIW4Eqg0BhbB1QDMSodZjMC1EJSVujqK42nfMeGZ5sRL2Q== X-Received: by 2002:a05:620a:2b89:b0:7c5:467d:ca82 with SMTP id af79cd13be357-7c5467dcb3fmr2710837885a.45.1741821421669; Wed, 12 Mar 2025 16:17:01 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with UTF8SMTPSA id af79cd13be357-7c573c714cbsm14629085a.30.2025.03.12.16.17.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Mar 2025 16:17:00 -0700 (PDT) Date: Wed, 12 Mar 2025 19:16:56 -0400 From: Johannes Weiner To: Zhongkun He Cc: akpm@linux-foundation.org, mhocko@suse.com, muchun.song@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: vmscan: skip the file folios in proactive reclaim if swappiness is MAX Message-ID: <20250312231656.GB1247787@cmpxchg.org> References: <20250312094337.2296278-1-hezhongkun.hzk@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250312094337.2296278-1-hezhongkun.hzk@bytedance.com> X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: B9F8FC0016 X-Stat-Signature: 6bzjpr3413p1jgn99m6i8i5jw7tyzfod X-HE-Tag: 1741821422-424184 X-HE-Meta: U2FsdGVkX19jnLwFreei5IMjsO28Ex2k+7tzaPufmOflnHG65jkXggRHNTj1q4tECn69r09GMCXalRmMUZ1jLwXtiTe0R+D7HsWFENXPKRME0Op5zxwkLDHEK1iwItfwEWZPbZ/SKcHLlV84E6xi0UZFOFyy/6Es3kifpDTjwCWxsuzpG7l07yLlqoI/CaesVrunNrML1ld4A2V9nVJDeKvtMwrk/aWWL7EtFVXXYCyntIsvIIjYfdSFiHnAllKr4ZqC0Rg4Lw5pKkNg+LoNAV6uv+JqYm/qcPuuczWQXWfuWdfMWgm2BW4Ko1y1WDMFhFu8/t26ayoXece0KvebYQyp7u6jSY6tdMCfVWmBfBGvK+ZqOlbMrhG3kukdDgB0GzOnLTkfCb0dXYha4eVqZ4VvpDGL1uhPyVwZRJRBcE1gu0G4/D9zH1cKUzTTlx6MmZ9e5zni30+qd0AgEzjTdTHj0jq3qTIO5l9IfyX8yXfRRmiPyilpoJSuQLEBICaAUIxyw/MwHmA38jsAUmCV/42h+5WIT6a05ZVrmomcNoJoMYRG5tDyAAkAH2RJBVurmFSroWuwRTqd+yVboDqPbXxbjlFBZUimsUoi7UqKctG5V6rcG918fQYZhmO0cdKnNYG4mV/YgwpF8wMXVFPf/04GYMbjxipEiHHa/Bw6qWRUmYboGcvfYH7xNpHG3Iq9myh712RFhSQ/yMA1lQ5mcNYuNvVHLbphLVTXle4jG6bsbvoMvTU02IwbwzC+BVP6eBVo0pNtPwO+32voh3LqqvZzs5ivUXdT7x8jZDiQhHjYb26SzbdxsPJODd5GunjXhbsYVxmX26177budfMzGaohcYcLrYHQdnAYSWPUFUJg0fh/FXooGqrv75MlZ4AXdOoUqsEg3HIwoTi9jxs3pfsxWamSk7iiPmTdwVEbIFFrq2G7ZLfRdT2nspqC7XrISVbzFD7eYexCSEurB61f IxQr9yQa 5IjGf1/58pVyK5nje1RnUr6n06G8/m7AR8Dj3yuzg8ZT4Ka5t3oMNAyuYy8/4vpCbw3dKvBmJ57S5+XtQ7WN6jgHbH97cwaH2nn1Rq727seLU93y+LdUFYVmk1M6zaXh0ayXxFTBcDVxxgjM8WGO2jz9jIZS5SsJlP74WKjs8IlyOSajVAagQC1LuGf1n2lCz7V6crFj6Rf5vjhW7DgADZYzCsFV6qfEt+e7Q/uMssZuo/KDGRuF6SUseH3IaK68ffihOdr83P3XZ4f3USTPcYHDxy/UgrtXzxezjZJvAAvLOedizCYJL80IF5ZGGPfRi0E+KjZPlaJ6a+j7NJIb6Uhe4Br9u6ilhCbY1kh8wBcuUOenZ/K/7ZHsH1FKxPFklljAWdAF/ZOS9OAS0lUa9T1NyWvU3lTFfHptlP2OnV1Xedfc0vS3/BmfuVyFT+K749CZB8IZuy/bwZ/hXn531+6/FdiZ9WTL7F46O+czUsfQIYFuvPiXgIODPvVHurEcUjlRu 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, Mar 12, 2025 at 05:43:37PM +0800, Zhongkun He wrote: > With this patch 'commit <68cd9050d871> ("mm: add swappiness= arg to > memory.reclaim")', we can submit an additional swappiness= argument > to memory.reclaim. It is very useful because we can dynamically adjust > the reclamation ratio based on the anonymous folios and file folios of > each cgroup. For example,when swappiness is set to 0, we only reclaim > from file pages. > > However,we have also encountered a new issue: when swappiness is set to > the MAX_SWAPPINESS, it may still only reclaim file folios. This is due > to the knob of cache_trim_mode, which depends solely on the ratio of > inactive folios, regardless of whether there are a large number of cold > folios in anonymous folio list. > > So, we hope to add a new control logic where proactive memory reclaim only > reclaims from anonymous folios when swappiness is set to MAX_SWAPPINESS. > For example, something like this: > > echo "2M swappiness=200" > /sys/fs/cgroup/memory.reclaim > > will perform reclaim on the rootcg with a swappiness setting of 200 (max > swappiness) regardless of the file folios. Users have a more comprehensive > view of the application's memory distribution because there are many > metrics available. I'm not opposed but can you be a bit more specific on your usecase? Presumably this is with zram/zswap, where the IO tradeoff that cache_trim_mode is making doesn't hold - file refaults will cause IO, whereas anon decompression will not. > With this patch, the swappiness argument of memory.reclaim has a more > precise semantics: 0 means reclaiming only from file pages, while 200 > means reclaiming just from anonymous pages. > > Signed-off-by: Zhongkun He Makes sense to me. With the doc update Andrew had asked for, Acked-by: Johannes Weiner