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 270AEC3DA6E for ; Fri, 5 Jan 2024 18:35:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A453D6B02E7; Fri, 5 Jan 2024 13:35:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9F5816B02E8; Fri, 5 Jan 2024 13:35:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 90B156B02EA; Fri, 5 Jan 2024 13:35:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 81DEB6B02E7 for ; Fri, 5 Jan 2024 13:35:20 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DA89EA0AC1 for ; Fri, 5 Jan 2024 18:35:19 +0000 (UTC) X-FDA: 81646109958.16.6E72DAD Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) by imf20.hostedemail.com (Postfix) with ESMTP id 0BC271C0016 for ; Fri, 5 Jan 2024 18:35:16 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=soleen.com header.s=google header.b=Ix1pfUQU; dmarc=none; spf=pass (imf20.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.182 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704479717; 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=+fi0onpTGrV63R/StoJONU4NViJ6wCXVAQDgLv/SfZY=; b=jxvAk49b8fGebprJY2TO/FzTfvopI2i3DWeUtx3V3MqR/o7lAeDkX2jsbziGAmkvPTVIC1 WREaxVJ5/gHqQRW0g3i4LRYRXWjq9i70CgEC6DEaPJE1igxLXeKbXbrmVwh0gIIklMjhG4 3BySDPDR3qQ76QRocRBHtguTsuykaYU= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=soleen.com header.s=google header.b=Ix1pfUQU; dmarc=none; spf=pass (imf20.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.182 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704479717; a=rsa-sha256; cv=none; b=mz6Xy2lsiI4l1KMgPXbMmsWsDGansTALogvf9K0rnTXanJTcXG0QWabyWKlZfmzgvv/Vi1 qw8wE/MzqNWvVen0lpLVC3UgyxoW+5l17FV4v/9KYbHboL6I7ph4bOVuCcpTMr16k3QTYg VUzM7B7Q7wlLnQjdN4pCTAIpO1LvOEA= Received: by mail-qt1-f182.google.com with SMTP id d75a77b69052e-4283670b6e2so9159741cf.1 for ; Fri, 05 Jan 2024 10:35:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1704479716; x=1705084516; 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=+fi0onpTGrV63R/StoJONU4NViJ6wCXVAQDgLv/SfZY=; b=Ix1pfUQU+NwpaOooQLGvKVIeFJrbuj3VLSt1/rMf5zFQ7nbGZzJ2h/gW+YQv6K6CFf q5vk/YblTOYjSCdElP0GE/JemtUCQiZPl9dzVFzNb88h1m+tDDj8tvJ2CrsZMoN/m+Fv z2wS3t6cv5BNwcuy/waMgRGgG7jvvGpg5f3JqjotJut5JYWEQ843IrLY7/dKJciU40v6 IrVzzaqOtF3CdJHxUeDpGnsrnXaUNa/q7Ni6myeoS7Rv0zEK78XZQyDGhf36YmC0iKhu Fs9sBlYEUlv9JC2MZ+62Pv0HDz58JwR3eEpDoM4zjX3+E9VVVJWWpS28CNOsvpQF6yJ/ Y+LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704479716; x=1705084516; 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=+fi0onpTGrV63R/StoJONU4NViJ6wCXVAQDgLv/SfZY=; b=mTKV4WBk0c7xDRjnqmLSMJ/NJCaTlZFKVNqNw3/phk3lfgiyPapjFmUCdQm5/vVvKU +SjlQvwptSJlgnKdbeVTFFDWRu89QQwNnKZuGhOiyUMCjJzexCI6gyHxCFGxiD7ZokCB yAwk65ASxI/dJU773SESvIgybzv7HqrpoCNJ8hQH883U+d33wRM7O/2zeTWz+K3MJTpp iF+PSWXjtB3k68mxv/EFdyIexnfRk+M+YcBF4UtRrM2Ct/DsTRQ+HQKvyaKdGMdltLzp AFoxqbt3nuYJxScan7P7ob5lecgIJw5b1g/4XZzK22Yb/M0DggCpWnD6yCFdpZhrMbhN HJEQ== X-Gm-Message-State: AOJu0Yy3fyK90/WCfkweMMiIaeotOcTbt6+pRlVsXazWqopx39uY9V58 dCdtnH1pu2fNM0RJboW7SeprzTSdrhQNLeRQIS44LXDznug+Og== X-Google-Smtp-Source: AGHT+IHmU5qlRGVBENYOfD7z6dPji/OFPx/ITRYU+YEm9BgcGmgM+TEf6pY7gJVNIC8n1fUbK0KxIgA/D68rxuFpvLM= X-Received: by 2002:a05:622a:148d:b0:429:760d:64da with SMTP id t13-20020a05622a148d00b00429760d64damr1492011qtx.19.1704479716012; Fri, 05 Jan 2024 10:35:16 -0800 (PST) MIME-Version: 1.0 References: <20231205223118.3575485-1-souravpanda@google.com> <20231205223118.3575485-2-souravpanda@google.com> In-Reply-To: <20231205223118.3575485-2-souravpanda@google.com> From: Pasha Tatashin Date: Fri, 5 Jan 2024 13:34:39 -0500 Message-ID: Subject: Re: [PATCH v6 1/1] mm: report per-page metadata information To: Sourav Panda Cc: corbet@lwn.net, gregkh@linuxfoundation.org, rafael@kernel.org, akpm@linux-foundation.org, mike.kravetz@oracle.com, muchun.song@linux.dev, rppt@kernel.org, david@redhat.com, rdunlap@infradead.org, chenlinxuan@uniontech.com, yang.yang29@zte.com.cn, tomas.mudrunka@gmail.com, bhelgaas@google.com, ivan@cloudflare.com, yosryahmed@google.com, hannes@cmpxchg.org, shakeelb@google.com, kirill.shutemov@linux.intel.com, wangkefeng.wang@huawei.com, adobriyan@gmail.com, vbabka@suse.cz, Liam.Howlett@oracle.com, surenb@google.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, willy@infradead.org, weixugc@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 0BC271C0016 X-Stat-Signature: efrrphufs8iupj3anrtyykas19pw7iji X-Rspam-User: X-HE-Tag: 1704479716-734881 X-HE-Meta: U2FsdGVkX1/CM503gxlDkGszXYqZxwb5ZdZx0y535FVCSJiEQ55A6W3+tKsSbA77557sO3tLUsjdKdWZc81v/F/fSM/9whjuvTn/cCiUFDzht4xgNKkT0lF/oj8aBbYhnpzl9ADalfyf993POIC+QkdU4nFubEGhM/w0irgwhr4aPqyGW4OY05ao21hBiDAUhUliJ0UbRB/VnRqzzfq6jfzgbzYe4TL3qhstyNDee7VkkWVpTReZWAYOvxQyKfgLfH2h7jaBFK5pug4ZZoS57+IVTyTzu+mSLH3zYyS/fyAt9FZGtqg+ISmeHzed+bvZwAH1mm8aJDncefIzq4T0hrFzPbzEKN5oj+q5TLe1LUS18kbzwsHX8E9wasq2qFcxrfb10u6+gXx+/f22Fuz9A4reVGSmRN76FUdsLbaDdkA1jaI3Zuq3LkXE7XTOLcY4SzMT7M9pqWKSJsaY1ph8JyAWliI/+gyvbXs5o4GooynBGxcTniZDk/jC2BO+IYIZySzFxhb8gR4NfvkDfAQ9+DE28BiVFdJxKAU2Z8Xx1DseQ3kzc09YR2/wsfmEomsAp5rDCfK5NWhzPa4oKfs/G78ZTsFlLjDupsCz5hWWwHIn1uKNd6+U1YTkAoC1ZiR717YAR+g49sVyrYn9yO/BSeiQwdo58+Lnb0w5ophGJzpEveyz7Uy9GtuMxNeFDgFP2+PUu3QaEycT8geBay4Dd6UhJDxUFf1ObXF0UuEPtrWJMfB/QZB5JPFxml8ZmkVWkoCl+bhMG0HtG/T9A8nyX9RCHqtYGrmZeyQ7pgf5i3QJmO9wAfkyzWShpDrVjdgMKzPeRMxSIekeCeApYX7dj7XH8Mv2wQnKD3ushpiZXUVpk0dR0eYovQUzEty/QlMaaWgkw320raVflbpj0zJadmDURMswXiIX83JU3GQ+W86Q1+F/sC4jXH+5yoosUMJmI/GRUVp+I67IvIXP686 iLg7z/Y6 Z0/p4DCDwscVI8XRPwUUfgRPZggB6w3Crys9CdZRitOacT8ksMW41vwR+kRSacj3zCRzpLMiecD5U5hNKnmBS9weW+IV1bBv5IVUTLR8RJFJP2FqONxyycNPLN9Vtpyd8wmExhJI2G4CuU8q1GZOZa2/meuRiA3ZTXwe0jditpbagTsTcADjKIR9gKvVwT7a1thHkcys/kP/HOEcy4K3N+KRxUVIz6w08ljJ0Y/av/IMvrbNs1c+Tddtf2dzEfCF4LDjHnszaBOirCH5cK//JFI++qnOfU+nrugdqvqrv1m2de/B07n6FyO3uI2HAhkCJp6UGNBUwd56qdQG1Q11u6OYSedmf5HxDjVfTgi84wW4qz7PPVHUJQUVlK13wmmp7tmHsOu6YWUu9HmR/nsjtI6BUSDQk2lQZE7EBZGBHJbKB3b9NTxglwhyhtg== 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 Tue, Dec 5, 2023 at 5:31=E2=80=AFPM Sourav Panda wrote: > > Adds two new per-node fields, namely nr_page_metadata and > nr_page_metadata_boot, to /sys/devices/system/node/nodeN/vmstat > and a global PageMetadata field to /proc/meminfo. This information can > be used by users to see how much memory is being used by per-page > metadata, which can vary depending on build configuration, machine > architecture, and system use. > > Per-page metadata is the amount of memory that Linux needs in order to > manage memory at the page granularity. The majority of such memory is > used by "struct page" and "page_ext" data structures. In contrast to > most other memory consumption statistics, per-page metadata might not > be included in MemTotal. For example, MemTotal does not include memblock > allocations but includes buddy allocations. In this patch, exported > field nr_page_metadata in /sys/devices/system/node/nodeN/vmstat would It is OK to have nr_page_metadata field in nodeN/vmstat based on this discussion: https://lore.kernel.org/linux-mm/CA+CK2bB2=3DraEP8W5GDW_JY7TDvwtSCbkQjvn=3D= SvbjUjPETXZow@mail.gmail.com > exclusively track buddy allocations while nr_page_metadata_boot would > exclusively track memblock allocations. Furthermore, PageMetadata in > /proc/meminfo would exclusively track buddy allocations allowing it to > be compared against MemTotal. > > This memory depends on build configurations, machine architectures, and > the way system is used: > > Build configuration may include extra fields into "struct page", > and enable / disable "page_ext" > Machine architecture defines base page sizes. For example 4K x86, > 8K SPARC, 64K ARM64 (optionally), etc. The per-page metadata > overhead is smaller on machines with larger page sizes. > System use can change per-page overhead by using vmemmap > optimizations with hugetlb pages, and emulated pmem devdax pages. > Also, boot parameters can determine whether page_ext is needed > to be allocated. This memory can be part of MemTotal or be outside > MemTotal depending on whether the memory was hot-plugged, booted with, > or hugetlb memory was returned back to the system. > > Suggested-by: Pasha Tatashin > Signed-off-by: Sourav Panda Reviewed-by: Pasha Tatashin Pasha