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 361E2C4345F for ; Sat, 27 Apr 2024 14:22:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A42346B0088; Sat, 27 Apr 2024 10:22:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9F1926B0089; Sat, 27 Apr 2024 10:22:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B8976B008A; Sat, 27 Apr 2024 10:22:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 6DEEB6B0088 for ; Sat, 27 Apr 2024 10:22:43 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 160ED1A0BAB for ; Sat, 27 Apr 2024 14:22:43 +0000 (UTC) X-FDA: 82055527806.29.8D0785B Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178]) by imf06.hostedemail.com (Postfix) with ESMTP id 01C2618001F for ; Sat, 27 Apr 2024 14:22:40 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=d2igsrH4; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf06.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.167.178 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=1714227761; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=my9A5bfRcuk8Vub7UGZ+fWvF69oRVjwTLMcPliiDick=; b=IsZrcZHWS43tWjlKDzJihREIKQiN/sNMC2lpBBQRtDa+AES6KFwRWIyU3RPKjA9JYrsEIb XkiNQCQ0x0nZpKGtz9wGL4QnKvIpVSV2NoAWPzXHZY8LOKC+6T6uYjCciaQbCIweMvmb73 bbw4tDX10T7QU4QkGKRWaw5Tujj/CqQ= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=d2igsrH4; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf06.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.167.178 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714227761; a=rsa-sha256; cv=none; b=t3iGVT6st0HQz5NhvnwC2VR0wrC+FWlOWo6wGQ0h8YvBjKNjdkgz9JjB9fl2qi3MPB6iTG PcMf6fsdGoUJuQklVaiZ9FpTzHGYkq2T27pfLhoC3bowD/LzTyb8/5jyvUMxVRe8fBdXj6 M6+02Y5HFywZNujWDgLRl2x/aVlZOoY= Received: by mail-oi1-f178.google.com with SMTP id 5614622812f47-3c74abe247bso1843502b6e.3 for ; Sat, 27 Apr 2024 07:22:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1714227759; x=1714832559; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=my9A5bfRcuk8Vub7UGZ+fWvF69oRVjwTLMcPliiDick=; b=d2igsrH4oCAjw0BDx9t3qccX30ZXQAK4Y3R4yLzu4/AsNQd+4ZH0QeEOLbIl8npeEs M8yjowjQ/Weexxv9VIKZPCWCz2VjmMZUdbkC+Ln+HYt4+dUtrpHXV/oW2dG8zMDmtgCD hUJp9GinINftHCdIANMsk27xGlkw6gkenrZUpODVcLHAaF3htt18SyPBWgc2W4ZQt8E2 GtopTS4n93t+m4LJLk9dZUqRSMjgiZ+fdAb2ygEJ0/Zw00GdgVrQ6ew4mPSbaiTYI53p JeNtNSEyc0u693fSeWzFzi1BArjjdv+hPoaoNpgTV04Oe8v0bDdaYR5gblx0Ib8r9t+z /jkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714227759; x=1714832559; h=in-reply-to:content-transfer-encoding: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=my9A5bfRcuk8Vub7UGZ+fWvF69oRVjwTLMcPliiDick=; b=TABm7BgJhtn9rAAE9hex7FXcGH49DqgvzUrO6oUH9eaBjepuAwfcD42RfWuF2TtFqq OUeRHxXumgUds+ZUblXxZNBM1fDocmFA7Ng6dvn4WWUoeJS1RznBbaJaf7k8rLGrXQhl VGu/RE/djadxA5sa8PbvUeY/TVCk7uECUPtrzp9qnYdgCoxNCd2XhxgvnxSLX2228UEv m2Edk1g7xKqBm0n1VkalsAGPBQyFAqqzvB5MH8T8BuSdDE96YDrQKigWC5CQTZ72cSuu 3d9rwIMXNpYzqv5a7BF8hPVYRqkj7GSOVZucFIHOfXEoPhmywIKlClyq9pa9jUs7/Bb0 eKLw== X-Forwarded-Encrypted: i=1; AJvYcCUEfO3iKKbmzqtLsbQAiJD10mZlRZPXXcacCS8jmrfTAeRROmW7bGHnR2JO7amrwhmXziw0OmGLkGfg9L6HrwtcnOE= X-Gm-Message-State: AOJu0Yx3ZVxTJrN6u9iUl0Jw/npeg/d9yqS3n2xZLaIDwyoJVIy79SnY JoIVFGBTr14umCDqceFadHYwR8U1DYV8tFk9jqJ0eo53+mTHvu9/6BpsHaZsO+w= X-Google-Smtp-Source: AGHT+IGlXUiLHaSxK/O81O0idYFAzC3VKjq1uq3uVPy3u/Opul3t1XhcpmxelrF849KjN41z3KT0Og== X-Received: by 2002:a05:6808:a88:b0:3c8:47a3:3d01 with SMTP id q8-20020a0568080a8800b003c847a33d01mr5963751oij.34.1714227759436; Sat, 27 Apr 2024 07:22:39 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with ESMTPSA id y13-20020ad445ad000000b0069b4f48003bsm1847901qvu.100.2024.04.27.07.22.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Apr 2024 07:22:38 -0700 (PDT) Date: Sat, 27 Apr 2024 10:22:34 -0400 From: Johannes Weiner To: Shakeel Butt Cc: Yosry Ahmed , Andrew Morton , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 5/7] memcg: pr_warn_once for unexpected events and stats Message-ID: <20240427142234.GA1155473@cmpxchg.org> References: <20240427003733.3898961-1-shakeel.butt@linux.dev> <20240427003733.3898961-6-shakeel.butt@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 01C2618001F X-Stat-Signature: nb87qrrpub91erf6iqsfp9iqp4sux6xm X-Rspam-User: X-HE-Tag: 1714227760-699934 X-HE-Meta: U2FsdGVkX18AiImDztoA8wXE2dUfHrxixuKDpHoBastfMlBDU4Ny4vRw5A6xap9dU9wrnXF2Hu6CJzK/I3lsX/jboNsnH0QYJzStbsm6DQAU4FikslOK/c3XbvlXMy3vAH40sZb540d8jm1ljwO+oa7NfADwyiX0VQPgqrwMLHUrs8Bb+gM9mfr3C5wmk4S1tUzFnW8N2LLhAGREe8k5uBJ6XnQiK39SZmXM1u4Jkh1dbiKBlBib+FmItEvK3zJohSErv8JeXbIRP8zIRleMr5s87FR6WuF+fB2Wacj1QtPkUD7p2sl700fHEHQs5DumwVAEc7TpRAXOy9gBP/Su8qCWadeIJJbdkYOYJK8HCknmBNjidh9svt/xny9t+yE8Uj5dCC8+8Pl3Sbj/M1QnXcTGSa82AOizpzINYKpW552ozU5e/Fm/IRMZbjjwmV+ckrqLLEFAdn+ORXALTR5gec4kBfomITsc7g1s/15v2vJ+Jehx4Pe2Vu05QAMFGkvjeOZgKqwDPzhj1cZRnVTE+IepOZLLWTrjxbqLuEQCtdhJqSwvHhhZVjJQBnZ7d+fLMAx9Old1+q980Ez5NYGkC8oB8gaKcQ2UPUaET5gHhdX9b2+5nVRtT4zfamWlpcTRHOUoRgz8Ch8/xgYEqJRc4ChUFtLxPIJv5MTwNwMzWTVtMBiNTeQLEm9DNVVJnJ/KAJiTpm5IgUAp4nbAu4iPSFNyvaOgToMbbct5gJXfbstfHj/g3RsgbXxSETfx0yOyxmzzUbf1qi45LOlhwstXG1sr63su+1teuSAMTkKXxtiCs3Bb9arPFfbXxnueNkPXgdTnoBInYJKU8PrWHzEy3KtlNUchPOhPo4C8MAvhGUyxTtHYD/haRKHz0xNeozWJBnSSVpLCF+2FoayrFxkRiZXD4Mlh5q5UUp7cJg2tuu0z01xFSSB26HRbITHFxhl/K15Yc52/pMoHzaaFZfs qwIpx6e8 1B8zJnVRwlBmWRyJExDTMq9Ke9uv0bjWRecAgjI64+VRRJoEaT8yFR5M681vVkXVCCMxZDQFa94hWNSWQr7SMXUf/sH3tZpfq39e44dgQkSpwc/OHy+uxNC3eVH3IvUf3DQK+Znm+AmG+TNIyGCJHujct/BZ3luTxTM/LXeo/7qV2hD5Wr6ZQlsMo4zatIHt3m8KRij8CJ9Z+WFHQ9NxSrke5rrEHbQK8SU0i44XkZvclrck56p4KZ67cBA00YtOkFcFWn3Y8TYIBj/ccjX7xDH1ZYVQTJuF4BjDCqgi1GzdQfnKmPtOwLPeIWh91A9BGNZlV1aev+Ux419eDGrs5Fx7syE7ef7HNdxIjOZKaz2Rg4xTYn22tCP9xCJ2rAYfDbStiKYuZvFokl5R15FxlrdwXPiaoiuXz3N8kuK7fq6Lb4DruM2wz+IpwVsVrB7ItYBVMKA/QlUV8A8gxVkmJIU1aYiIluY+GjXvJ/DohgiyKYzaFlbdRZHmWeCFi80JVNR369m0mkfSu4nGDm8Gbmqs+XnrElKSIOa2iVEJ31gcWDIpb4CR9oAy8iP8wD4KipiS/ 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 26, 2024 at 06:18:13PM -0700, Shakeel Butt wrote: > On Fri, Apr 26, 2024 at 05:58:16PM -0700, Yosry Ahmed wrote: > > On Fri, Apr 26, 2024 at 5:38 PM Shakeel Butt wrote: > > > > > > To reduce memory usage by the memcg events and stats, the kernel uses > > > indirection table and only allocate stats and events which are being > > > used by the memcg code. To make this more robust, let's add warnings > > > where unexpected stats and events indexes are used. > > > > > > Signed-off-by: Shakeel Butt > > > --- > > > mm/memcontrol.c | 43 ++++++++++++++++++++++++++++++++++--------- > > > 1 file changed, 34 insertions(+), 9 deletions(-) > > > > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > > index 103e0e53e20a..36145089dcf5 100644 > > > --- a/mm/memcontrol.c > > > +++ b/mm/memcontrol.c > > > @@ -671,9 +671,11 @@ unsigned long lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) > > > return node_page_state(lruvec_pgdat(lruvec), idx); > > > > > > i = memcg_stats_index(idx); > > > - if (i >= 0) { > > > + if (likely(i >= 0)) { > > > pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); > > > x = READ_ONCE(pn->lruvec_stats->state[i]); > > > + } else { > > > + pr_warn_once("%s: stat item index: %d\n", __func__, idx); > > > } > > > > Can we make these more compact by using WARN_ON_ONCE() instead: > > > > if (WARN_ON_ONCE(i < 0)) > > return 0; > > > > I guess the advantage of using pr_warn_once() is that we get to print > > the exact stat index, but the stack trace from WARN_ON_ONCE() should > > make it obvious in most cases AFAICT. if (WARN_ONCE(i < 0, "stat item %d not in memcg_node_stat_items\n", i)) return 0; should work? > > No strong opinions either way. > > One reason I used pr_warn_once() over WARN_ON_ONCE() is the syzbot > trigger. No need to trip the bot over this error condition. The warn splat is definitely quite verbose. But I think that would only be annoying initially, in case a site was missed. Down the line, it seems helpful to have this stand out to somebody who is trying to add a new cgroup stat and forgets to update the right enums.