From nobody Sun Feb 8 02:26:41 2026 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (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 12AA0166F0C for ; Sat, 8 Mar 2025 03:46:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741405589; cv=none; b=iEUvlGaIgbIRk30MGQjoScCmTQzHbMB/uhS82jOI2pI9mKuIwfNxXnYCIlaN+Z/L7fgnlCArHeihGYaEMSHTTG47StCDc3CNFt9xM7SPTAZZMRE69YS9XWuiZYY3h3kCsyLqbgHbT/e52gfNt3XWtDYpOuOhr/gX6ZgK33rPInM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741405589; c=relaxed/simple; bh=rvQRWCu9cS772ZrTi4BEdrbP1w2fnh2vicivjIigjvA=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=hg2qtJc7Z5I0ew8upWR/ueZFkDppkFHX5y2DuZyeizxJxi2KVKTePcpnFVJk/EaFX6e4syYIa6jnocQuMzBNdn1DD56nUARuTwEIo1cehRjsyNEInErE2017/U20uwKqw7AXjR/IqBjOuXq3kLuckrmuLUm1CNrVlYSs5uXXh+8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--liumartin.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=IbxbZLMZ; arc=none smtp.client-ip=209.85.214.202 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=flex--liumartin.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="IbxbZLMZ" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-223a2770b75so45381935ad.1 for ; Fri, 07 Mar 2025 19:46:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741405587; x=1742010387; darn=vger.kernel.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=kfcaNFAbCYfNTjpD5XRwdqCXVY7RMkDJJWe0/7joWPU=; b=IbxbZLMZh++mBXcNZvDirbOzqKxEpwtTwEcnNmvMV2FgVDttzpLg2YIE77rYq7KX5R Sl9Pe90BlPL8xy6UIM5Tw7AE1ZtaJJQ1jWBxO4EJAd5NievmLMcWpCb6GyHxqaB+zIo6 bZdnhbZPKihMQfvMNrvKc2xKZllLnwyvAnqxZRCNXjLSOK6HFBD8cYjLVm6lJDrCHcBl iX8Fk7/gjopnKKFVhzypGSGo0kL8FjtfYNfeCr6TY41dGsl/VqNGs5a5zT08hsQe6+dm Wb2Zw94KSaPJBXlqROTQ83fpZ1ezkSEWe4EBlJM0CoZighK8bXmVC/45UtsL5tnHcTfW QE8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741405587; x=1742010387; 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=kfcaNFAbCYfNTjpD5XRwdqCXVY7RMkDJJWe0/7joWPU=; b=B3Vm3xhikzBWCnaotCtGDaFyifpd1XCm1KBZlaU2u+M3WwUkE8CJX3X2p3gkOeYovV pje/zKm05J/GTykJ9O3NPQEGSKtYfap9diM3SL8AiQlGeC+fVy1H9wwiKIr3T0/+Ha/S NxEeEFXxYJrWJP0YFHB4bQfH/IHzETu7EHYbzaxWhJpwIlDrsPxvAPb6h1S4Afj/PqOG 8oFmqTadL3fjjK4Dn4HEaoC8GgLlnsa4qHnXLp7xeWSk0WC8e19qnjyxUzGy/GojRS1B etA0d7ZsWWryySgaRJjTuOGC7qS0UhDz1YOoy9/D7j/sUqHRrq+s7PsBnmkGDDibFsWT 2TWQ== X-Forwarded-Encrypted: i=1; AJvYcCX6pM8zQLFOW6ki1HB+k/fuFzG+Ov/Dgaj3gIE6q/skxXUp/Wo7UelAsrrnqoyLyrw8eQxRLmd/elrnckY=@vger.kernel.org X-Gm-Message-State: AOJu0YxH5Zqj5FaWK2TIIprrPvq46FLMxmHEbWxdx1iFA964h1g6ZV80 vSUvJZxBAbsxs21n3QvPD12l80YFcOLLD/PVxA0viop31OxmuGiEqEVbxdQWb9kQZAxBf9OXF10 0lIN/Yyc5msrjwg== X-Google-Smtp-Source: AGHT+IFCL+xm6Fwg3GqZF4t7IcDWhXaeSW59E7l9ZedWtDNW1moTHW3B12u5d+oN/PjxO3PrRmaNltxn/VkJRYw= X-Received: from pfri16.prod.google.com ([2002:aa7:8d90:0:b0:736:46a8:452d]) (user=liumartin job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:2e88:b0:736:3fa8:cf7b with SMTP id d2e1a72fcca58-736aaa229dbmr7080003b3a.13.1741405587197; Fri, 07 Mar 2025 19:46:27 -0800 (PST) Date: Sat, 8 Mar 2025 03:46:00 +0000 In-Reply-To: <20250308034606.2036033-1-liumartin@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250308034606.2036033-1-liumartin@google.com> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog Message-ID: <20250308034606.2036033-2-liumartin@google.com> Subject: [PATCH v2 1/3] mm/page_alloc: Add trace event for per-zone watermark setup From: Martin Liu To: Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Andrew Morton Cc: Martin Liu , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This commit introduces the `mm_setup_per_zone_wmarks` trace event, which provides detailed insights into the kernel's per-zone watermark configuration, offering precise timing and the ability to correlate watermark changes with specific kernel events. While `/proc/zoneinfo` provides some information about zone watermarks, this trace event offers: 1. The ability to link watermark changes to specific kernel events and logic. 2. The ability to capture rapid or short-lived changes in watermarks that may be missed by user-space polling 3. Diagnosing unexpected kswapd activity or excessive direct reclaim triggered by rapidly changing watermarks. Signed-off-by: Martin Liu Acked-by: David Rientjes --- include/trace/events/kmem.h | 33 +++++++++++++++++++++++++++++++++ mm/page_alloc.c | 1 + 2 files changed, 34 insertions(+) diff --git a/include/trace/events/kmem.h b/include/trace/events/kmem.h index b37eb0a7060f..5fd392dae503 100644 --- a/include/trace/events/kmem.h +++ b/include/trace/events/kmem.h @@ -342,6 +342,39 @@ TRACE_EVENT(mm_alloc_contig_migrate_range_info, __entry->nr_mapped) ); =20 +TRACE_EVENT(mm_setup_per_zone_wmarks, + + TP_PROTO(struct zone *zone), + + TP_ARGS(zone), + + TP_STRUCT__entry( + __field(int, node_id) + __string(name, zone->name) + __field(unsigned long, watermark_min) + __field(unsigned long, watermark_low) + __field(unsigned long, watermark_high) + __field(unsigned long, watermark_promo) + ), + + TP_fast_assign( + __entry->node_id =3D zone->zone_pgdat->node_id; + __assign_str(name); + __entry->watermark_min =3D zone->_watermark[WMARK_MIN]; + __entry->watermark_low =3D zone->_watermark[WMARK_LOW]; + __entry->watermark_high =3D zone->_watermark[WMARK_HIGH]; + __entry->watermark_promo =3D zone->_watermark[WMARK_PROMO]; + ), + + TP_printk("node_id=3D%d zone name=3D%s watermark min=3D%lu low=3D%lu high= =3D%lu promo=3D%lu", + __entry->node_id, + __get_str(name), + __entry->watermark_min, + __entry->watermark_low, + __entry->watermark_high, + __entry->watermark_promo) +); + /* * Required for uniquely and securely identifying mm in rss_stat tracepoin= t. */ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 579789600a3c..50893061db66 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5920,6 +5920,7 @@ static void __setup_per_zone_wmarks(void) zone->_watermark[WMARK_LOW] =3D min_wmark_pages(zone) + tmp; zone->_watermark[WMARK_HIGH] =3D low_wmark_pages(zone) + tmp; zone->_watermark[WMARK_PROMO] =3D high_wmark_pages(zone) + tmp; + trace_mm_setup_per_zone_wmarks(zone); =20 spin_unlock_irqrestore(&zone->lock, flags); } --=20 2.49.0.rc0.332.g42c0ae87b1-goog From nobody Sun Feb 8 02:26:41 2026 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 7514117A2E5 for ; Sat, 8 Mar 2025 03:46:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741405593; cv=none; b=ApfLs+oU2ATuZgR5JxuBRBS7wBJmquLnhQfZihh9gsfXsnP/jmUJFVY2Bjyl1VJ31zRCWCvojeTnr7sPxRWdKIZE1lBKqNHS+v5bjQ+Vf7mnhEo7TBbXRUGohPp9m0WGkr/Ed6UXJt2HH6s5P325AVZ4O+c8U01tOLnEBwNeonM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741405593; c=relaxed/simple; bh=vJHy2IUPEgEsBBHwQ9JzIOPIFYSSfIpFmAIUuojoxHc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=kNw/cp0v9AZBkTYCi3XpWCWXTXek5vV17RR3r8gfLawj3RAgirTiswpjTF+2DxLE02rBR6CCgPBW+rZThrpQIGzHPio77g8g4EK8pxp06tmtTXK04IuTQWTGWRReK097as86jwzRzBOWwb6GUNityuarN0sv7lDKC0Wrqq6smro= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--liumartin.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=DaqW5zSc; arc=none smtp.client-ip=209.85.214.201 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=flex--liumartin.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="DaqW5zSc" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2242ca2a4a5so14855285ad.2 for ; Fri, 07 Mar 2025 19:46:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741405592; x=1742010392; darn=vger.kernel.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=jRUF2A0NjVDGv1OExSsTFIcZcGSpPPHCJXmqzE/QHcg=; b=DaqW5zSc9R3bIT7BZaJw70JB1mkltx5vN+rL8w5f2XV1Fmu40DPZdx8VLECQnKagJF P5WSkkNWUTYcQBzDZ8EFJK7TKUlkcAxkF5V21hnUkGKK3b2EFGtFfoklJbkFZMBoQriE 6EshK1fBLVCF6lnAI0kOr9hzFMlQ2Yi3sKJsjZ+jkDCHDTOTJs0Acrcx67jLeK7nPiML Q8tV3B67ussWvvU/IGJZJI2KJX59w7DaHnV6jLzD/gkgYeFDB4a29x9o4aH8s0w4dDNC FCnY/PppoxFFwAMaxcJRknrv/7Qm+qcASEoUNxHCxTvnUujDg7RwKec/eOvqrL+rtkb4 2wkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741405592; x=1742010392; 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=jRUF2A0NjVDGv1OExSsTFIcZcGSpPPHCJXmqzE/QHcg=; b=kyO7jDpbHNKCdL6njX9cIxOd/Av/2gpDvLcPpx9UfXQqcgpslHShv/76B2Ke0RZ35u AE0YAYTQa2omleqKCTzXWeOvlCJqzuD00m6tIl0b8ylVrIu0tSf9OnVcHdXBangPDN4H ttLQkw9Ju+knrddQpPheBf+ieUpCAz8opx657x+dtg+DgH7KMWa9PsenOpsOxTNq9QLI WlX00mLmjb0fIQ1+tuhgEZTbZf6NI5886p/aSGeObFAm+3CI9zitkT26Z7LGzSLrhUIn lFgWddyzD9Y+q2gkHovy/pvPGtK3e3Fr8xpAuflfkAhStHNaNjdNUojBVvBECU+6Zp/i 8muw== X-Forwarded-Encrypted: i=1; AJvYcCVtGIyMRXISUY0uuuu8iaHpXE+MrhrIKbB7QK43BT4ImkPliTeDr5/loWgmXPDUJk5vhIE9jEyBJSP85qI=@vger.kernel.org X-Gm-Message-State: AOJu0YxCa666s09c87rMR1P+zcL3WgpNgJZzs6xvjfbOlnF78KUwyhbp 3agKZSh8JUVdYtCl7dBDR4jb2AEOTA11ViXQdwuVoyWQYAVDdqzNx09Yw/33aLqe5xN51Tvryg8 4lisGIwseuFQGYw== X-Google-Smtp-Source: AGHT+IFHishigmPJTfF8nas6Rd2GTRrOt9x7gCcp0cLHMvtmvYE/TqBCRKvb0jMyKWRCKVmYvNm/YWfbFyHQFC4= X-Received: from pfqr27.prod.google.com ([2002:aa7:9edb:0:b0:736:56a2:99ac]) (user=liumartin job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:3c92:b0:735:d89c:4b9f with SMTP id d2e1a72fcca58-736aa312be5mr8792595b3a.0.1741405591656; Fri, 07 Mar 2025 19:46:31 -0800 (PST) Date: Sat, 8 Mar 2025 03:46:01 +0000 In-Reply-To: <20250308034606.2036033-1-liumartin@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250308034606.2036033-1-liumartin@google.com> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog Message-ID: <20250308034606.2036033-3-liumartin@google.com> Subject: [PATCH v2 2/3] mm/page_alloc: Add trace event for per-zone lowmem reserve setup From: Martin Liu To: Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Andrew Morton Cc: Martin Liu , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Acked-by: David Rientjes --- 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) ); =20 +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 =3D zone->zone_pgdat->node_id; + __assign_str(name); + __assign_str(upper_name); + __entry->lowmem_reserve =3D lowmem_reserve; + ), + + TP_printk("node_id=3D%d zone name=3D%s upper_zone name=3D%s lowmem_reserv= e_pages=3D%ld", + __entry->node_id, + __get_str(name), + __get_str(upper_name), + __entry->lowmem_reserve) +); + /* * Required for uniquely and securely identifying mm in rss_stat tracepoin= t. */ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 50893061db66..e472b1275166 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] =3D 0; else zone->lowmem_reserve[j] =3D managed_pages / ratio; + trace_mm_setup_per_zone_lowmem_reserve(zone, upper_zone, + zone->lowmem_reserve[j]); } } } --=20 2.49.0.rc0.332.g42c0ae87b1-goog From nobody Sun Feb 8 02:26:41 2026 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (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 28FD517A303 for ; Sat, 8 Mar 2025 03:46:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741405598; cv=none; b=Ym7x9EQYUcGSkd7lCEqT0cdqdSDedN0/kVGchC3IgGBk6a2LwG7Qm/3KDSbjojayjdTU6TIce8QDCPV++iJm+QuyRKZ2g/3fG2xU366rSCGm8SI70EJRtLtOD98mqxC6b/CpdQf5OWuvBlBX5e/NyztH2MSGSpnKSh3NaVFgK60= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741405598; c=relaxed/simple; bh=NI9X3DgbmxaxolEB+CWeMI2e6PnbwQP48nhp90OwwL4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=j7sccr92jdgMYQruTocKyWRgCCJoZJeAYpwKogj79wmSvckvC9TbcLdyksj37CJ/xB3SRjd3FL2d6YltKD0pw1vK4wQtI8rAhkisIkmwoDWiq7Jrb8pCJO2yMamSWbehtV/M55UM/Kwh2iih8s5/JogrkMuKyU8yxpt827sHSuI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--liumartin.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=28TNrnVK; arc=none smtp.client-ip=209.85.216.74 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=flex--liumartin.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="28TNrnVK" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-2ff6943febeso4095737a91.0 for ; Fri, 07 Mar 2025 19:46:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741405596; x=1742010396; darn=vger.kernel.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=wwsW/fsMcg9hrgcDTPBIA7gFDpTcqMoDXdqlqDc9hnc=; b=28TNrnVKTu9M6VyNHTPFufBtewo0ym7vgZs5rk7FTTZ5PvdkvsJaE1IYAaY9XxCsvN 63uifaSaSCZlW7bbiF6qCvYASW+GkdXznXoIjpMtvgRlDHhLRX/t1fZ1EBT69E0iAxBl s1ykV3KE4rDO8b5kV6s8R8yZ0QDOJj98EcUyv4MF4h8PcQ+Ta71cxEJgtVpZEG2SnTSX rWd0vaOhcoQ0uKYyINrPEKjPIwVZIMF+aqHdfZISA3NZK/mT2ZyPwkKa/X3qoESO4zR9 DXpNfochfIBrEKB6MoQnvBMkQ2TkypAIxnkELg+fl/m7t/V22zrcCKSN1ZDmtF8ByNVr wa4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741405596; x=1742010396; 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=wwsW/fsMcg9hrgcDTPBIA7gFDpTcqMoDXdqlqDc9hnc=; b=Xk/vq9vaH/YKCblrkXGM9E7rVMCvhFqS0v1iFMEJesKPaSzpre05BzBEAHMsSV0yI5 Q2RIVSDY0Eez2+lpeK0FXjeuAUr8bY9Jr2WH5DnsZMr6z+qxl/sn/1paApdQNT3zMj/J /i8eMWVhwXB/+ewiHPE/+8WjFtOcQQr8seOzcofaaDYuqAT1AfzbLDIS069gIM7UpS90 79CQA/Hm4/hiunbFN5CSfT2V3nUkbUclSz6+4jLAwXdhAWmUdJindh3HOylX/8cg33HD FrjSf+AsqfGS2OsgWhL1KR52JvbrK87kazfJdPJG+pnaivjBrgCeQCOhOp2YYOqrV149 6wYA== X-Forwarded-Encrypted: i=1; AJvYcCVEshqxccqr/1vXM/9VgqCGrh4OzH2s9mHpskIys5yQf5e3+q8XvrDfD2AuhJ3cxap2WWcv/8PMMO4TeTE=@vger.kernel.org X-Gm-Message-State: AOJu0YzCj6NKVvdi/wiJ+lRhK9EfaSrSp0CYWh2t6eQoApkcmxsIckGA BblvtoEF4E9/3C3PWhHN6pU6e88BaGKq4mk6V/3vsp5hWFtE8nc9Vg8usXIhxds6/ANiecfX/os K7JX4OCXR4dTimw== X-Google-Smtp-Source: AGHT+IHRnkN6wrQOrKWkYrcoXo9vtRqSQ8tpu752H1VzwAoAmAJAj3Fmg6NgVlqukZi3r99JBHgGyN9zS8N/9j0= X-Received: from pjur14.prod.google.com ([2002:a17:90a:d40e:b0:2fc:e37d:85dc]) (user=liumartin job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:254b:b0:2ff:5267:e7da with SMTP id 98e67ed59e1d1-2ffbc1468f9mr3198164a91.3.1741405596445; Fri, 07 Mar 2025 19:46:36 -0800 (PST) Date: Sat, 8 Mar 2025 03:46:02 +0000 In-Reply-To: <20250308034606.2036033-1-liumartin@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250308034606.2036033-1-liumartin@google.com> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog Message-ID: <20250308034606.2036033-4-liumartin@google.com> Subject: [PATCH v2 3/3] mm/page_alloc: Add trace event for totalreserve_pages calculation From: Martin Liu To: Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Andrew Morton Cc: Martin Liu , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This commit introduces a new trace event, `mm_calculate_totalreserve_pages`, which reports the new reserve value at the exact time when it takes effect. The `totalreserve_pages` value represents the total amount of memory reserved across all zones and nodes in the system. This reserved memory is crucial for ensuring that critical kernel operations have access to sufficient memory, even under memory pressure. By tracing the `totalreserve_pages` value, developers can gain insights that how the total reserved memory changes over time. Signed-off-by: Martin Liu Acked-by: David Rientjes --- include/trace/events/kmem.h | 18 ++++++++++++++++++ mm/page_alloc.c | 1 + 2 files changed, 19 insertions(+) diff --git a/include/trace/events/kmem.h b/include/trace/events/kmem.h index 9623e68d4d26..f74925a6cf69 100644 --- a/include/trace/events/kmem.h +++ b/include/trace/events/kmem.h @@ -402,6 +402,24 @@ TRACE_EVENT(mm_setup_per_zone_lowmem_reserve, __entry->lowmem_reserve) ); =20 +TRACE_EVENT(mm_calculate_totalreserve_pages, + + TP_PROTO(unsigned long totalreserve_pages), + + TP_ARGS(totalreserve_pages), + + TP_STRUCT__entry( + __field(unsigned long, totalreserve_pages) + ), + + TP_fast_assign( + __entry->totalreserve_pages =3D totalreserve_pages; + ), + + TP_printk("totalreserve_pages=3D%lu", __entry->totalreserve_pages) +); + + /* * Required for uniquely and securely identifying mm in rss_stat tracepoin= t. */ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e472b1275166..69ceab250979 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5827,6 +5827,7 @@ static void calculate_totalreserve_pages(void) } } totalreserve_pages =3D reserve_pages; + trace_mm_calculate_totalreserve_pages(totalreserve_pages); } =20 /* --=20 2.49.0.rc0.332.g42c0ae87b1-goog