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 49047C3DA61 for ; Wed, 24 Jul 2024 23:18:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8BE416B008C; Wed, 24 Jul 2024 19:18:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 86D3F6B0092; Wed, 24 Jul 2024 19:18:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 734B56B0093; Wed, 24 Jul 2024 19:18:36 -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 55CFE6B008C for ; Wed, 24 Jul 2024 19:18:36 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E1C3180CA4 for ; Wed, 24 Jul 2024 23:18:35 +0000 (UTC) X-FDA: 82376212590.07.AA7DDC5 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by imf15.hostedemail.com (Postfix) with ESMTP id 1DE3FA001B for ; Wed, 24 Jul 2024 23:18:33 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=3z4EiMhQ; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721863089; a=rsa-sha256; cv=none; b=oMdXN3SCf+IskFtVYA8DZt8JA15apzWLPRygPFectB7jX+k7tMfgOdFkG8+QhJhiaZXxlF OMsVHiBZSKxPI12sAqJKlZnd56W9i/QRNaCPJVlF62PUSk9Gfue1nhEc0Hi6WB1Z65C6Jb neg0XuOvM4p2XTaYyEhGN0btF2F3vso= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=3z4EiMhQ; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721863089; 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=MBy09clzXrnMnEqnYTigIgIPxOJXnj7DMJjTwwAfQDI=; b=cy8DS82PEXbDVsfN80i7woWhv3Z+JSmhGQ5yOaOw/kaxm5a1lesEd48B1k/SXosq/EcRpo YcYZPBDe8epjcN43q9jWVI100MHIj0vHz3LCaGJmdCxDd4qwGxfxEYuasDvt8n5eZuVhMa silLjEt25zd8LHOx/mKsWIY5faEnRQk= Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-52f04c29588so346504e87.3 for ; Wed, 24 Jul 2024 16:18:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1721863112; x=1722467912; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=MBy09clzXrnMnEqnYTigIgIPxOJXnj7DMJjTwwAfQDI=; b=3z4EiMhQa02OtoOvlTSlQlvHExNC9SmFmJ40VqiFLFv0CzcP/DWFqKeJTAg5osU6kY CQAmbwJ6PQ4XIMQObgNhUVOAZcD9wDFtLGjUcl/uyr0yk/cZXWDwSmdd3t9gq5OOi8mx tYWRK32vbU7XPRPsE9XIruoU8HbS91FtC6+n9Woe9VdJjpekC+KWFBR12PTXrhI+yAnK oY+a6AJwWeBcUoaQMOjQUpaNiSJNRFznGaZ9cf4m47Zpcf6V2+6gHAyrsMsT/EWELd+F 5Hakkd5YrjjVNwhuNEqsilUfELpPsiPpaAkY6U1UG8XEBoLj77xDAd2aSJgxxy2jzERX Zhpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721863112; x=1722467912; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MBy09clzXrnMnEqnYTigIgIPxOJXnj7DMJjTwwAfQDI=; b=Vwi3t2iBiSbydcjBe41KS6K+ZfA7+6v9UVIetNrc+GoYeYi6jfIu3BJ7sUv0Bo3Mub NAA4+sn+3hLJw+ON7G19B0CaCTDTE8LS/77WKkEyLrfv7WjAAvncu4HX/kPJtCL05icY 4i1Y5WLr/xI1pzPMdHb3ZDE7eDFt+O4hME82ahq/WxnyW2WygG/ISH1tMVWwYfGvAK40 NxSQywLU/U1AMvDGj750mT1sZVbxmC7mXOdIRlngj++Z3HjU2ehAYMm9vuA+XWKdDJUV jIrzS4EEVZseme0VDyt++wHzwpbL8THsT9Qd0DClPVvk+2WLodh/ooW0xtJ03+KDTYbn YTBA== X-Forwarded-Encrypted: i=1; AJvYcCUxyWpu8E9Gkq/iBO6lW3Jpra/A+63iyhHOPurxyFNF2CHKa0wyB7iGxEtjEZp2a2ukIzKMldQ6Q/KGHG5d8ylFKBM= X-Gm-Message-State: AOJu0Yxoz7cSmT5u9VMdkMK3NTnxdmQo67Kui5Lh+Aa7X7ViYK1Yehzg miUI/hcGUzAlSfF3ha8LscfTYUB0MA7Z0Y6PfaNs+Wpm4RWvP3yOxE7PTJ+li3qketysIa2t2mq EV9ZlmneDTMCUr73jQg9GJdmvcCRnKnp+0nvO X-Google-Smtp-Source: AGHT+IHOVvXE8GCCKwfqIw3pf9FYZqj0uIOOwWCkIpAiAgGZ3JbXKYEqqHyFvApNH35L0C6WCWjkREO0ZQHFcipJE1U= X-Received: by 2002:a05:6512:3191:b0:52e:a008:8f55 with SMTP id 2adb3069b0e04-52fd6080137mr87591e87.41.1721863111566; Wed, 24 Jul 2024 16:18:31 -0700 (PDT) MIME-Version: 1.0 References: <20240724203322.2765486-1-pasha.tatashin@soleen.com> <20240724203322.2765486-2-pasha.tatashin@soleen.com> In-Reply-To: <20240724203322.2765486-2-pasha.tatashin@soleen.com> From: Yosry Ahmed Date: Wed, 24 Jul 2024 16:17:55 -0700 Message-ID: Subject: Re: [PATCH v5 1/3] memcg: increase the valid index range for memcg stats To: Pasha Tatashin Cc: akpm@linux-foundation.org, jpoimboe@kernel.org, kent.overstreet@linux.dev, peterz@infradead.org, nphamcs@gmail.com, cerasuolodomenico@gmail.com, surenb@google.com, lizhijian@fujitsu.com, willy@infradead.org, shakeel.butt@linux.dev, vbabka@suse.cz, ziy@nvidia.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: p6a8ge34o7b8dtfcfbu7t6ck9zd43hio X-Rspamd-Queue-Id: 1DE3FA001B X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1721863113-21099 X-HE-Meta: U2FsdGVkX18wHbIKRGWBl2BYO+m07KB1K74z7ZppKn/ANEVeidREUvd/oICtZxeAfsDX2SpxfHZQw/5T9lGlDZRB/s6C7RO4h0X0PZYyS6AvqSrGGPLk621ioIvHEvb+t+0e3A6gnPb+ho4WJbRf3zCVS6204vgMXke3W44Y0m0jYmXwYdpAp/c8VidU3jIQBIhCtfULoIzIYlMSDsUeaB8SmGcEFCM6++IaIvgkQAD2d7KuROzLMJvO0hWuTJNWq9Il4B6jqncwwySK1Xvq7yQA7SEbGNB02TQ7wTACOTeU/xhmqawNCKBBF4bAxjEsMPK8G97hFCKlbyv08+de3Vbn0eBf/M6Qawndm6A9aFgyV99ACLIaxonJHGrsXTMzTMwnA55Kz4ZShQaA1cQ25ZWQkI/9iKjW7i+2KhYw+EDEVG0ftJqxhjff37lhSOjFWM/bdWdAF+e2XMgv+G6KPu0iCOqLkP8h9ylY9BkQr3LbTCPMlRBxsF0i3Ue1ywWhnhe9PQmAcppjcEN/1uELCrSW/oZdHteJm0ufxYYNX0AKge5sldcNUUYBbF133uKW1v6ZyB3BX28Mf2DxYokbxG7JmnAmKnKtc8JtKKWZ0AOqpy1aDx16yDAy71AonFKNA478hazFsncjxeQtFgz4davEyvgKZY6hFQkV3CcttGluHmNla7gO55p6Z2YzlRQWvIm3/U7TsxPFPYDF9lymLmq4laAPq35YhyOKmz86R2ugpQFiHzHxgitNBDPKfyMnDWjrRrftJpRWFD2kmaM68V/2TAbwoOWgFimvQVHWmu/saFHH5FKt2FfOFtgEGWf4RmwwVUc5NF3Y2dcjmhhtMuaMXaUJjMElJlSYDzxOTiUgas4mGetdk2i7thULVslx9iHMicPzxVOUFqc476rttkJ72zLip2V2jdtpRdt1H6FIU+IXNPNbJbhXFUWCjwC0r+sDlhMLrSYwxf7XrfO fR7Q3aca NxUzxuUXARb/5+JAYTwRDmmEuw2jOKbJ/ve1yC5BlsBim8xx+UTBXa9mpMgWJ/rnv3dlotKAaTAHLkW3bKGDrWZIQ0TO+cAKD6hCAyyY+7opncm8bI3Dz+6YHQKEgES0Uy19k20G9TTo2jyuoUEL6Zb+iiHQIcHg+LuvqznmISYr2uL03MwAAx7KvIaXesR7w+zCmTlYHIyJPDG36skCoqcIwoYCPRmttosUts/StFrZhkkMYExzIP5vcsm5QHzTsHC2OM65WL3wlPZY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000036, 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 Wed, Jul 24, 2024 at 1:33=E2=80=AFPM Pasha Tatashin wrote: > > From: Shakeel Butt > > At the moment the valid index for the indirection tables for memcg stats > and events is < S8_MAX. These indirection tables are used in performance > critical codepaths. With the latest addition to the vm_events, the > NR_VM_EVENT_ITEMS has gone over S8_MAX. One way to resolve is to > increase the entry size of the indirection table from int8_t to int16_t > but this will increase the potential number of cachelines needed to > access the indirection table. > > This patch took a different approach and make the valid index < U8_MAX. > In this way the size of the indirection tables will remain same and we > only need to invalid index check from less than 0 to equal to U8_MAX. > In this approach we have also removed a subtraction from the performance > critical codepaths. > > Signed-off-by: Shakeel Butt > Co-developed-by: Pasha Tatashin > Signed-off-by: Pasha Tatashin > --- > mm/memcontrol.c | 50 +++++++++++++++++++++++++++---------------------- > 1 file changed, 28 insertions(+), 22 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 960371788687..2fdeece7f1f8 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -320,24 +320,27 @@ static const unsigned int memcg_stat_items[] =3D { > #define NR_MEMCG_NODE_STAT_ITEMS ARRAY_SIZE(memcg_node_stat_items) > #define MEMCG_VMSTAT_SIZE (NR_MEMCG_NODE_STAT_ITEMS + \ > ARRAY_SIZE(memcg_stat_items)) > -static int8_t mem_cgroup_stats_index[MEMCG_NR_STAT] __read_mostly; > +#define IS_INVALID(index) ((index) =3D=3D U8_MAX) The use of this macro extends well into this file, should we use a more specific name (e.g. IS_VALID_STATS_IDX())?