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 448D5C282DE for ; Thu, 13 Mar 2025 07:57:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 854E7280003; Thu, 13 Mar 2025 03:57:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 804AC280001; Thu, 13 Mar 2025 03:57:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A638280003; Thu, 13 Mar 2025 03:57:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4D7DF280001 for ; Thu, 13 Mar 2025 03:57:06 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 11C2481DB0 for ; Thu, 13 Mar 2025 07:57:06 +0000 (UTC) X-FDA: 83215772052.08.846262D Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by imf10.hostedemail.com (Postfix) with ESMTP id 197CEC0005 for ; Thu, 13 Mar 2025 07:57:03 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=DmcvkXma; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf10.hostedemail.com: domain of mhocko@suse.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=mhocko@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741852624; 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=dwf2i5gHneUYy8bWl7vKw8JV7HZhRd7+rn+CrTrat8o=; b=m10BVZYKrIyYZfbOMa2AdPhOyWnpCOR9Ejxf+bIXqYA38khXWc+6Drv4PkxevaWf+oyThs 27v3wchgL5i5vRDr1CF1+8TtOMhSHZbToQkN7GXAq5L0Of6JIda/aUEGYc5PYekb+BrpzV z4JEPCBsE+ks+NohPSI7EE6Ahas3bdQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741852624; a=rsa-sha256; cv=none; b=R3ezWPY9mEuQACbwjoWNf7tTqeadnAJMtyABHr4FuhycQJcrotPCTmEVU/KdDONsYBq5XA /dq0yIfc4a1/lk9KVHVD006nculI3jTQpBbg0QFr10nWu5UfontG+1wEqPPcsI0/w+X99z 5Rec2JbehP4TOQ/OV9g8tzkKPYVdo1o= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=DmcvkXma; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf10.hostedemail.com: domain of mhocko@suse.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=mhocko@suse.com Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-43cfecdd8b2so5070125e9.2 for ; Thu, 13 Mar 2025 00:57:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1741852623; x=1742457423; 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=dwf2i5gHneUYy8bWl7vKw8JV7HZhRd7+rn+CrTrat8o=; b=DmcvkXmaLZ/meQ42DMAoqo4dX6qHnYIIw5TUbqkSwuXCapS3lbyVeS2rCmI5mbIvBa Y5OyNIQ9/phSM6uknQeZL5ojcCzuz1O8DpxVrYJDooDXfo1taIAEXqgdOX0W0l5GacCf gDdglsisjL1p9GEFzeP+ppZLtI4PHakos0eGXaW88dT37m97vuiR9z0cGZWagXwFu/bm qEE6xgkT8Ee+ux547LTfFRZvuHhmEDL6g6V3iUFORu3a5hq/cYxoLX49bi8Ej8pFiXtl tkCMOZGVbrBCyArzwz9LDHn9pEih49luRYtvs+P1HYJMmuakY03AgmNw+kBZiTqKayQj 3a3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741852623; x=1742457423; 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=dwf2i5gHneUYy8bWl7vKw8JV7HZhRd7+rn+CrTrat8o=; b=tOvjhkXVQKR2ONbrXe+f3L/58sSMJRURlwWWJsUwWiKyC8YvseLFn/W4zGFd6Jdvds AwN8TuZESCIKR4pV3hgeRuEJyUL7NtWt0WD2WOe6L9HZvJiaKg/pbX0HfCaPdamHFL8Y SPvNQYpOmooFWE1xn5pifHr0c4F0Cm7sIWqub+n2D96EmEM1pdkkcIEyt25+4IFP+QUW AzAjD+aQ6CTKsBFlH7Gsv6HNym+Swg9XAq8MdUA8jE1OmYO8iNChEMkuh7QM4aExSMK9 2lf8xK8DY4AB50WmPLp5MhQXKEU6sH1aeIaStHYJJKfqNOtPosWfUtTjkodMYpOqryys gm9Q== X-Forwarded-Encrypted: i=1; AJvYcCUqgRdxsRg+5bkfiLOW+8njE6JJM3USRrB5YDmjsarDH5xdJA1hklbkaUvvS23OyEJPMILzfiMBUg==@kvack.org X-Gm-Message-State: AOJu0Yy2y8/PRQ3FCKG0QeHh/3qRaEbPdEfKKVX9o/aTO1auNVxK9vIC uLh58BvCq774ppS86jxB2nKJt4yvFHGZYXxyJNVz4jdXSyhRrO6uWVdnw3Oh2ts= X-Gm-Gg: ASbGncuGDoXO0tfxBP9NUjWmxr6uHhWJsSuCE5uxJqI76dW3AqGnkKFcM0NTw9SYE0q jjk1EQd5UgXGIQ0376H8zFL5UhUUoT1Cujf5uKr524hgvuBsra1XmtrVw5o7Irpzpu2x5k1VInl oEMua1MvYYwIXFxL56IKq2Hi1PM9RFMk6liGbSIefNl89v2ZWcyCXB9orv1Dxips/5smaIYUGUO 3ECcb4s8Q1d0e/ktg3JGHnu0QzWUWEAVaXbvx96KdItaCNuW4hbMr6RlKBSPaENjPgCY5GvoSaw Z+gn9p7XqzMswvWYgQQWb94y69Fsro9mKqyIm1+imYnczg0RGipMDohzcw== X-Google-Smtp-Source: AGHT+IHLJfn/7dH4w1ct5Gv9av3VFZjFj36gqLEf4r4KmE6NMqjhdhtPDOy/FoyVFiDUa8E6iS68cA== X-Received: by 2002:a05:600c:4f0c:b0:43c:eeee:b713 with SMTP id 5b1f17b1804b1-43ceeeeb9e3mr132581815e9.20.1741852622653; Thu, 13 Mar 2025 00:57:02 -0700 (PDT) Received: from localhost (109-81-85-167.rct.o2.cz. [109.81.85.167]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-43d188bb81bsm11432315e9.23.2025.03.13.00.57.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Mar 2025 00:57:02 -0700 (PDT) Date: Thu, 13 Mar 2025 08:57:01 +0100 From: Michal Hocko To: Zhongkun He Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, muchun.song@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V1] mm: vmscan: skip the file folios in proactive reclaim if swappiness is MAX Message-ID: References: <20250313034812.3910627-1-hezhongkun.hzk@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250313034812.3910627-1-hezhongkun.hzk@bytedance.com> X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 197CEC0005 X-Stat-Signature: tgzffunb8n5bgiwmcp4upf58frwuu3kf X-HE-Tag: 1741852623-491004 X-HE-Meta: U2FsdGVkX1/7MGRhOzJelW3CeZPpgODtyzfORnjI9sLYAWixQoNSOROzxoVvw1kTBiSlL+RnRCMCHvuwm2zdy71sgrAsGCMGI4VaxwHsEr+kHKdT4a/APJJj18jiDDeU1bjWncQBNsnLOPFdg1QtuLsdLN/SApz99hyYq9t+Om6PhUfk/C3VF2JqxFgSlTcY5Qkc3+9l8fhKb7RElOXlRY9ImNqiSx3o3Zeo886PaaY/C140HrQZtKiU57lRIDo2nqStmaqP8mT5NvzD/1mkwDgLzlYbPeHs50Wc5CE8EVLLsliAZSAmBjrJcb9+7KcxN6CfLX6yBUE4lTmGnOsC4JpcNgRffH0U/T0onqto5QHpvTfkThfUhwP6Bljz86jtfw/NNZAcusPx+wO8CECx7axcsogBQOPP5COmD5ToSwFX7k7lcLdPRwD5QAt7LTksZ/gb3iMHzOnAd4Ifxd1TwQVxC7GT9zR+iLo3KM0Iu9Y7EJktMG8g5isD3mnie8IRJ6/aKvMbx8UKXGMGTbNoJQNm94iXg6mHlVxryxeoE71WaFRN+HuW07y4IXqmYB8PcwAU2L+8YGGz0dUYQKDM5H6fkFnN8nvKkFCE1KMpniTSPPC3DLNaZhCigqAKOGf+/7HnOECCfaeop/uRbbW55GnqBWXm7zbe4OfAXvLEDAqHr2LX038PAf/Slns6u3IVM/TGFct2n9+cPt9WXfWWoAf7JIwUZUm65vxOREHDJy2KfPGS4n0VWWdSUnSnwHSspIWQIvIAP7zjl3pqeZeyBHBEBA6YthkK01GQkPjdWoMilTKJMp8QuaTI+c2udtaNXMTonysZ+rXfOrqe2L3ajSN6eT4rixQAxnhkW5jJhAf9H2v6syEY7ulud181hcAp6mcKB2TL+ZqaOG+s4HDStdAP2k3E6tbfwwSIjxpvijnmIiW8SzRCa/vmaOAfN6UpmmTmfpNBoKiFVOfZOp5 b+6qriDn TBXV848FE5Vtnwv9caDkspHlP7IwzlIf5m33Km5HsBVtEGh4cmtHL2m1nA79Z8Vxf5TWspudstzScbuMe3jiUnbtBp3TIesK5s39NjHKTI4GuumuX/dslnQgu/jSdp+UD2VvJWHajq2yXcdUrU24j97gnLvQwSToyS0Y1h/ciFrrPq7Hvwjh2liPu58wzEIvMXam4K+ooc7WLmDjuTaxtPyiZBKx9qxlQbUk3+1Qaikd2KltTsODXqGJALkJ81tsKzBSplBPIriyCReSfUTOwE07/Rps/Il9sXUuRNAPBXbWGRCGxsVHvu0EmZg== 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 Thu 13-03-25 11:48:12, 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. Well, with this patch we have 0 - always swap, 200 - never swap and anything inbetween behaves more or less arbitrary, right? Not a new problem with swappiness but would it make more sense to drop all the heuristics for scanning LRUs and simply use the given swappiness when doing the pro active reclaim? -- Michal Hocko SUSE Labs