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 6FD85C8303C for ; Tue, 8 Jul 2025 21:52:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E64D6B0092; Tue, 8 Jul 2025 17:52:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0976A6B0095; Tue, 8 Jul 2025 17:52:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC8176B0096; Tue, 8 Jul 2025 17:52:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D5DAB6B0092 for ; Tue, 8 Jul 2025 17:52:16 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 2E49D1A022F for ; Tue, 8 Jul 2025 21:52:16 +0000 (UTC) X-FDA: 83642446272.20.B060E7A Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by imf26.hostedemail.com (Postfix) with ESMTP id 51A6A140009 for ; Tue, 8 Jul 2025 21:52:14 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=d2TZrmQg; spf=pass (imf26.hostedemail.com: domain of rientjes@google.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=rientjes@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=1752011534; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=jFuaNm2ayRYoFvr6rcAXmSr+Jy2sCJau+JzQR/c3+dA=; b=QWvk5CqgBeOb7u4CAuhRKIUwBFGe1pvP0uAJ7nlqLksn4FCz5yPyamBSRtJiTI8mYB1OKp EGiZghC0RdpDYZBir7qeEwXqF/2yTZ0245DnF0Gnrhmd2P17Q9WJFnC6NHXF94Kes36e/k 7xZU/Gi/OpA152k6KBg9KRSy6B13cvU= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=d2TZrmQg; spf=pass (imf26.hostedemail.com: domain of rientjes@google.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752011534; a=rsa-sha256; cv=none; b=CIpHhx9lFDD67gin0mNMMeNKYKR/qYyzPbf3FsmrSO+bCF8FWq3+FmpZ3wMWMRxMmbKhyi //IDqCeA45fykDG1LsbtySvsUVCxP9pAGIgneSq1SOL1gcgFqbopHf/svBk9uIFjIwHw7K IVSfHERuHH8Jdkd/OHgdHdpizYswJ18= Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-237f18108d2so70365ad.0 for ; Tue, 08 Jul 2025 14:52:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1752011533; x=1752616333; darn=kvack.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=jFuaNm2ayRYoFvr6rcAXmSr+Jy2sCJau+JzQR/c3+dA=; b=d2TZrmQgL0DY0fKw37+Sc8+u5uVjiHosx96XjjaCWdqikYMVi5M7TFJ952KwBCBhvF Y6ie3/J8+22I2L00B9rY+8lO/4Z9NHtVWbuuZoJWIrlUSwkvF+waS1T2TVxzEyaJGEvW QZX227LAL5+gZiLfdxB3k84b2A8T4ruPWEJ7IjjHX0gUmI1uFne/g5jmkafIdFqln015 a6voHUIpI2/tVX50EQ/EOLLdXL6grY61DKnhwadNxnTJWT7uk8nZ9cJQXAIGypxcSAWS yb0JGal5l8DoBVn3NKDU3JwV0FRMD2NYxA9xwwdSt54XyAQwBWKATKKAd/tuvK64u2XZ mvEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752011533; x=1752616333; 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=jFuaNm2ayRYoFvr6rcAXmSr+Jy2sCJau+JzQR/c3+dA=; b=JNY+1+wK4dLElPmqrCIpFezIqiy0/KHz8xaMgoAe9TUOLORZarsvA/IiDl8wnyKh8d 7uvqBdjll2QPZFte9gCoh0yWrmIlmRVOgx7rg5mb8wqTyiNM5qpbNuRHFBa+lG3yfiVs XvKhzgzf6RJdNQ/RVeo3VnkeQrtvYqrJaE0aGrnjTc4IiPTyJe9CeH3YVOIO6mIqwZz0 jjfeRGP0Z73OEZZGkc58DQ9XZ496iK3/MAz3+d26umJfQ/dfctw4rtc2DK890RPcaO1C N7qKp2l8TOYtUAf00ImoRofPbS2254LtRPEHEmK4DEh38wZAkS4Q2yR+DQPi1c2CwLwg 3MRg== X-Forwarded-Encrypted: i=1; AJvYcCVqK089LUpnyWYRkWw1uGiNX4tIl2dgORTXlojeA40G23yNX+QCwDGxv9zqteEvdEhTNW5a+kyM5Q==@kvack.org X-Gm-Message-State: AOJu0Yzxh1WhIGkP9Qs3AG/9ytccnmhzIkzpULU6oUckdNWzI8Xpq9v5 buVabF+1roSLlclkniCkAOEOyzwxJJ3EcvQh3MB7z+el62d2VZVPoBWJQRlSZIHlHg== X-Gm-Gg: ASbGncsRlhBfMZgGr/KSDhDJYcEJ+RWoRUvT3EfMG59+ucaNQSgVELZdhs4+iezMf46 SDTEP2p/d9GQFuncIiQw1Hytn0EW3rmP/Jd7CHpIaQYI2ODjiaQtCWaU7Z5Acx+2kWYcRf6mQxF b1fDp+n1eCYGh1Q2qIPYC2943blpMK0GyiM5RKu/E8IHy17WwcHYoH7/iowDsML3o0fP6JmKyAG cdT2ZW7mUS5BbeAhtX8AQi1IOGUvrnV7QIdhPgxM2ROKks3Z+/PWRhAkt59h9T/Ir1LyWuNSjI8 BR8jNGqAT1Rb9xWbn1Z532hxSlvSJ501/tzBYkB/8GztJH3D2d46ZWhmZzZsnNCwin6671uhyhq ucMJCMJNBXPdlT/0BKVqFCPwmAbAkSPxcIBNIiZ7Neh9PouxtcxVvikij X-Google-Smtp-Source: AGHT+IF45OwGTEC5RF+KhmGbkBcBUddvRkcYc3wFn0dk9gCbzmXprk0zNoyYa2/0mobtR8fV6BB2Rg== X-Received: by 2002:a17:903:19e6:b0:234:8eeb:d81a with SMTP id d9443c01a7336-23dda3c4955mr873735ad.16.1752011532837; Tue, 08 Jul 2025 14:52:12 -0700 (PDT) Received: from [2a00:79e0:2eb0:8:d72c:f2e1:5256:5aa1] ([2a00:79e0:2eb0:8:d72c:f2e1:5256:5aa1]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31c3003f9f9sm62518a91.5.2025.07.08.14.52.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jul 2025 14:52:12 -0700 (PDT) Date: Tue, 8 Jul 2025 14:52:11 -0700 (PDT) From: David Rientjes To: Kent Overstreet cc: Casey Chen , Andrew Morton , surenb@google.com, corbet@lwn.net, dennis@kernel.org, tj@kernel.org, cl@gentwo.org, Vlastimil Babka , mhocko@suse.com, jackmanb@google.com, hannes@cmpxchg.org, ziy@nvidia.com, roman.gushchin@linux.dev, harry.yoo@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, yzhong@purestorage.com, Sourav Panda Subject: Re: [PATCH] alloc_tag: add per-NUMA node stats In-Reply-To: Message-ID: <3c9b5773-83ed-4f13-11a8-fcc162c8c483@google.com> References: <20250610233053.973796-1-cachen@purestorage.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 51A6A140009 X-Stat-Signature: 34prqums44ybgzn54gh5brj7exroadf5 X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1752011534-170707 X-HE-Meta: U2FsdGVkX1+71KG81YOEfB5gUlVxzTJD/nrjPbPFeUpIK7RXZe+jcnC0Xg6AyxmBPKLPbBAPGVFUQ4tOLcYgmhTKDxMV/XI3Z6DFl7ZE6LwqGaE67RrRqjqCc8MiW4JokV/Z1s6JXevnSz75VG6vL407BHC+bqVrRd/4vLpsHIcLKzuATdLBOWqAvmO7iZ2Mmvsehb0a7zNDHVuZw8jfdG8uvA2Gq09O4mZ0qNQaypslQA7tMqza4HpWYY0+rFjXylrTAb+esPp7IB+E3PSp5YkuEDrPff6YJ4J9gkab6qJd7WqJLzbfeklluQMf2pGywl2CHAh1xt6yVWIojQq7zT5GxlJUbA4Qgc7jWpkLHQbDtjV5nnbTK0IQwsG3+fNrUYOU1mfe/Vh/Gm2qJfD4C9AEgSN2wtB4qjJHDc6cSRwBAc1asD1Jm2UAiLS8Fk3HmC8DL9Mh4TdC8IJMdaOkX3deyoOjUM2fbUEqfafGdk47bvcw5GWDTG51TlV4DQrGmynkvpKoUxMq2oDAYjcpXsd17Mmul/0Bh6+lJ6Xn8TXAtjg4KiNb0IJALFO6XN5T0Q17YDCPzgkrBJO4OxtVr/cKX3yZZ7CwIHjCgO/4nG7B1oRqBWraQV7HTPOhl9pDmiS0O8RwoHC0WIu/EPuRXzrhWCtx2YT61r4JxPglVD/7nxR8VCeCMtps3l0MK28M6FJfcWPR73hDuuQR14vmK9EN2R8TvY+mGTwIsQ+Ur7G6kR97GVfTKhAxp10Rzq8OtiwajgBLbbrgIiMD56xNyrqd2HhZI1S8nvIxxfzJyUM5sFPu4CjVOqN0bIv+gRBLAvPyNHua5AvtbLxjR39z/1AdbGsCuxQxue7TPWo8XcHpsNq7W+wb8kot/pG32d/fajqCb25gO/e1z4Gwid9BsMOPJyq/4UYFk1DZk6RKNVlVsnh3KGW13H5vDP7uW9e5HlJUbS2NvJfppWpigJz wskDoGiy aj10bmUrkbIQhcESruNHa7pmcr8uat4BRUGaO/8BnN+65eK/9uleQD6f3yPC+wcIZfiksdQS/+4lmYATypB+tlkOpLmnZUBXHrqFE5adi08y1gqi/PgjzzaYIx+T7QqnPkIZpFmotP1hgsLUnCcHBUqQNEq+RFJUWSNNnJ/pu9GSZFfUqHm761Bp8hb7BMyxOQzBCywmi9Rale0TYWhMPqZH0/E9S5mDylwzWZyKLd9SLSoDzcD5xFNVOOtG6ky83MIizLNNjXst771ydaNKq6+YijfhKoH5SCND49fKvR6KLzFqfmaTsYKZNRDR7LwGVdNiJOPNeImmykCIkW/0zr/lLXWxYIZeWngPadUFMCtdxdi0uwhLjTVJCqqPjXYe3nBPjjOpglJyY9jqHPq5JTb1t75TxzBLq9j0v 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 Wed, 18 Jun 2025, Kent Overstreet wrote: > On Tue, Jun 10, 2025 at 05:30:53PM -0600, Casey Chen wrote: > > Add support for tracking per-NUMA node statistics in /proc/allocinfo. > > Previously, each alloc_tag had a single set of counters (bytes and > > calls), aggregated across all CPUs. With this change, each CPU can > > maintain separate counters for each NUMA node, allowing finer-grained > > memory allocation profiling. > > > > This feature is controlled by the new > > CONFIG_MEM_ALLOC_PROFILING_PER_NUMA_STATS option: > > > > * When enabled (=y), the output includes per-node statistics following > > the total bytes/calls: > > > > > > ... > > 315456 9858 mm/dmapool.c:338 func:pool_alloc_page > > nid0 94912 2966 > > nid1 220544 6892 > > 7680 60 mm/dmapool.c:254 func:dma_pool_create > > nid0 4224 33 > > nid1 3456 27 > > I just received a report of memory reclaim issues where it seems DMA32 > is stuffed full. > > So naturally, instrumenting to see what's consuming DMA32 is going to be > the first thing to do, which made me think of your patchset. > > I wonder if we should think about something a bit more general, so it's > easy to break out accounting different ways depending on what we want to > debug. > Right, per-node memory attribution, or per zone, is very useful. Casey, what's the latest status of your patch? Using alloc_tag for attributing memory overheads has been exceedingly useful for Google Cloud and adding better insight it for per-node breakdown would be even better. Our use case is quite simple: we sell guest memory to the customer as persistent hugetlb and keep some memory on the host for ourselves (VMM, host userspace, host kernel). We track every page of that overhead memory because memory pressure here can cause all sorts of issues like userspace unresponsiveness. We also want to sell as much guest memory as possible to avoid stranding cpus. To do that, per-node breakdown of memory allocations would be a tremendous help. We have memory that is asymmetric for NUMA, even for memory that has affinity to the NIC. Being able to inspect the origins of memory for a specific NUMA node that is under memory pressure where other NUMA nodes are not under memory pressure would be excellent. Adding Sourav Panda as well as he may have additional thoughts on this.