From: Martin Liu <liumartin@google.com>
To: Kalesh Singh <kaleshsingh@google.com>
Cc: akpm@linux-foundation.org, hannes@cmpxchg.org,
linux-mm@kvack.org, surenb@google.com, minchan@kernel.org
Subject: Re: [PATCH 2/3] mm/page_alloc: Add trace event for per-zone lowmem reserve setup
Date: Mon, 3 Mar 2025 10:11:20 +0000 [thread overview]
Message-ID: <Z8WASFkW5nlE803r@google.com> (raw)
In-Reply-To: <CAC_TJvcY0RhgOwYYYCXDLSY3-GP0EPLv7QZvCM8v6OEv67GWOQ@mail.gmail.com>
On Mon, Mar 03, 2025 at 12:18:46AM -0800, Kalesh Singh wrote:
> On Sun, Mar 2, 2025 at 11:36 PM Martin Liu <liumartin@google.com> wrote:
> >
> > 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 <liumartin@google.com>
> > ---
> > 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]);
>
> Hi Martin,
>
> Please use 8-character width tabs for indentation.
Hi Kalesh,
Yes, thank you for the reminders. I will address these once receiving
feedback :)
>
> -- Kalesh
> > }
> > }
> > }
> > --
> > 2.48.1.711.g2feabab25a-goog
> >
> >
next prev parent reply other threads:[~2025-03-03 10:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-03 7:35 [PATCH 0/3] Add tracepoints for lowmem reserves, watermarks and totalreserve_pages Martin Liu
2025-03-03 7:35 ` [PATCH 1/3] mm/page_alloc: Add trace event for per-zone watermark setup Martin Liu
2025-03-03 7:35 ` [PATCH 2/3] mm/page_alloc: Add trace event for per-zone lowmem reserve setup Martin Liu
2025-03-03 8:18 ` Kalesh Singh
2025-03-03 10:11 ` Martin Liu [this message]
2025-03-03 7:35 ` [PATCH 3/3] mm/page_alloc: Add trace event for totalreserve_pages calculation Martin Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z8WASFkW5nlE803r@google.com \
--to=liumartin@google.com \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=kaleshsingh@google.com \
--cc=linux-mm@kvack.org \
--cc=minchan@kernel.org \
--cc=surenb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox