From patchwork Sat Mar 8 03:46:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Liu X-Patchwork-Id: 14007404 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 5136FC282EC for ; Sat, 8 Mar 2025 03:46:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 04A0F280004; Fri, 7 Mar 2025 22:46:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F3BAF280001; Fri, 7 Mar 2025 22:46:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E053E280004; Fri, 7 Mar 2025 22:46:38 -0500 (EST) 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 BD58C280001 for ; Fri, 7 Mar 2025 22:46:38 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3597F12123F for ; Sat, 8 Mar 2025 03:46:39 +0000 (UTC) X-FDA: 83196996918.13.BBAF47D Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by imf29.hostedemail.com (Postfix) with ESMTP id 79013120009 for ; Sat, 8 Mar 2025 03:46:37 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=cRhi4T1r; spf=pass (imf29.hostedemail.com: domain of 3nL3LZwkKCIs0x91p68x2v33v0t.r310x29C-11zAprz.36v@flex--liumartin.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3nL3LZwkKCIs0x91p68x2v33v0t.r310x29C-11zAprz.36v@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=1741405597; 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=wwsW/fsMcg9hrgcDTPBIA7gFDpTcqMoDXdqlqDc9hnc=; b=HQwBsouZzjozCSIkGBVoVgYZtHmWNbtUdz3GpB1QYWeyrlsQvzO3vPwiQLW+fY4FynQvR5 ANekYGfCX1n0N+MadK7PK7/il2le4LlX+ePfowG3QImwQYhgCklsuBpFtThNxMReHkd9np wYgszfiAsz9hEo4YjOvXscm+bqTRwy8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741405597; a=rsa-sha256; cv=none; b=OAASk0kTD0uBnmyalekRc7GdDzILlXAqGZTLlaOXtxiTLLWPSqiEBrUR4B3FXmd9ILVJGC Zd1A5X/jIVYtDkEDxOedXgJ1cAcrJ2iYHQID1fnD0GNnal+x3hoGl1S97cFWzRoqLh+s4r urZkL5dCvU/wJiSR8s44vjt9peHI7ec= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=cRhi4T1r; spf=pass (imf29.hostedemail.com: domain of 3nL3LZwkKCIs0x91p68x2v33v0t.r310x29C-11zAprz.36v@flex--liumartin.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3nL3LZwkKCIs0x91p68x2v33v0t.r310x29C-11zAprz.36v@flex--liumartin.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff8a2c7912so1151571a91.1 for ; Fri, 07 Mar 2025 19:46:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741405596; x=1742010396; 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=wwsW/fsMcg9hrgcDTPBIA7gFDpTcqMoDXdqlqDc9hnc=; b=cRhi4T1rMrUgOmsKrgZaVbuIvPcAhnKuK1X4ZowZ4zBSa8z0B6RC+kUBlOGfGA3sXQ Z80V9mS+P4g4ScEHL3txZykTmpsen5lVzGXgODORwtFcHn7OgdgaDZI7pZXWGwJNLTkk e33+QRfcmw+Kib7pa3g8y2mzyLu5kcBbG8kCrnGBZ8RiFtgGQQ+p8EAz0MFLpRON/OqO 9Nv/Z/KD+R85l4uVpI7eWsY1EbeWTa/R9YwK3lhZHed4M43FHOSdZeoMklz1zqhjyK8Y cKoVVh7vgUfHVL+4MtF0BRVyGNJlflVnwoxXkZU0sb+VqBxN8jVlTYtHb0FjZjmuQo/4 E3Pg== 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=Ma8PVHC7atO1SVjPhRcJ5+osXHLTQoqtzSMT+QElkLzXXpLIeF+dy/rlBzlUaT0JYz 5EfymFXR1xnTdYD80XHNUvB3mOCd3sqbTvKIw9k0uZGOTDtRFGjfuWq6K5KZjawmx0rD GEX5zu1EDud8jVeS0AATSYzBbhNl4IjahgFrjq1taaqzqnFa2fqIx5xH4ZbHbSReElAi oPyPNVq/EcnIxmFoWN+BcsFK0TzE6r6mkRVsnv0hSNm+roFBVLpiPhLZUblDdF1W/zDV JansdsedMrEmynPm/mF0c/xG31xG9obyj8geSvG2LpQRETwUKHWYejYJqkM8UzbmZp1P On2A== X-Forwarded-Encrypted: i=1; AJvYcCXokyPDVDX4nrcl/wbq4TkiD4XDu1EavnF6BtPIsflybHTKI2INv+U7YPSF7P49FlkYlvzTGS7rkA==@kvack.org X-Gm-Message-State: AOJu0YxsF4skiLLeLDTAiD81Ytmlz3S2t+VTTDgf+Of+hR1s6fivvkJD pL9I7iOaIIU2cyud7X2/f4ZjDEfsa5VWSRHUOAPufiRmJsEyJEvogmt1+nsGdyNpAOzg0vy9a08 +/vy+iRuvO+FD+g== 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> 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 X-Rspamd-Server: rspam12 X-Rspam-User: X-Rspamd-Queue-Id: 79013120009 X-Stat-Signature: hfgxrexnfn46pjzjegozwwjmj97c9j85 X-HE-Tag: 1741405597-431195 X-HE-Meta: U2FsdGVkX1/3lkwbtMphBqCXvlr+3d057ZhAxlpVgni/Waw/UlT8NghU7it+IqqCaxpsI1d01G8/+2gAmcNg+cDVAAkpqsvZDhgT5ft57D7e2IbEdGcU7e/5US6is6cS+8j5wvtZ3gDNKIGnCxNWCY3rQWVxsz0dReNP2c5eggca8oK5gZbf7Fpn9Gq5vrUTVgva8EFPd9mK9klKVWX3RrcJYedfYH1R3AGpPkfhg3sttOadO/K4XiMqBKdboCmeYBS3v0ASEg5VrNGa/efR5dgldxjC7y2ELxnfRRx4ymLtEtHp3QJxwq1Evu2H++VxvdiymXf1yrKx2+7L1gKKqanO5xaAyJNXrtLqNxVeWnEv3f+HxS8SOkNtnaYvqAspc1uzh27a/Hxc1bZrMsb4VwNh8njqhw4Op6WhQl3lGpCwN5KxPUQWUU7vysq3W8FLqi0aLgWn39gXStTT8dPVXtMaWwzieQFG6F6aaV1BSzjaUo3KCnE4daZlJodcxjJtm/361A8JMg3OA6hSrd5IGdZseL9vve1ooIE3O0uqcaq1n302S4g7Ec3joI3h1TstYOaBqHFUY+FzG/1YT0jh/QIuRwGCgcwM7WU49Xb1SGcy3THhQc260dP4wzmQwpQpwr6ykFGbIxm/iH+tIktNmxJf5Yc30b1hdXLii85FlIlrkACy/VeNFxtnT2StmZ43873mC6PO9yjeiNuYQCAHkidHWAUW4TpwbYTHZZWtx+Z57RRJudNpoUAOmHmYOqC5zmQQQLixaL9w2sOmTcJ3RvxKMvA9RRGFlAThy4jgdc5EsR6h7ulGhR2VbRftr/mY31/A8IBN4a28fCBUD6BTMsOOu2zDW9JR9ASfY+jzgx2ik8QV7eEnL8/ZDo+0WTw2wFLIODVIiQoe+gBIL4M37QKZopL2L9BgYTo+d6mcMcrv62sfv/+16OeKSMSSUlLq3bART07AO6emnOn7ibW W2IgpXs1 U3BwMtV1oIEP2xfVCExMOoqIwxzAGp1K33bq8FBhK3KYCVugbAeSiG10nhQ5kSFVphBXM1PqS5lyuGbVzIQecOZqqddr8br3aWlpiT4/pJH4RZQLgfFbUBUAdD5U6++IPrOticxx+xmBVC+J5eFJ3GFHuDliJjGzMJnfyFeBMHirawbmJGD451IZcqonaG4M56Q5l9qQphUQfBBTXw+V8h+Kw7KzsaTii/OX7RLogBIc0AZEcSbc4UPJeSQ97ZAxoemiCJ4WO2SeDsmedlJLuu5tvF6nahTYektlP3nu8PwmHvAqsI94CowzLv/UGU74ts36D8AZQMQhHi10+btNbaFNhj57FCmZ5KM6ECviEtCvdJIN6mU/rZ6Wz+xP6dniIKL5PCymcse+45a95GzXVMoD5vP/949EsI5qEKUk1Sc3A9dxNlOSHMB9TMImaNQAFs4WxFc1TfPytbXJN6u7og8tWWJiy1SjAZyHoZQPuMmmceumqwpR4LErhR8fmyLr49DnOd6rY9c/C6fiCcHSW32ELohfxu5FD/ow1C2UgoemMdzBzgiD73Pyx1Gg3xt9xMsvGGEdXsGQ7zTVLOmdlSPejcCFtF3L7QP59a1a6pJu7AgI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000008, 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 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) ); +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 = totalreserve_pages; + ), + + TP_printk("totalreserve_pages=%lu", __entry->totalreserve_pages) +); + + /* * Required for uniquely and securely identifying mm in rss_stat tracepoint. */ 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 = reserve_pages; + trace_mm_calculate_totalreserve_pages(totalreserve_pages); } /*