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 AF434C282EC for ; Fri, 14 Mar 2025 08:52:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2CB1A280004; Fri, 14 Mar 2025 04:52:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 27940280001; Fri, 14 Mar 2025 04:52:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1436B280004; Fri, 14 Mar 2025 04:52:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EB4A8280001 for ; Fri, 14 Mar 2025 04:52:48 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 714131A0CEA for ; Fri, 14 Mar 2025 08:52:49 +0000 (UTC) X-FDA: 83219541258.28.7E35E6F Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf25.hostedemail.com (Postfix) with ESMTP id 675D3A0005 for ; Fri, 14 Mar 2025 08:52:47 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=GcIPi2+G; spf=pass (imf25.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741942367; 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=NHaG7FKCn55Pj7bQEh0xrrto1Kn/+ohEIM1jtxueJMM=; b=oPiYjo3N9W0AyGfu0FMHvhnPG2NyCuBICqbnQGOORNWC5V69mx8ddo3VRtgTZXcqMIgDir zSkpJ1lYdDU6yKd6xPoZJtJqUFN4YRW3TbNCfuGKlNhFHwraltrrpb3edbJ9SDNh4EW2+x lDUwtCWYj63rEwXCCo1vxxFDzV+S5Ac= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741942367; a=rsa-sha256; cv=none; b=CxzuNmK5w88vBrKCxkcogFnV5vq3lxGboz4KCLIJUAr3nrTWL3/9aQW5BaCn6qASspzmJA 5y9hQ+Qve5VQ0xVrRhIb61jKkAPy08P711goU2TpvslGFaA7tRxwkJKMLaXbS+gWdVs2Pf X8MoJL59bmcFr2Cpu+PPu4U4GFXx+9o= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=GcIPi2+G; spf=pass (imf25.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-ac25520a289so327847766b.3 for ; Fri, 14 Mar 2025 01:52:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1741942366; x=1742547166; 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=NHaG7FKCn55Pj7bQEh0xrrto1Kn/+ohEIM1jtxueJMM=; b=GcIPi2+G+t5MZSXVLYHd9iEVwvsEtw1Ijg9wwmncv1H25qeiN5urSrOb8Iz8seT7Gg vpIJ1921HWYYJ8WQW+i3iYJJ2BLeBsUSzZy53honPj+0HaMokJ5MeRs+6H2VPzzoVM19 bQVGq5HQRQmptoNFSHPFyRqlP5WzZ9rsEwVMBRKcJbtNRB5ZQjHfiE6AHNOISM1OVCLv 7JyGEQXtwOzagRDdtElD4WSba/EGNNyELvHlsor30Wguk66PMdj8BZ6Lg/b22HNKaMjf HgLmuzEAyRubyjfgBErXmR8RfcCeHUHCXjMroqvXB4+QomwLcc7U0tKsDQOsr0NZuXWw MPKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741942366; x=1742547166; 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=NHaG7FKCn55Pj7bQEh0xrrto1Kn/+ohEIM1jtxueJMM=; b=MjvzFRiLrHGpTG70Anmn5N+yAAER9Wj71fBkMPs99bM9u+Th2HVvKiSpx+rofzhgwO abLvgmoqGt9TIJQi29n8STq5W3J/xzUPJJKAojl3oxuNuKk6Ee2yeXZFLNFMelABIW9w pY+SIS0n/EY97uJXzdKaBh646jxqId0tj5mHcrRIUlaKFSGH1o+tL69MV6CO4I5xcUfW Lou1m/GZRIIxopy5H+OvwB39zkWo98tGQ0v+cuEeNoJ4Z7ESEJegWpd1AvJAmmMkek1Y 8MbyvvpDlc6GHuPrprQHqSMph6s3Fm6DxpZBskFi4N43ePsZG2vCS/wxIPe8LFS9M6ag sOqA== X-Forwarded-Encrypted: i=1; AJvYcCXu8Qgt/wXBmJb1RgDkSQlsrltGa+tJiGO4k72fKvYuH5D8P5BCYSDDZr0i0QdSaTqpk2ltBY7WvQ==@kvack.org X-Gm-Message-State: AOJu0YxJqW5fWNXrGGbBGr5t2rKWKLrpqXzSqtskwW74zjDasWSECijL PdRIJLJDDBhWmMghwJaDbnvA/s/kpsgUQ4JYXu2GuZY56MR5O4q47FTvO5AIRiE= X-Gm-Gg: ASbGncsyuD/IxshUYHPsYFP1R6TZ+QdXytr3go11M33PclY/LrYNj99KfCBocYNHDwF Bp2cEk254fNeGGdv5rGY4C9hCmoKcFH/g6hqXn2pV1+YnDkEVVs0cHFqSp/eknw+mPXcm4B3war h6W6XF/dNGgyXXkvTqRqZxm9zwA53o3l1rrasKTGDQQ3n1tnfAlxFuerGJDOypcQC6dH/nVIssu vv9fv0Jpb6+pwJEQZRZVCs+XLP9AxFFp6TjFf02m/2uf//eigs319sI/PCX78Z+anHYZSHx8MlF rNF/bfGgEcnbVuW+KMLEeRu2jF3jT7WU/TCThEKckGgrAaNalUMpQVYZzw== X-Google-Smtp-Source: AGHT+IG6EIx9d8PTfLAdazXSoMvFJDIVIJlOXLltf+Qc1+aS7cgJMHAxVIqlJ9pMPC+fuwn0HD0EeA== X-Received: by 2002:a17:907:805:b0:abf:6db5:c9a9 with SMTP id a640c23a62f3a-ac330441fc0mr185944366b.39.1741942365632; Fri, 14 Mar 2025 01:52:45 -0700 (PDT) Received: from localhost (109-81-85-167.rct.o2.cz. [109.81.85.167]) by smtp.gmail.com with UTF8SMTPSA id a640c23a62f3a-ac314a9db94sm198560466b.171.2025.03.14.01.52.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Mar 2025 01:52:45 -0700 (PDT) Date: Fri, 14 Mar 2025 09:52:44 +0100 From: Michal Hocko To: Zhongkun He Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, muchun.song@linux.dev, yosry.ahmed@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V2] mm: vmscan: skip the file folios in proactive reclaim if swappiness is MAX Message-ID: References: <20250314033350.1156370-1-hezhongkun.hzk@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250314033350.1156370-1-hezhongkun.hzk@bytedance.com> X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 675D3A0005 X-Stat-Signature: gcsd9znbuws9ho9dga8u6t1sz6j9fsdr X-HE-Tag: 1741942367-631947 X-HE-Meta: U2FsdGVkX1/H4qOfYzFOxT4lYb8iULLpNtxX7Pdzwexz/r0bNhD9T7QM4pqB6iqaMOWQogAu1pmGyDDLVnPFBIRyW+dX+rIWW9hrp6kF1Kos1D4uhAY6fKQ7n787m4GZO//eZ3ntjx1hMvnRWzFF25oC27oJ/AD8LKy6S1CIkzppT/FPL9TuhMS55UxhdDNPAAoBapBpo48DSKpZTIKNRiy/QzbbDnpDy+kLP0YJZC0zwNaWwfaFkNs+ifieE2Qdt2o0wcMdEVcpRvCOVqBwp1ZqdIkmxVS6V+V7KqRIL2fpyDNzyAABY8B+gk8U7oWFCF5RfILYvb2TntkPFCZxy2vgDKPxvkf2TrwiQpsdahJWNJb9+FcPrZiug8R0ddwDEvnSb9ytO7OxP1KuM/m3Oqb/xwwaGnUu/e2RnilE/pYRvPyS9ILD3bV3uDs5RKEavsUsmEAVEg8Y/U0dsV3XFwCY4PH5hl+rWcgwNUOAdsfE7v1OtXtE2BRdvANGEL25sVGv75pAetwPjIMPtzg85NbN9OFFHH9QgabuwNJd+ezek9GJX67or5lEnghPhgCCXWtkwjrFQFMSCj2zvNx6/ci2oaIMpWBNFb4HLzHxDIBp3n1/rIn5zqW/5oP41siHPmR/2To8X/Hn8LtG5Wh6VuMyPV0KWaLJGbCWobBGAvoPGdYvqgFdGoZdQ7QfeGGyTsJ8RgbXGR6Lnyi970A5H5b/qANnO5WdJ7HqaRMxi28pCuvxkNTw2PMUMQYhAhamAMzGTvsV0dGjjBnm66+624CUzy3JocGbJnEJfuxd3JslmG66U6iBF4gd35CBHFNavBIAqu62v7McOjQ2dYOkL61YxbzjY7fICerY/jWa++U7uHohnHDkrGkOhg96TwGUTW5EzaGAIKGZ0TrtJ5S2vsSke6d1miz9Gv81EFrSWaz+eqmo3Kftt/ARQzeKTCrrepu8/hb7VJZBibwWWyB Inu8JhqM cizQ/BFunQApl06tJOJO5GYpDsejDm14dzG9AjKgAFun+xQD0J1ZteFKQjNeLz0oXUXYVKx+2RgRk1QJmHPYy1DEui+NGlIoRad/733Yge4ZkTeL1fhVfFuQ5Ofh8Vh3ih2guOq5MrQU/j5ZmAoSaHEst6zjYRzh7veVqdPbzY0BWRFasWyvvgzboFDEKdyOoTHJyj9703GIsqQUdajtbn1tJSqiSo9i7l4GJiwX7Kr+U9aHi8mYS5ZzlkzgU5OT+CqvEP1k9bktiCD+ymYgxbp2AdOMvZnP1VEs4lniqDdw8VW9H1AawdczALFfo0q3fDBku 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 Fri 14-03-25 11:33:50, 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 folios. > > 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. For example, if we find that a certain cgroup has a > large number of inactive anon folios, we can reclaim only those and skip > file folios, because with the zram/zswap, 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. Haven't you said you will try a slightly different approach and always bypass LRU balancing heuristics for pro-active reclaim and swappiness provided? What has happened with that? -- Michal Hocko SUSE Labs