Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp2033407rdb; Sun, 24 Dec 2023 13:26:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IGbrgfL2II445tqmCv8Oa3R5cpsDaRAVRgU5BqV32HwaNGrai9hLGYYR5BV3MJotuSRNeK1 X-Received: by 2002:a05:6871:28f:b0:1fb:75c:3fe8 with SMTP id i15-20020a056871028f00b001fb075c3fe8mr6401216oae.72.1703453190623; Sun, 24 Dec 2023 13:26:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703453190; cv=none; d=google.com; s=arc-20160816; b=JFoF8dFf+xKJ9IhUiEQX3ZAOWCHYaie9K+4+og9Fu1AU4Zlwp0MzMGcPCTNVP+wC4C 15/CUsmyhGCOzdL1dZQo5HbIqQ9MTeWX89eME2GD+ygQGWXvibOfY8JC97sQ6f4gJ26w TeMz2juLmd2wAck9ckjEIabQsH8+QhoqeeDKNhUPUMYG1ugBMhYNmVZ9z6uTdzcYqwgx 53RL0VMfNv9SXMHPKbZQvlMkeHgwRN6d/ftZpOtRj7Gmj10xjvVO5qD2h9Jot5t+HrfS 6qKHzKGY/+0pL+zux6P/Hu9fTS+8E55iK3ARAGUk1L+6Rf092ejIZamBIcTPL0aVFrhs pEVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:message-id:in-reply-to:subject:cc:to:from:date :dkim-signature; bh=JvNQTdY06fNS62lWjwFwulScBL1udDIwugjQ5w044qk=; fh=FYzlE2a8+8geGdqmgGTHbn3bqFHbeCvyte+v6QZ0rfE=; b=vZRfVx+tOgRk8qWdK76T5sr/deYpZPxNWj510GMOFbo8QgxkmDDEcPPmg/+ltf7+pE AgRik2bvaJn3oMAf1vX5k3ymCI2JKs0UpZDcpTlmV0hoUIIWnuV/+mCQTOLzSkaSr6aV jj0ObVI4SQI3HA77t4I3dsyUnZsAkKY7jnXZKht0fOAfdto6RZHO7cupM2o3cmn6Z/h2 W6/IBZVTdlnW7EFExYIUn0bbiyrcIMv86ZIpbJGrQrCRngKyIwJShV/ralj4reizmQZv wsa9CWd2JD7VJQ0TKIThoqx7sjyakzoTxAI7+DleaqDDo/0j66F0Plo2FeOjdgNdXmFp Im/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=OeA54G8H; spf=pass (google.com: domain of linux-kernel+bounces-10826-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-10826-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id 14-20020a63124e000000b005c661efffcbsi3973497pgs.78.2023.12.24.13.26.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Dec 2023 13:26:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-10826-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=OeA54G8H; spf=pass (google.com: domain of linux-kernel+bounces-10826-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-10826-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 71858B212BA for ; Sun, 24 Dec 2023 21:26:27 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0CED7EAE5; Sun, 24 Dec 2023 21:26:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="OeA54G8H" X-Original-To: linux-kernel@vger.kernel.org Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 10252E56B for ; Sun, 24 Dec 2023 21:26:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-1d3ea8d0f9dso259485ad.1 for ; Sun, 24 Dec 2023 13:26:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1703453177; x=1704057977; darn=vger.kernel.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=JvNQTdY06fNS62lWjwFwulScBL1udDIwugjQ5w044qk=; b=OeA54G8HTjtNVOVsXAoxC3dz8uFZrNYeYggAKwhP/sMAPCSOSoJInMCI+zh+lq6qGh dIZeVUV4XwhkrBlwkuRRlCaY8kjodDxaEo4AsUYat37VxSiRiycW/J6mGOgo5Q0KwUZw 8ad7+RlRbJPwcoLv5RC3zpNMJtFYMNLIB7FIqGF00lpSDmJZ24DjgU1aBiRErNbiBS0q rAR4KX2GTjncjUp5yKHUUTZmibsFkk3ZVWEM7vQafy8ax7RFmqHpQ4SGxjhjPhLTZPlX an2T1N/rVZ41Mh/SNUn8Fi63o2TtWIIXwhANdoYDZZbCvNsiDjIzi+8VPu/jGlsTz0nk NWww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703453177; x=1704057977; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JvNQTdY06fNS62lWjwFwulScBL1udDIwugjQ5w044qk=; b=bE60amvVEu2UQlTG0ty6FUrtJlONWXf58wN0I5P5zCVXLJtZHRj+YrmHeLTvK5urGz wLcmFjiC5fSRwV4D0RvfnIvC0ruDpRhHG6vfGLw+djpTxqptotjmotuWVpsYnlwo6DHQ xBnfTGIQeCS9ZhM4tOezcPf7BUvNNADiw+0aT/8qlAGWsZSP0lVe30/mkim60Y8IkrXY 1Bbv2v/K8Vo+tK37H8zBny6MLxdYd09FTx/w/rgjswNlMZShvj3Cem2KXFD++bXK73Ch F1InTHgoUGD4yXHGd42LE5NOWgljJj5lD5Zqdo6M+0OWsLAvDfmjpSfkF6v00bghXfjQ H1OQ== X-Gm-Message-State: AOJu0Yye4OsPe8QnUgBma1B5keBMFvYzQWNUvccs/yzMP9e5H7mDO6EG bBzaZgd8+x95oduMx9iwdFgmSsI4LqAU X-Received: by 2002:a17:903:189:b0:1d4:a9c:dc70 with SMTP id z9-20020a170903018900b001d40a9cdc70mr255214plg.9.1703453176969; Sun, 24 Dec 2023 13:26:16 -0800 (PST) Received: from [2620:0:1008:15:c723:e11e:854b:ac88] ([2620:0:1008:15:c723:e11e:854b:ac88]) by smtp.gmail.com with ESMTPSA id u19-20020a62ed13000000b006d9ac04b8cesm2147947pfh.114.2023.12.24.13.26.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Dec 2023 13:26:16 -0800 (PST) Date: Sun, 24 Dec 2023 13:26:15 -0800 (PST) From: David Rientjes To: Pasha Tatashin 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 Subject: Re: [PATCH] vmstat: don't auto expand the sysfs files In-Reply-To: Message-ID: References: <20231211154644.4103495-1-pasha.tatashin@soleen.com> <3d415ab4-e8c7-7e72-0379-952370612bdd@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII On Thu, 14 Dec 2023, Pasha Tatashin wrote: > > > Whenever a new fields are added one of the following: node_stat_item > > > numa_stat_item zone_stat_item, the /sys/devices/system/node/nodeX/vmstat > > > files are auto expanded. > > > > > > This is a problem, as sysfs files should be only one value per file. > > > > Does this patch address the one-value-per-file issue? (I think that ship > > has sailed for vmstat.) > > That ship has sailed for vmstat, this patch addresses what was asked > by GregKH: not to add new values to vmstat, as not to make the > existing problem even worse. The sysfs file system has a one page > limit per file. The developers will decide how to export the new items > added to node_stat, numa_stat, zone_stat individually. Each new item > can be exported in its own files, and must have its own documentation > about interface stability, value meaning, and expectations when the > stat file is absent. > As of at least 6.5, /proc/vmstat is a strict superset of the per-node vmstat. Why is that a problem? There's great benefit to being able to use the sample implementations to parse either /proc/vmstat *or* the per-node vmstat and without needing to read the per-node vmstat plus some new set of sysfs files that are one-value-per-file. The per-node vmstat will always be multiple values, in fact it's a key value pair. I have to think that doing anything else for vmstat is just adding complexity (like this patch) and actually making it *harder* on userspace to read the data it needs. Yes, the per-node vmstat likely shouldn't be in sysfs at all but it appears to have been added there 13+ years ago because it was a convenient place to add a per-node variant. That's not ideal, but owell.