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 09568C369B2 for ; Mon, 14 Apr 2025 12:43:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9BC9B28004F; Mon, 14 Apr 2025 08:43:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 96AD8280036; Mon, 14 Apr 2025 08:43:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 85B8C28004F; Mon, 14 Apr 2025 08:43:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 6C417280036 for ; Mon, 14 Apr 2025 08:43:04 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 4FD28141DE8 for ; Mon, 14 Apr 2025 12:43:04 +0000 (UTC) X-FDA: 83332614288.14.876BFE9 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by imf05.hostedemail.com (Postfix) with ESMTP id 4EB4A10000B for ; Mon, 14 Apr 2025 12:43:02 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=SX2oUKpD; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf05.hostedemail.com: domain of mkoutny@suse.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=mkoutny@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744634582; a=rsa-sha256; cv=none; b=sG7CT85lVNpxzR3Jed54z+AlinD12pl8NgUM6F6RSdOJkj6v/L8S7pW24KnAkC9bzC6DD9 NG69RxFFcOg48oZGwNTAmMSYwko2pvwPWtVy+UPRXyONaL+/c14/qFkqHaGFGOxjjDBb1+ dWpuM7XPzuwYDmIAftRo0xDcarRf+3k= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=SX2oUKpD; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf05.hostedemail.com: domain of mkoutny@suse.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=mkoutny@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744634582; 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=T9ixK134YSYVvgH5n+g61PRZpWOKvjguSgzISWbKA2I=; b=CbRM1iSd17W63Vn1Fg3DlKglNiL8rcrv0uAoAB01woPsPdRvfUNDSaTOAAz1R+viMp4+59 qZB1CeagFdK5o9LQUF9RQh850d2bv+qcmsONPcs7+Bm4Frx5TCR6QhIqsv1DjnegWE9v6G OQG+m1qbZEfqJQEMM5es4kz//FjnSjU= Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-43d2d952eb1so34387975e9.1 for ; Mon, 14 Apr 2025 05:43:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1744634581; x=1745239381; 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=T9ixK134YSYVvgH5n+g61PRZpWOKvjguSgzISWbKA2I=; b=SX2oUKpDCql5mozf8bsALGT+KChZsiTVS+Pybfu5p6FNrDavJhcingKff72VvSWykz bjwaMMMttl/Gs+AbuK4i3jotOt2zsIRY3tXpDUUNblgsnpiVNcMPCd3v/lgAJlFfMzdX IdGgGjTzrGS9vvdWonCek/IGwfArTYe+bzPi8OOZGBA8CoopHtaKvEd0A9spPPjILjq9 8B8JsAnrjvuTLnn+e175zChzsk4mlSEUP5W10Y8JSRIFcu1Yvrwozse7bBxmKXcbsBFs O2s0u+HBKkdLGYaIYA1l0joNw7/b6L16lJHRkqe/HB2/BzbrTddCmT8zkjbcdDxT2F6G Bg5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744634581; x=1745239381; 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=T9ixK134YSYVvgH5n+g61PRZpWOKvjguSgzISWbKA2I=; b=JBsoxtQ2PBGI5LsS4kiczSLl99+OGm65c6ZRe2526kUEvzlChUpXjTBUja5asgndb6 cMHVBF7/+OBuopsY5rKSLJ49z1IYigo2RNISjkFC41Z8S1yg8IRvl0kGbpOIDwHOiNqx i3x4WHB7FKd+KQgodJnivN1ReJgxxsY/yODR9JZUpvf7VM9tG5/1LpS7E2myo5IVaLnS BCYmWkgAU2zMV4PV1j0n4IiElR8JUvhLcFGEC72CCPVoWqR8rVXKSfitZeLXgQHqLre+ FwaSaR5hzk/5l8vkRHIh3IVlVlfJ723cUiTmds6dqMwhb6xomrzE7gJ/KwAqErtWpw+J agYQ== X-Forwarded-Encrypted: i=1; AJvYcCX5P8WoFTdNS3vN+2JQ2T9XUY3i0upSUEHo1kcRwixwEInS7t9TgFXSmOPH0ZFAxUP/2NEJafRR+Q==@kvack.org X-Gm-Message-State: AOJu0Yx1cH8+hSp9kTq1cGj5zwr4jhQWmEbWzRj84PAKzQdhB2HRJ0DO U81WiAEaCZidAThDhvbQ7Qgg7ZinkPSx8+/LSa+nQ0YeBXxOEaq4PjX1aGjIwws= X-Gm-Gg: ASbGncvd1jjigHq3sMGykeYOa3wVNVGBhGDv67hbaeYIY6R7qBnDwBRTf4prpBCbA9y M4jqU10vl4GKYJ4iZEun3uCDE9fIg1U4Zop5FFKWwU0h4mfk3TwI4go1m5ZhlpRVlaG2mlCOWVO rAXxOmgSCZCR8AN0EpmAfzjRIcQyvBkVlG9pm/SKv1sD6iejf586Ed0WmHMpdUlNJ5K4u7GD8bx twegjkumoIZKojsKLUpQcypkLKX/IgKsDOwz9UEQ3hKq5zg4ZQ2C0kqHJimPACPzvQ/Zp1wjq91 ww7lU5BGlZ4gf4tgrTnynCnf3bZQwsUbZDHBd7XxWsM= X-Google-Smtp-Source: AGHT+IH7iIHRZ3vV/WkqxRDldhrP0zYk3mfrclbeNsJTpYta2piT0N21vJ20EAFWMAd7XZkrfuQvEQ== X-Received: by 2002:a05:600c:8519:b0:43d:300f:fa51 with SMTP id 5b1f17b1804b1-43f3a93ebb3mr104821235e9.9.1744634580452; Mon, 14 Apr 2025 05:43:00 -0700 (PDT) Received: from blackdock.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43f233c817dsm173048895e9.23.2025.04.14.05.42.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 05:43:00 -0700 (PDT) Date: Mon, 14 Apr 2025 14:42:58 +0200 From: Michal =?utf-8?Q?Koutn=C3=BD?= To: Waiman Long Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Tejun Heo , Shuah Khan , linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v6 1/2] mm/vmscan: Skip memcg with !usage in shrink_node_memcgs() Message-ID: References: <20250414021249.3232315-1-longman@redhat.com> <20250414021249.3232315-2-longman@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="npwwpgxnj2lpvqxn" Content-Disposition: inline In-Reply-To: <20250414021249.3232315-2-longman@redhat.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 4EB4A10000B X-Stat-Signature: i95edw97rfeezjcorx1x5acifmwjzho3 X-HE-Tag: 1744634582-72940 X-HE-Meta: U2FsdGVkX1+vuFbylhoLorQGYlQhGPQNnCHOzylzqNuGrSIbnvVbJCxRrRYh13aFtGV8U9JrJ6+jdf5yfHq4BMOMUUDhGpReJrUZyq3CThLRA2/iOGIXyKaU2ERslF+/LuToFrAK7JRRswB7my1CW5yrGuiIJSSDkw9mnNXzC4ewapbCszHRILPX7wUYmbPy5IDgMmOiXfnbSi52FArZ6G1gUuD449QL09cGGtXrmnSSRTP7u3bJWQ1tSuSC+I0coMxNjCVSUTrcT7GZ0GGnPCn5tvx769Hds0+1nHznzfh/Rqdw+ro0Vfl+3B2rkveLXTQACeH0OmrTm3zstTB5DGegYGtpqLl0Du5GIhgcQqC0Tt6hV1wuIH+VFQ9sYvLhEjwPBhDukTSz8p4cp33YWKYJ2a1zkxmuHK7PFEis4h6w3dg6N/OyqEaTcM1F2EBsBPewW2E8wpQsBkGh44rhGDIrWu0jR82IptlUqQDCijgjj7o26X+yF2eoMkUJzzKukAT3dfOROJmOJ9sHuN5uBufBU/XuYV6maEY+aXI+OJ4YJBXxHaUe0KGNd3SDUb6MpU+sht9V+xTG9bN5RpVLC/H4l7VeoR8d0pbj8thkZC7HG24wdfxvZY4LsjPoPQZeErghbPn07W5MxXMNVVMlUZuL+NnjUunkwZV12rCsY43Zc/Gf5lByMHotZ/0pHVMs/beXecnOpo1Q12g1dm+BKuOl86o5hux4I4qbftb+bjKuazM19D0Ao0LtompaTRSzT4/5118IMnR3/UYvnJlFrvTRMt6sycbImGCyDU9NBtpZJAefKfDPhBTGC0wcs/v2yVA3n8lqAty5CeyX/EGYXYXWQraxOIXBBO+TEnb6KsdsDQW7G1LHN1zACKof4BCydwg+hhFWarJzCqg46LYO+27v0zl1Jna/9WnEr6UOuwOhpfcsEPWvYkzknbrG6ozOe56dWHQWvwM/UZGbVA8 on1KDBKV pTkVtOaSK8HdfbQ/psvDaVWPCJWd1O9gcUKpY9YNE6wfz8sK4fXuEFrLqNLQSdiTL8BBisUnkgj7i17tltSYyDgn4a0gXZ2jjQqIKSEpgTbVsyWQJY+kIMkMWpsIB3YRd0h4Lq2DOWJM83o3Eo8k7Qi9D/mbwuRYFECSno/y6V50f4vGqGUYLKOu/aJHF45OKIVGAYCrmaXqP2EiijwCMJ5xudbJ0/LJFUe9522zzgyuZ55box6Wp0fB9w5kfch5GmQ5KelqDTVoy/apwt4nYLaPaB8nF0tlyOovvebfUSdIkjrjPJObIR5W2qal/1U61iX+q38+6yAlHLpunoXosm2amCnOq457e9uS3hwuoMrnFTOCvUeFPRhPX858j3Ipf3H1fcf8PVP+JrGEWuOTDTdNRqHACyuE/Wz0Ml2X5+0H4xEnIMe1yAYDZlvdYrW4PuopBnm7Y4UGSKjuSdtlvmD+/raekfnJB5j9yjNyIfZTwgM0x1MHZeTlPTzJoryD/56mctEhhgzAFex6UJ6aXfCZsfr6JZw8N6ehayb0YsoH2uDQ= 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: --npwwpgxnj2lpvqxn Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH v6 1/2] mm/vmscan: Skip memcg with !usage in shrink_node_memcgs() MIME-Version: 1.0 On Sun, Apr 13, 2025 at 10:12:48PM -0400, Waiman Long = wrote: > 2) memory.low is set to a non-zero value but the cgroup has no task in > it so that it has an effective low value of 0. Again it may have a > non-zero low event count if memory reclaim happens. This is probably > not a result expected by the users and it is really doubtful that > users will check an empty cgroup with no task in it and expecting > some non-zero event counts. I think you want to distinguish "no tasks" vs "no usage" in this paragraph. > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -5963,6 +5963,10 @@ static void shrink_node_memcgs(pg_data_t *pgdat, s= truct scan_control *sc) > =20 > mem_cgroup_calculate_protection(target_memcg, memcg); > =20 > + /* Skip memcg with no usage */ > + if (!mem_cgroup_usage(memcg, false)) > + continue; > + > if (mem_cgroup_below_min(target_memcg, memcg)) { As I think more about this -- the idea expressed by the diff makes sense. But is it really a change? For non-root memcgs, they'll be skipped because 0 >=3D 0 (in mem_cgroup_below_min()) and root memcg would hardly be skipped. > --- a/tools/testing/selftests/cgroup/test_memcontrol.c > +++ b/tools/testing/selftests/cgroup/test_memcontrol.c > @@ -380,10 +380,10 @@ static bool reclaim_until(const char *memcg, long g= oal); > * > * Then it checks actual memory usages and expects that: > * A/B memory.current ~=3D 50M > - * A/B/C memory.current ~=3D 29M > - * A/B/D memory.current ~=3D 21M > - * A/B/E memory.current ~=3D 0 > - * A/B/F memory.current =3D 0 > + * A/B/C memory.current ~=3D 29M [memory.events:low > 0] > + * A/B/D memory.current ~=3D 21M [memory.events:low > 0] > + * A/B/E memory.current ~=3D 0 [memory.events:low =3D=3D 0 if !memory= _recursiveprot, > 0 otherwise] Please note the subtlety in my suggestion -- I want the test with memory_recursiveprot _not_ to check events count at all. Because: a) it forces single interpretation of low events wrt effective low limit=20 b) effective low limit should still be 0 in E in this testcase (there should be no unclaimed protection of C and D). > + * A/B/F memory.current =3D 0 [memory.events:low =3D=3D 0] Thanks, Michal --npwwpgxnj2lpvqxn Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQTd6mfF2PbEZnpdoAkt3Wney77BSQUCZ/0C0AAKCRAt3Wney77B Sd/BAP9TY2qAV5thRUJlYr+lBEw43c7tulDcGAlAmMTw3fVIxgD/TAOGmPlsQ9YN ZZJQOw3S4qTSiiwaCq9RFx8VCKUEjwE= =J0fF -----END PGP SIGNATURE----- --npwwpgxnj2lpvqxn--