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 B2BEFC4167B for ; Mon, 11 Dec 2023 17:10:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B9E76B00C8; Mon, 11 Dec 2023 12:10:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 26A726B00D4; Mon, 11 Dec 2023 12:10:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 131DB6B0116; Mon, 11 Dec 2023 12:10:38 -0500 (EST) 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 0381D6B00C8 for ; Mon, 11 Dec 2023 12:10:38 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C6BBD1A0636 for ; Mon, 11 Dec 2023 17:10:37 +0000 (UTC) X-FDA: 81555176514.05.56948FE Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) by imf11.hostedemail.com (Postfix) with ESMTP id B615C4000E for ; Mon, 11 Dec 2023 17:10:35 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=soleen.com header.s=google header.b=F+coRWaq; spf=pass (imf11.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702314635; a=rsa-sha256; cv=none; b=r5ORpjnS5+0ZbxIUkYxdU039efSHlZGcUGarVOoUXL3yngH/sph+VEYsLZ+5CGEOMIjSWH 6F0oN6Ek+E4YoHVCR8o64uz/0qxjufqFkfjeD/rP1MK5NhATlel8aD7zXNwX6voiHyVO9K nqeuGfgcr2LmNZcXkouiB1pj905M3ws= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=soleen.com header.s=google header.b=F+coRWaq; spf=pass (imf11.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702314635; 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=nVwpXrg5GrAiosSC6uTLQ5GLZb1kq4d2s7vH0wRu8vc=; b=WMG6UwXwaisUrXit1PowD+egAsltDdHggEoqcE6FQ6dd9Yl/e/baeybIRc2Jq7IdCD+kWA 9evBOzS/FkPEnENqS8ZNGxMN8rl7KlvGhNR2VgmhKLMuUpgaLyoNb8lnZ8nPEgOBo+yG9s HcujzkX0dgyimxat+OGP2Qek1WVBnts= Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-425a2b4df7bso26386221cf.0 for ; Mon, 11 Dec 2023 09:10:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1702314635; x=1702919435; 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=nVwpXrg5GrAiosSC6uTLQ5GLZb1kq4d2s7vH0wRu8vc=; b=F+coRWaqxtgff+5MV6vGgQLG72uWvX3BwZspu3Qs8Q/MBCcxalaus57eGsdFBHQnhP D26BtPKLLjUO24s7IJVE3DFQ3UShoxRrtzH9IBCmPxQubCkiugFaQ8sDgefYXGjqbT2n TkLEJVB122tWRo613U4VJMqfoPzOfhSJ8Hj/Anzz3S2vdSJBYpKc/JT14HjSGbqCWKRM 2d5ebXCqVKOWqtPXP3hFF0jsvLW+H/2xJzWP9WS9CeWu0uSdIWAq95D6Ng84+UVqxu1T nHlOKOXraG/W2rLarOil5TASfRCmKswgOQghdbYPnpO5wO1DXujDeXUycwWwyUwRCHK0 lhvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702314635; x=1702919435; 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=nVwpXrg5GrAiosSC6uTLQ5GLZb1kq4d2s7vH0wRu8vc=; b=YkehOMIAvMZrx9++mSYIy0WTREpfvGK4xlN81n4P9ggz56jKWIpYjdHCl0hIdorCqu 4UnFxVD1oRfXuopEUm9JWL3d8/7gp4EmXdSh8qLb8luNxPAR5VwHgbMsFnk79D49Gzia jYvyQJbDJ8vHqNNWtnmA4lWBZf1fu99YIMVhaovdxJkLHp2fuiaBABgur1CwrzLkOIwa FLJvutVkJgP7/kFVWN5O+fMPu/HV5oweTheWBoFSqme27lZGfBf13r2zOqBSDCQq1jvg rlJthX7ExZa0OA+WnQfY3HyMFJ1e1a7YBUfv8MAtUzOaBczjq56bB0y0LDnt2cDR9muK HDqg== X-Gm-Message-State: AOJu0YxPx+3+PEzkkysQSei5Pnt2ThDQwKRcCfGE/Q0Ovqvf5HKH0Y1V n5XUMtRkVqxGmr13PCdwvzOD/47P3cCDG4eaq3EkrQ== X-Google-Smtp-Source: AGHT+IEWA5j2rxU2s7GXnHN22sWHK1yBm26s38obXicdqOGWHUUAbuOhImNg2g09egt6OVEVMwL5e799O3ygWCXSyMg= X-Received: by 2002:ac8:4e92:0:b0:425:4043:5f2e with SMTP id 18-20020ac84e92000000b0042540435f2emr7945001qtp.108.1702314634830; Mon, 11 Dec 2023 09:10:34 -0800 (PST) MIME-Version: 1.0 References: <20231211154644.4103495-1-pasha.tatashin@soleen.com> In-Reply-To: From: Pasha Tatashin Date: Mon, 11 Dec 2023 12:09:57 -0500 Message-ID: Subject: Re: [PATCH] vmstat: don't auto expand the sysfs files To: Matthew Wilcox Cc: gregkh@linuxfoundation.org, rafael@kernel.org, akpm@linux-foundation.org, surenb@google.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, souravpanda@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: B615C4000E X-Stat-Signature: brcf8cyoqrb88tmwyfuf9j1ifci87yc8 X-Rspam-User: X-HE-Tag: 1702314635-297670 X-HE-Meta: U2FsdGVkX1/y2PO1Mqt1DQ+OdaskpLp1iWNecmXC7EOFau4veNKk4l4ccrg86lGdFibVqu+wZiXkhRTUZ3jhcWazL9mEfrSw6RvTQuhoJ0/k0duUCuYZcxBhKOxFCWuxTze5FFNbBqUDCmxxBuXWYxJp3gQVunoaleaE0hBXfUAbcU0qBpX9+deSGVeEzrfBdY2HCK+norXjMhVlJOnlLEAaiodBngyUdRn92GNXPgDvMAVah1z6cgHOSwplAjOgAS/3LxdEdRJQk8iT3p/lALZyRGsGj9dl6Syc5TFM4+LBJB8XjWsqW8qlN9aAAAtYNFIDGYToY2yduiVtyjJ2LbpoQT0hsj6aH5Y6wNphBCDuIOTEUjdQu1PUyaUfvVrQOorlmZIgPEWk8g8xUR2EAl9IRoqX020r8sDiVjHukcA5DmzV1RaWGhOZ+nWXRjD9WHugaUS0R4+/riKp4jAM93GTw8yhsr73lHTD+Ork3Vy1iCBGETW71hpN9H0muNj5+DBDVLDR5+E3BXH6jJPa2rv0aFPs2VEDLqBfnLmoc8ljEbJ4valxbGaBYVCeZ1BYyniriAq2cvLvMdir3FHerPdcVqyDVBjx21oCbjtpzy31W//pXDo2SY15AW44BtutWPWM59eVEiIPby6y2LbL7yE7tckKTlkZ4zg6NbsRsN6KmT2tmRZI+8AOAn7M8A9wZ67o6SKBhbshtWTW8FIgX4KCc5oy5jw2WchsPK9p6nHAu3LfYWJmxIlJIa9GRrqt0G4kYUE1FJg2Z6o+HlcZd960OitE1qPNfG94VT5S+C2X5FgxM8v9BA2WVvyW490tTcqykiEH3WV2tsVeOJCvkIhRbgMsdtSUVj0KlvbGvIhXfvwqZJsBMLiz7XtXtJ34syn7Rk2hjkWmWsnv29A5Ou7ykoQMyuY7z9vgvJDN1WDgA4C04a1qBDfnNuvAx5TJxVOY8dI/fKInWt9zik0 8i0/1eIk EKu26XUc1tgFBBH/RaEuoJEufS/Rb+bJKuXLjjhAMy3XBATNpRoBuipE/yJgAs1+BsGuQP1cOXNd25RATBQmpaRTkw/2w+ccFbYdHUp7j9uREkTF1RbZT7PXwUr0IOE7MvqnA+kjwGDvM2ZIMpX/bdPr5vF70mS3LPxagneLVIu2ZcgPMoHRzE+/nT1bjp9NT1dcXZ9z5R8MMhsPVBF5XBFlP97HIYSSp1CcMvSGmu0x7/jGFoWIkF+hcDFnoabrdft157Wey4EBEA1cpIk/MDp+V6hEmbdwgZILkOBKJBckLZsk= 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 Mon, Dec 11, 2023 at 12:00=E2=80=AFPM Matthew Wilcox wrote: > > On Mon, Dec 11, 2023 at 03:46:44PM +0000, Pasha Tatashin wrote: > > +++ b/drivers/base/node.c > > @@ -520,26 +520,34 @@ static ssize_t node_read_vmstat(struct device *de= v, > > int i; > > int len =3D 0; > > > > - for (i =3D 0; i < NR_VM_ZONE_STAT_ITEMS; i++) > > - len +=3D sysfs_emit_at(buf, len, "%s %lu\n", > > - zone_stat_name(i), > > - sum_zone_node_page_state(nid, i)); > > + for (i =3D 0; i < NR_VM_ZONE_STAT_ITEMS; i++) { > > + if (vmstat_text[ZONE_STAT_NAME_IDX(i)].flags & VMSTAT_SHO= W_SYSFS) { > > + len +=3D sysfs_emit_at(buf, len, "%s %lu\n", > > + zone_stat_name(i), > > + sum_zone_node_page_state(nid= , i)); > > + } > > + } > > This seems overly complicated. Why not do: > > for (i =3D 0; i < NR_VM_ZONE_STAT_SYSFS_ITEMS; i++) > > and have assertions that this number doesn't change (and require people > to add to the list after that point)? This is what I wanted to do at the beginning. But, the problem is that vmstat_text[] contains names from a number of different structs of stats: zone_stat, numa_stat, node_stat, lru_list, writeback_stat, vm_even. Therefore, we can't simply count the number of NR_VM_ZONE_STAT_SYSFS_ITEMS, as the new items can be added in the middle of vmstat_text[] when for example numa_stat is expanded. Pasha