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 785F4C282EC for ; Fri, 14 Mar 2025 09:28:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1F276280002; Fri, 14 Mar 2025 05:28:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1A277280001; Fri, 14 Mar 2025 05:28:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 06A0C280002; Fri, 14 Mar 2025 05:28:01 -0400 (EDT) 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 DC7C7280001 for ; Fri, 14 Mar 2025 05:28:01 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 318ED1A0D61 for ; Fri, 14 Mar 2025 09:28:02 +0000 (UTC) X-FDA: 83219630004.07.8B76B81 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) by imf27.hostedemail.com (Postfix) with ESMTP id 317004000A for ; Fri, 14 Mar 2025 09:27:59 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=T9eXSoz9; spf=pass (imf27.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.42 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=1741944480; 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=7r0QX++u7FsRXvjWgiyZ7Brlo7OZ9nFdFPIIQMFJWBY=; b=Yeca3i2CKuZl+OzwtGMjfEvQ+IdVfcQ5CdW6DWT1CB3jPQH1X/IHcxN7euxiLXWde9ayuq 1EunUiFJ/oEHNO4xHaMxzAYCKW/n2ITkHjQQTLJ1WUGewRuUS3b+G6PC0LEPcSl2NdxpmX Nfpg38srPyoKwWgKpzkn+mqHPQxB2Y4= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=T9eXSoz9; spf=pass (imf27.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.42 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741944480; a=rsa-sha256; cv=none; b=KdysKEPZmgxtbPmzKgIubI6ekQvrxpYAzB0omtCLkFCzGJjphMldwueoBDLkNrnLi2y5Dd ApFeUTbKlwRG4o6ogmfF4eTtefYkO0yQ2lPV3AIW0uM0v/QCOvuk2+CWeLAbN0wpNgLXk2 cDocq5Q32oOzFNuXhq2Itlxk3+hQChk= Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-ac25313ea37so376618666b.1 for ; Fri, 14 Mar 2025 02:27:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1741944478; x=1742549278; 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=7r0QX++u7FsRXvjWgiyZ7Brlo7OZ9nFdFPIIQMFJWBY=; b=T9eXSoz99bmU+2TQRldH/M7EROmnpOdvrcSmIFsoZ04iNAkOJCXsCm2w8z2OQ7jB1A 8zPbWUWyMhUk5Kpkb2eBTSxzAL/kJOZm96yEy65b/SvpeQCGG9WNMTb2pb2NZJYqWonz MFgFBe9s/brma6iIk2Uks/tW/hgVs1n+KMjxKeeFUb+xBfnusHAEkfpAwGlYKMZneDfM CLdEtObh6FlMmxyuhrELbwIzdvalJxbw3YiV5N9/MqDWDyP+l6hP8gWwKQhYsU7EdsNz ocsYh2TQGKRSZgyfrBlMTQsqa9T8CAR/PLqmtKbH71PgPYv0s7l+/dzrnjlNocqDQtF4 jZ/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741944478; x=1742549278; 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=7r0QX++u7FsRXvjWgiyZ7Brlo7OZ9nFdFPIIQMFJWBY=; b=rDGCK1egtqGTG9Dq+FPronKydJ80DvPSbaQLw/VUa8ecmUSKaaICnxCoj0MzytB00p grYTwRB2YBuvmcDoI2YjawNXma0OGrh69Ws8Ws47KaRIc3/ZUr9qmTK2K0h7W9JU7ZLq zWJSKoD+wqOj9DZhdT/sdHSeVUyDilSYKBzm6YUU3QJOcQ4xOybS5HsVOARgnrt1e6LW ynKmrrkgxutZdUEoA5Kf4ezj3IOtGUenCKQJ7EEbp5gQLCJ9IfErRsOudDuDZ5UpmlSH NIwwDC+iC4WnInL9coze+JfTH6E+7hHLtDtGahg+WFgDgnWftiBHWhOGx0iOsK3hl/cV Mzcg== X-Forwarded-Encrypted: i=1; AJvYcCWUSsKFTOoYVDwiXuq2doC5/3IX3WZgC8ZcV20iv1xNZu9/HbyHqSkOSBc0nkBojEWxpezkHp06Sw==@kvack.org X-Gm-Message-State: AOJu0YxNJKiSP7JaJxdpxe4zbSw/KXIJmbjh1t4ZdtDOac0RNmRnlUnW ZkDxLz5klWj1Lj+IrHKW2EbXpKV3zI8OlC1IRI9OjrKICg/oZtH4vA59mDyviq4= X-Gm-Gg: ASbGncvRZOTOB1fqVN7F8tsfJsxcnUoRC1L2hi+195GtzwzSERz+v3Hx7Z7JvPrMUab Bj+xFCvFbTvLTL+rQTDV5VCljREP1y6QJBE6a5kht197LSj9JSkcN/x+par+Cmw2izDc/uBs5/n wsLccCGpgygxAhw8FjyqPzWNtT+9VVI/LAWkM9Mwf3rVXXWGVXkHFbBcq78H4OccEfCDxk/yAYu oNVBNRQFIDQN8pCy1IF9wuV68J5fcGoHVETyoKodLHGQ+hOVLZMNj95azFD1l0Ny/NF6yM+OKjj QN9idf3lKxHeSRKR9LIeoCHRmaTLcV7b6+OOibVX3v2lxbOYQnfKCWyAxA== X-Google-Smtp-Source: AGHT+IEctQzZ0HoxHhORo57vJ0aGVrHIvZsJFWmzQWvSD+s8asx4gnK2dy6Kod28lb6eaB7ZdWhuIw== X-Received: by 2002:a17:907:d92:b0:abe:fa18:1fc6 with SMTP id a640c23a62f3a-ac33010b594mr213491366b.10.1741944478527; Fri, 14 Mar 2025 02:27:58 -0700 (PDT) Received: from localhost (109-81-85-167.rct.o2.cz. [109.81.85.167]) by smtp.gmail.com with UTF8SMTPSA id a640c23a62f3a-ac314a4659csm199489766b.131.2025.03.14.02.27.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Mar 2025 02:27:58 -0700 (PDT) Date: Fri, 14 Mar 2025 10:27:57 +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: X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 317004000A X-Stat-Signature: spaorbieimzjeezgkp7wh59f7pg6camc X-HE-Tag: 1741944479-441175 X-HE-Meta: U2FsdGVkX19sbfiM/eYfUMawK4IRPGVdBfHJmU/26RKeIfgP9cxJrPLeLq8uzYDlJUC2VVD9hsv94YWXJewTCowOVVop3Fc6FmBKGLy+ZJ2d0ufhCnLv8sSF02Qm+pd0MpkngMUh2BCgTrFtR4R9FPe1B/1nkG9wpLXL91Qi1ZMiDzyeYxfRaydNNfKJOLQ2mffTrQJ1lQGYScl7uzjjSVaZUnTBsn8th33m6v749I2ICncVuOYarCePA6U+APjdC+COsuuFbGwQ7tG8HTXVj6I8YtBddN6pM/T1Z65gy+HG3ifR7uBbU6LQZkv/p6sukwwWwusKY2TfgxgMDxY0Di+JxuxTLsYIgpkG/uQKTfKu5Wr8owyMMtJYliDl0tJpqLqUYu2VMN76FO9rSrXkbUOd2pVOpC+p67mx1Ejm5J9kLxKWqZsX9FdsNCll+Twt8EtwKu5OYX9P8yZRu6exIUQ8Cw5NAjHEyIgLMFXvtQRDyPekdoZ3o3kUeZgTvVTEfOWjHyZA8WhHWNrP59RbCnaEGCOXkpaeyUiTZBlJhsOt7ZJYIs24PElN3u5vetElwYVXaiLZRE+a3hsCEld2n2UZfzVD3nqUv7PsV2n9RGlymnE1yCtTn2e83HpKwSWPegDIYSY0+oTj8S03Y6V0hWVlGVOEYdsukFbxiiCPOYYD9aDWIZjNk4yKxKhIYOa74E2vJxp8OwhxX0CgZMv5Jq6j3tPwcXrMY0g57YTfWFA8lAJpLK1okdgX1e9TMr7qc1+yRVdWCA5NFfY6LhIecf5eRnbOvMg6vaT5y+3gAhBrGaRcAh7v3CtFZ3KIgwLb1BpSH+gnclOt6kBmbfrsu3Ae/DYlZnggm3sod0n0chmH53TvXHHC1afLKpig1jdMxEslpsBQuZiYS8FEjTgGmU3A+hN3Y1zxRo+ToqMswb7IRlA7QFka1jljdS5ut9c4ohnzOuJMfUBJcRjoFXq yRAGn+iu M3LAMBLYSDOtJS5DVRAWrr4g4cGbcb6attgFVzMGLbJvw/OIjDJmAjiyQcITUzkCApL7oKceIrMg3iPlFQ+tPMGzW3E3B3ZscuaRv23xDSNICoryMfIjuQL/xN0GNLsDhRwCP1CzCOJEFp3L1xLG4c3u6tW8DNBZV/jeS9+274H2dVEOlQaoLyrQntFJLuWAOuNTiU3p2MVVDPkWpzoX4+uNuMjmoEB92Efesr+lLgYoFqBxp7cBAgqOWSPH5HPuVBS/IrNfFk1P9vYT9mVU8a3Hgb69HemEKPJY0kSaX/WW+LHUZPU6yk5JuypjaEXDusF7g14+zEzC8htSCeC1w4NpU/jUUocUxER+V2ongJ7OYh+4= 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 09:52:45, Michal Hocko wrote: > 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? I have just noticed that you have followed up [1] with a concern that using swappiness in the whole min-max range without any heuristics turns out to be harder than just relying on the min and max as extremes. What seems to be still missing (or maybe it is just me not seeing that) is why should we only enforce those extreme ends of the range and still preserve under-defined semantic for all other swappiness values in the pro-active reclaim. [1] https://lore.kernel.org/all/CACSyD1OHD8oXQcQmi1D9t2f5oeMVDvCQnYZUMQTGbqBz4YYKLQ@mail.gmail.com/T/#u -- Michal Hocko SUSE Labs