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 4F1BBC36010 for ; Fri, 4 Apr 2025 18:13:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61D186B000A; Fri, 4 Apr 2025 14:13:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CBB66B000C; Fri, 4 Apr 2025 14:13:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 493CF6B000D; Fri, 4 Apr 2025 14:13:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2B56F6B000A for ; Fri, 4 Apr 2025 14:13:15 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 36BFC1A0723 for ; Fri, 4 Apr 2025 18:13:16 +0000 (UTC) X-FDA: 83297158392.19.D083FA9 Received: from mail-qk1-f176.google.com (mail-qk1-f176.google.com [209.85.222.176]) by imf05.hostedemail.com (Postfix) with ESMTP id 0E0A0100013 for ; Fri, 4 Apr 2025 18:13:13 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=A4ylN5xI; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf05.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.176 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743790394; a=rsa-sha256; cv=none; b=dvsy1b+vkaOyZmxtD8PckneJKhdj2582w/Y1Yduv44g3/pzHG7FuNjPhmrJHMW5wyXay2K aclA/VVS8fhQkVRPvx/LrO8S9H8JdOo0bVwZ33TXD6rtPGgD8j3QbU2h6DBOb6yPKLJHu2 5pOSFnEhuuI7EhgQfmgI4Fxa9GnF/bU= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=A4ylN5xI; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf05.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.176 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743790394; 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=Z8cyC/DPxNVy17Lz/zroH2kHExcb4tpekU11b2nuA7o=; b=dZaEJBFD7H926ukr4lmifBTRYXDiNRrFwl0sSVKe225zL7DJ4LgzbFKYugEYopR5U6qFE/ mRXsLziXVvT6kHr98SZ2AYAolQK4AtxNFaXquAJmlgzIP1RkpoCd53zFE9t1uBltyfupCd Lmfy265oS+sC+VNdGfECRr7JXW+oNFI= Received: by mail-qk1-f176.google.com with SMTP id af79cd13be357-7c592764e24so261325085a.0 for ; Fri, 04 Apr 2025 11:13:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1743790393; x=1744395193; 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=Z8cyC/DPxNVy17Lz/zroH2kHExcb4tpekU11b2nuA7o=; b=A4ylN5xILBrRU2UUiZf/8SXsyDDxXNhix6Qd1N60oIb2zbnK8JE0tfq34YwQhdAf3G StCOxELcDPgb6qr5F4luEcJG0952DgmNnkuGHqbuYfYm1JNWspglZr8GlsQFuAek4eOu btyoV+FDfCuYUS1FVR3n2xAd4ysToSJcFvh8xh4/HK+CKRPJEKr1Ouoft4d1GN9qnzFR 7wdJCiqDzqKsfmjBUYOpxmnl58FL/3YxyVjjYkl3xbM3dbXoQ2OPfabOcaWvFfdiZWVx VwegefYEmJUoHxHWRdABCbqINQxkmmsHZR5BTbOre9DA4mETGTgyuY7SlnnvndILa2HM fkqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743790393; x=1744395193; 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=Z8cyC/DPxNVy17Lz/zroH2kHExcb4tpekU11b2nuA7o=; b=RhLNEPUGTOn/ESJbz08k3Xi/c2YQefQsdXuVh6RlpgQPUYhf52u2E+Xtoov11BFIQZ HzGHjMCm8L2X+I663Yq+yS2xVQv9wNbVSc+vFUrviGWvBYKpRS85Y2QuF7D3ssEuXgSh 3unz0RjlHY5ApMQSWeHZAbDumInFlYK9Gx0u9Y+vo2pSFNnjA1yjsfCkQxIQPY1HFlSi HTlg4w2edx9+YLMEVErs3tPcRQkph3UcAcjqNblIGJmuKzmFVl2m5o8qFQI2vg2i0hOa O/pfRmVndCYnJANA/Jf+AcOBxk6CW45GCuLjP60usIfBoM55VveOse5OLX2l+rEDaQq6 uNiQ== X-Forwarded-Encrypted: i=1; AJvYcCXYvkilPKkU8xCpLIAJJlXd2AHVfgPq97jbZBKgURdRlKXyGfLh0dxNycOdg6Cqjfn3UZR8J7VgVw==@kvack.org X-Gm-Message-State: AOJu0YzhC9CP96GFzAfGAOqOLCbeQPFYAeOnrT0K51jnC8l0u6dRGkpq 8hWxs+QKNF6zJ0BJsqqOPyIKZdEaQvoJZSbHr37sWseLyeK9zTMnA4mhJlkqiO8= X-Gm-Gg: ASbGncsUFSFmFUZCUOpmAoUQ3PuWr+ZmY1Uv8F+cxiudLwmH2xegayBlBj+1qpUMbE9 0VhxCejuLq4IuQCov5TIjJJMBbqDLhjOfX3qbTrd+4gBLbuH4wV0qKqYQyKnEe6HJNu+qaCZu8L 2m0Bk8/phD0kU6jNv1pWZKsOaAAEqdd5NDLzdf1o3MlgtKh5dOj487iJGw0qBvhxBbmGRXmSWSo o3O6952y293BKjyD9zuDbYxAj+wR48PyfqebYXf6sJs23cl7FD63rSnzF+l+7LLzmgFv+/Kq9UV 99RXR0mCn91/PYbwMzqC1cPN2Y1QO1G1d8hbnUV0kks= X-Google-Smtp-Source: AGHT+IFDO9K2q73ZkHXh1q8bIV9QQbY3HITlSzjerFez+hyaMApgOpAFEuI1ij3Hx9STu1KB7K29hg== X-Received: by 2002:a05:620a:1aa6:b0:7b7:142d:53a8 with SMTP id af79cd13be357-7c774a3c100mr536465685a.19.1743790393005; Fri, 04 Apr 2025 11:13:13 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with UTF8SMTPSA id af79cd13be357-7c76e96a1fcsm247409785a.54.2025.04.04.11.13.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Apr 2025 11:13:12 -0700 (PDT) Date: Fri, 4 Apr 2025 14:13:08 -0400 From: Johannes Weiner To: Waiman Long Cc: Tejun Heo , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Michal =?iso-8859-1?Q?Koutn=FD?= , Shuah Khan , linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v2 1/2] memcg: Don't generate low/min events if either low/min or elow/emin is 0 Message-ID: <20250404181308.GA300138@cmpxchg.org> References: <20250404012435.656045-1-longman@redhat.com> <1ac51e8e-8dc0-4cd8-9414-f28125061bb3@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1ac51e8e-8dc0-4cd8-9414-f28125061bb3@redhat.com> X-Rspamd-Queue-Id: 0E0A0100013 X-Stat-Signature: k3j9cn5arz91mhhhao4kww8y6u3mpo1d X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1743790393-60433 X-HE-Meta: U2FsdGVkX1+nznOq1tvHZW63RyRUjEowmr2BCvz27k4vnSA4Cw/GDeoHN3Tv44D7a7TsKSVTRze2eyOs2lRamSXor/OZmbs1c/jFo+cJAQvI4A5w69xOnO/eyj3dg+QkwdV/AbfEz5tuC22YsdriWGbROxFKpN3sYtmZH5AyebPhnKviRnDekxQRNKdhqKU2nhCa2OoYb4I35ydrkQnqAdvVodYPyaPnQz4EE9DL8xT6DoU10IQO075lYh+07qNT88wHibvyxH/P3gwC2qbFK4PYx7dFgNs/fDDaGQ4A3Qb6Hm7jCBtONRz8lRgJO+aRRnjdNjR1L/HDxtsC575P4Qpe7qesM+a0ivr/xSUge28I6KOpfaGNJ5ildD+he7HwRvwuUCXHHArmjRhfPpN4k+FSm6w62pB2Zuc0KEa7PhQdUs0k9gPvNWZIg7XRxNsrlUT6bPjmGEYZS6+QWkCDTRTqEDFq7f+2QHYpgdWlw42YibzpcRIg3BK5uT8vro2HrzB0R1ab7nRDw+EQIMolZGV+6hokMhXD3h2ZrpG+yPaWtVdxDMVKxrnF2El6HxLRzRd55OCoKJfwwwyS0wpMOhyHt994nuwTlQ2DFbIrgbaRwuhcBzhGdQaeQI5afcNLpTjcnyfc+TWWS03s0rEydHCbRZeMAR5/UomBbAAa44MCh9WhMHGmqa4dpDsy5bSvPwaCjXKPbzqMVy51Qe7QMwCSOe0jxJPqqTjqpi1bdlaIK2J5lRTdG90LLzmf39pvpK59tiXGWbfOFBeVbhHndCWQGWkBl5UzMFrM9szZ6FCsFj0UvL/UK6bMK7pv6IFZkAaJ5vKGiHsjDHcB750s7Td52CzFIpv5bgPOdmJyGQw92a2tjDn0TZjOiH1TMkWLcxpptvmZSj6wlu4YhuOcfl6TsKP4n5iku5oyF5J+kaaX5ynKYAwysdsToTuD+d8CVfKAxVqjT/32RFPNJ+U vpaVT4fs zCLIvbQ0cKJtrzDtCoiDzmrLcw5u/iH1NseCfSP9G2zZwIvaRzvoT2DG3NRoHacKQU4dqJFLml61edWlgN6c9HyVcAZ+RG8CjiaZiMQQFlH5UXK2P5KfGZivR2vNqbrp/w97MbyVzP5jZgnAbqLUOS1vL7xRwMSDWsSo9Igq3phrOAp1VPpFbB5k4ADeQRFMb1LBen87yajlPQVNRxj1i7TLUQ5Q0rqrneNSK7zlkQPzLy134oZCuucIRgCdXKiW+xcu0lpmvvraISX1p1xNJonxYhr1MJ/cWPKRW3mVSj+AqI/pPpavc3PiOqTmjl9MKl/ltRdiBHIJWTVeSVs/oV8AQ6mxL6ixbn9nXZgYLkhMU+u0tEd0VTYJ1QDFJpYX5G0ezVcU1OYnGsMBkMUZzwK5+XR4plLpfA/s8/QrKgbFE8Vp6hjIrPHhVlLkHxqEQLRXi7V3QTtZ7brz5XCR0QYLcVg== 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, Apr 04, 2025 at 01:25:33PM -0400, Waiman Long wrote: > > On 4/4/25 1:12 PM, Tejun Heo wrote: > > Hello, > > > > On Thu, Apr 03, 2025 at 09:24:34PM -0400, Waiman Long wrote: > > ... > >> The simple and naive fix of changing the operator to ">", however, > >> changes the memory reclaim behavior which can lead to other failures > >> as low events are needed to facilitate memory reclaim. So we can't do > >> that without some relatively riskier changes in memory reclaim. > > I'm doubtful using ">" would change reclaim behavior in a meaningful way and > > that'd be more straightforward. What do mm people think? The knob documentation uses "within low" and "above low" to distinguish whether you are protected or not, so at least from a code clarity pov, >= makes more sense to me: if your protection is N and you use exactly N, you're considered protected. That also means that by definition an empty cgroup is protected. It's not in excess of its protection. The test result isn't wrong. The real weirdness is issuing a "low reclaim" event when no reclaim is going to happen*. The patch effectively special cases "empty means in excess" to avoid the event and fall through to reclaim, which then does nothing as a result of its own scan target calculations. That seems convoluted. Why not skip empty cgroups before running inapplicable checks? diff --git a/mm/vmscan.c b/mm/vmscan.c index b620d74b0f66..260ab238ec22 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -5963,6 +5963,9 @@ static void shrink_node_memcgs(pg_data_t *pgdat, struct scan_control *sc) mem_cgroup_calculate_protection(target_memcg, memcg); + if (!mem_cgroup_usage(memcg, false)) + continue; + if (mem_cgroup_below_min(target_memcg, memcg)) { /* * Hard protection. > I haven't looked deeply into why that is the case, but > test_memcg_low/min tests had other failures when I made this change. It surprises me as well that it makes any practical difference. * Waiman points out that the weirdness is seeing low events without having a low configured. Eh, this isn't really true with recursive propagation; you may or may not have an elow depending on parental configuration and sibling behavior.