From patchwork Mon Mar 3 07:35:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Liu X-Patchwork-Id: 13998264 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 4C0A6C282C6 for ; Mon, 3 Mar 2025 07:36:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B7787280008; Mon, 3 Mar 2025 02:36:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B2709280003; Mon, 3 Mar 2025 02:36:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C7C7280008; Mon, 3 Mar 2025 02:36:33 -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 80421280003 for ; Mon, 3 Mar 2025 02:36:33 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 029CEB07B5 for ; Mon, 3 Mar 2025 07:36:32 +0000 (UTC) X-FDA: 83179432266.19.C59BFF6 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by imf26.hostedemail.com (Postfix) with ESMTP id 37553140004 for ; Mon, 3 Mar 2025 07:36:31 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=cyBPsHT9; spf=pass (imf26.hostedemail.com: domain of 3_lvFZwkKCBE2zB3r8Az4x55x2v.t532z4BE-331Crt1.58x@flex--liumartin.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3_lvFZwkKCBE2zB3r8Az4x55x2v.t532z4BE-331Crt1.58x@flex--liumartin.bounces.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=1740987391; 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=aT/2nSIpPl8xyZ1gGY7JrxR1j88FRu8+V1+vDt4/3ZM=; b=se9hzI4pM4Pe9z2dNksuyEAChfjZBjBLPLDdxkD0LF7egOSZG4JVDDE/xkE7bnNR6Kojec JoduI58Rc3kPwd88a/gX19vtohvo9wh4h88AN3x2KYlVdr5niVCjX+9JxEly4IPVaO5Y2x VSgbTgVY3PW025VjqRmgBsl7zJBxdxU= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=cyBPsHT9; spf=pass (imf26.hostedemail.com: domain of 3_lvFZwkKCBE2zB3r8Az4x55x2v.t532z4BE-331Crt1.58x@flex--liumartin.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3_lvFZwkKCBE2zB3r8Az4x55x2v.t532z4BE-331Crt1.58x@flex--liumartin.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740987391; a=rsa-sha256; cv=none; b=pqOWIkcltq4/NtEDHBK9UNc2np6xuks4pjz7lE6aQHy6UyvyCU9WnbmMI2yWDZfMMdkb3F +n+vE2y2mAPF4pdsSTn/eep8mHPKtC3VFNa4LacrGSoAGrkb6ZHwcorbvetrycP12xIMiM 8lPaVF6ZYbN5pN/h6b1gcZnZh7cCNok= Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2feb5cd04a0so6233835a91.2 for ; Sun, 02 Mar 2025 23:36:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740987390; x=1741592190; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=aT/2nSIpPl8xyZ1gGY7JrxR1j88FRu8+V1+vDt4/3ZM=; b=cyBPsHT97YqpFL3mss8vQArCD0MlO3AqOCDQGt5/z43hkj+2CxL1HOUEU0nLlrAenA NMEtgbdQaduKpd9a7t80RSuU27huP7m6G9MCXnTniEcXFvWXc3bsxhrFf1w81tC31kK7 WooRiM3pzadsm/t0XcpEu+ehaDNDFrmNGDtFflYNH7uIqOkAeLp3gSIR3dkXC62Uy40n u7S52ru/1Zauy/2lgOVb0e462jiv5Cwc9UMDlV0Jo6As1j3bNPYgvyPhleuDcqlT9TQA axuXBcMpvinDHL/MmaVP84vRKF4psNf23n9C1b/TePRePy6ISfB37UEU2xP1PoUURN85 qi3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740987390; x=1741592190; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=aT/2nSIpPl8xyZ1gGY7JrxR1j88FRu8+V1+vDt4/3ZM=; b=Za4IIJFXQC5lqHWrtzcH2AMOGGE8E/+7fNy/RDzq+f+2D2xcDrZeEVgaxekMDrClLX mfvnGYc15zpesTV2tZ6roaVV9l61FRzFzStTPYlLk9+5SbguuzEc/4qNIesQqDwl0zbf act74Pts0kiIJqqBZt6Kcjn+jf8e1WpymkOPSAbURteWbgCUwb/pV6t9ZDV6ecrrZ1YZ D5DlvicFWQSs7dT+jcwlg5JpJqGduyUmd/dZAdmXezZUCXSJTxZTrSsc140wk5WKivK4 mj78ZELcH+VZRRCfQ/L7cYXuSlfQnbcIpw0Kdrno4j0niiaxuCEs1pv7HRvmtVPJThaY eTJw== X-Gm-Message-State: AOJu0Yy9TjmlevjJrbI7JyNJjGkurLHyz/CldtGW/VhIaiNrDAYc2HBM E+JdXtm9S4YpkVG9s5SswTgO0RP2crxpV0PLOBPMNOkIXXhHLEu/V7QL6ZAS6eaLOgxj6uSCqaD AqC3xU3ks1S2tiQ== X-Google-Smtp-Source: AGHT+IH9xWaP6IfuE0TuyzoQt7qzTU8tqUFcTCEN74GKtaJSI9mVt8w6BiRXCAsqt4ROqqU70bYUDSl3KYv/AHw= X-Received: from pfwo4.prod.google.com ([2002:a05:6a00:1bc4:b0:736:520e:b9dc]) (user=liumartin job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:cc8:b0:736:5ee3:64d5 with SMTP id d2e1a72fcca58-7365ee371d2mr1948240b3a.23.1740987390125; Sun, 02 Mar 2025 23:36:30 -0800 (PST) Date: Mon, 3 Mar 2025 07:35:36 +0000 In-Reply-To: <20250303073537.2264323-1-liumartin@google.com> Mime-Version: 1.0 References: <20250303073537.2264323-1-liumartin@google.com> X-Mailer: git-send-email 2.48.1.711.g2feabab25a-goog Message-ID: <20250303073537.2264323-3-liumartin@google.com> Subject: [PATCH 2/3] mm/page_alloc: Add trace event for per-zone lowmem reserve setup From: Martin Liu To: akpm@linux-foundation.org, hannes@cmpxchg.org Cc: linux-mm@kvack.org, surenb@google.com, minchan@kernel.org, Martin Liu X-Stat-Signature: tdzf7autt73xftkeddmpe7j5b8btb87g X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 37553140004 X-Rspam-User: X-HE-Tag: 1740987391-880349 X-HE-Meta: U2FsdGVkX18U/8ra00gKbQeIScXUj+rh5jqcm4GofxR+qVUsiDV9fI5PgYkVlk0lsufkoshl20Hgv7//mJyt6Pxm403iOjZbeEmMo8frz+0vUlvPdOA1TtAbjisQIP3wM7pSY/f2RS8RYNIaCI8QfrNhfSlINU3xpt7LWVjzTrJOh1hQ0dq3zf/ANdBNw2nLUy5Us0yDMMfhX/CGbVjd8NlNdCigbgJZjjCxnacs8goKRUXijevBjVngilEd+FOGkSBEUeiL9RHd7Ex3pFZpJAC0iUJ8LmPMyKnrkuSSBhqANCfDYJDG9l2/r7CBYwF+jguaMmQw2Ez2hGU1Ey+Mz3rFvLjmJrSVYcPlCd/KpPPKRYidTi/wiYRLXtSCJFiEMv7tm+/3nPBCAE8WG3rBSGi3cfvsUFKhjhr5a0WtMkT4xVOVFz3jWJClB0wVE6RUsODn2WY5/GpVdCmadht5FPmheiioRV/m4jax5d5R509F0m4TxEFreklREnV7gIyl/LhAV0VSdK2Sfvs6QiKjgjJLuQqr7QOM5WEvRI8m5FZFNE1LcGcu20bJsxVVzGfgdhRaZk+oQk/k68lYgGripwrsdOeUUguxrXPuFPHeWJQGN2eS7R5euQ4NZHaR7b8aSZniYh3ZIKN3lqWLI1aEmh/b5euzEUHri4dM7iFqslJwTlkh4DMUlTCqHzz3dt/ptQjfatIF1eqceQFozjR46pW2iDwrrB5R9uUTk3sAwSlQ8V98TN7thFxMs6rS7fthV3Z39WCg7cNK5yZDRWWEkBUtrRyh82O8BCsVWKvHeUi9fInTMLGfSgzjHjPz+nx4THRgRqvi5XENaoPH3oj10V3MpMojRnHHXy28AgijTIXLjVRvE6bsrtahycgnFrOw0jpl71hshhrBkswY6ZVdIc+iTBwxynvpghltv3bpX+t1iieRfpaY7dyACQ92+Vud9sANgAp3m6OZwchNh3y 7Or0/OqH 4Ibm7qGPJ4zIxpR1XR+gDLxNWLnjQ3vY8xAhKWfRnhdgftIVaywSeHgWq+Dn133kl2L3pqe5lJN2ug7KOA+UQEVJQE+nnnAJ1kpA358ERUZ2hm66YOAlqdr9It2o/acO6afu2ppAfqPm3DXvNpAFaJhdwk0culW8GXbpifAuTJZ8VyhhZ62yw9VF6AnKaNV5zMb7dxYPhPhF+o5+DA8bxhELObiAy+2QdFX3mvOh00J8Tu3LBL8/E4iB1gAUuPyIDRg/jZVnTsQQPSjq9OF4kTIwcFGdRiwJb6OD0oa832NuXv8u5axa4UimOrROiezs5fiK2ZFd6YFL51fJsSWpqtT9Dq9GRuDe7Kp34p6ixD1a7inxmILC7GuliU+JWMxcwo4Ps/LNTQWfVZhf/9wTR23vUq9y5gY5sPVr4kPFx8uv10PhOpSe6NyDPLYSJhIutjKhKPUYgFygEEa/EJAR0Yguc60w1zcpolFy6qqX96dzOkw7OcY3znD8dNPXCaYhphZA/vUBCRcD8r/bnZG5bokDfr01tYZ0FIYcwEf9bzf5WTQWVkFjHD3iFij6rERGa71g1zl45L8Bk6c4ZNkBMF4YU9XOcYm4wUh53hDkCWe2EEyw= 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: This commit introduces the `mm_setup_per_zone_lowmem_reserve` trace event,which provides detailed insights into the kernel's per-zone lowmem reserve configuration. The trace event provides precise timestamps, allowing developers to 1. Correlate lowmem reserve changes with specific kernel events and able to diagnose unexpected kswapd or direct reclaim behavior triggered by dynamic changes in lowmem reserve. 2. know memory allocation failures that occur due to insufficient lowmem reserve, by precisely correlating allocation attempts with reserve adjustments. Signed-off-by: Martin Liu --- include/trace/events/kmem.h | 27 +++++++++++++++++++++++++++ mm/page_alloc.c | 2 ++ 2 files changed, 29 insertions(+) diff --git a/include/trace/events/kmem.h b/include/trace/events/kmem.h index 5fd392dae503..9623e68d4d26 100644 --- a/include/trace/events/kmem.h +++ b/include/trace/events/kmem.h @@ -375,6 +375,33 @@ TRACE_EVENT(mm_setup_per_zone_wmarks, __entry->watermark_promo) ); +TRACE_EVENT(mm_setup_per_zone_lowmem_reserve, + + TP_PROTO(struct zone *zone, struct zone *upper_zone, long lowmem_reserve), + + TP_ARGS(zone, upper_zone, lowmem_reserve), + + TP_STRUCT__entry( + __field(int, node_id) + __string(name, zone->name) + __string(upper_name, upper_zone->name) + __field(long, lowmem_reserve) + ), + + TP_fast_assign( + __entry->node_id = zone->zone_pgdat->node_id; + __assign_str(name); + __assign_str(upper_name); + __entry->lowmem_reserve = lowmem_reserve; + ), + + TP_printk("node_id=%d zone name=%s upper_zone name=%s lowmem_reserve_pages=%ld", + __entry->node_id, + __get_str(name), + __get_str(upper_name), + __entry->lowmem_reserve) +); + /* * Required for uniquely and securely identifying mm in rss_stat tracepoint. */ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 50893061db66..48623a2bf1ac 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5857,6 +5857,8 @@ static void setup_per_zone_lowmem_reserve(void) zone->lowmem_reserve[j] = 0; else zone->lowmem_reserve[j] = managed_pages / ratio; + trace_mm_setup_per_zone_lowmem_reserve(zone, upper_zone, + zone->lowmem_reserve[j]); } } }