All of lore.kernel.org
 help / color / mirror / Atom feed
From: Usama Arif <usama.arif@linux.dev>
To: Thomas Ballasi <tballasi@linux.microsoft.com>
Cc: Usama Arif <usama.arif@linux.dev>,
	akpm@linux-foundation.org, axelrasmussen@google.com,
	david@kernel.org, hannes@cmpxchg.org, linux-mm@kvack.org,
	linux-trace-kernel@vger.kernel.org, lorenzo.stoakes@oracle.com,
	mhiramat@kernel.org, mhocko@kernel.org, rostedt@goodmis.org,
	shakeel.butt@linux.dev, weixugc@google.com, yuanchu@google.com,
	zhengqi.arch@bytedance.com
Subject: Re: [PATCH v6 3/3] mm: vmscan: add PIDs to vmscan tracepoints
Date: Mon, 16 Feb 2026 08:02:37 -0800	[thread overview]
Message-ID: <20260216160247.3956707-1-usama.arif@linux.dev> (raw)
In-Reply-To: <20260213181537.54350-4-tballasi@linux.microsoft.com>

On Fri, 13 Feb 2026 10:15:37 -0800 Thomas Ballasi <tballasi@linux.microsoft.com> wrote:

> The changes aims at adding additionnal tracepoints variables to help
> debuggers attribute them to specific processes.
> 
> The PID field uses in_task() to reliably detect when we're in process
> context and can safely access current->pid.  When not in process
> context (such as in interrupt or in an asynchronous RCU context), the
> field is set to -1 as a sentinel value.
> 
> Signed-off-by: Thomas Ballasi <tballasi@linux.microsoft.com>
> ---
>  include/trace/events/vmscan.h | 35 +++++++++++++++++++++++++----------
>  1 file changed, 25 insertions(+), 10 deletions(-)
> 
> diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h
> index 1212f6a7c223e..a68b712ef757a 100644
> --- a/include/trace/events/vmscan.h
> +++ b/include/trace/events/vmscan.h
> @@ -122,18 +122,22 @@ DECLARE_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template,
>  		__field(	unsigned long,	gfp_flags	)
>  		__field(	u64,	memcg_id	)
>  		__field(	int,	order		)
> +		__field(	int,	pid		)
>  	),
>  
>  	TP_fast_assign(
>  		__entry->gfp_flags	= (__force unsigned long)gfp_flags;
>  		__entry->order		= order;
> +		__entry->pid		= current->pid;
>  		__entry->memcg_id	= mem_cgroup_id(memcg);
>  	),
>  
> -	TP_printk("order=%d gfp_flags=%s memcg_id=%llu",
> +	TP_printk("order=%d gfp_flags=%s pid=%d memcg_id=%llu %s",
>  		__entry->order,
>  		show_gfp_flags(__entry->gfp_flags),
> -		__entry->memcg_id)
> +		__entry->pid,
> +		__entry->memcg_id,
> +		__event_in_irq() ? "(in-irq)" : "")
>  );
>  
>  DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin,
> @@ -168,16 +172,20 @@ DECLARE_EVENT_CLASS(mm_vmscan_direct_reclaim_end_template,
>  	TP_STRUCT__entry(
>  		__field(	unsigned long,	nr_reclaimed	)
>  		__field(	u64,	memcg_id	)
> +		__field(	int,	pid		)
>  	),
>  
>  	TP_fast_assign(
>  		__entry->nr_reclaimed	= nr_reclaimed;
>  		__entry->memcg_id	= mem_cgroup_id(memcg);
> +		__entry->pid		= current->pid;
>  	),
>  
> -	TP_printk("nr_reclaimed=%lu memcg_id=%llu",
> +	TP_printk("nr_reclaimed=%lu pid=%d memcg_id=%llu %s",
>  		__entry->nr_reclaimed,
> -		__entry->memcg_id)
> +		__entry->pid,
> +		__entry->memcg_id,
> +		__event_in_irq() ? "(in-irq)" : "")
>  );
>  
>  DEFINE_EVENT(mm_vmscan_direct_reclaim_end_template, mm_vmscan_direct_reclaim_end,
> @@ -220,9 +228,10 @@ TRACE_EVENT(mm_shrink_slab_start,
>  		__field(unsigned long, cache_items)
>  		__field(unsigned long long, delta)
>  		__field(unsigned long, total_scan)
> +		__field(u64, memcg_id)
>  		__field(int, priority)
>  		__field(int, nid)
> -		__field(u64, memcg_id)
> +		__field(int, pid)
>  	),
>  
>  	TP_fast_assign(
> @@ -236,19 +245,22 @@ TRACE_EVENT(mm_shrink_slab_start,
>  		__entry->priority = priority;
>  		__entry->nid = sc->nid;
>  		__entry->memcg_id = mem_cgroup_id(memcg);
> +		__entry->pid = current->pid;
>  	),
>  
> -	TP_printk("%pS %p: nid: %d memcg_id: %llu objects to shrink %ld gfp_flags %s cache items %ld delta %lld total_scan %ld priority %d",
> +	TP_printk("%pS %p: nid: %d pid: %d memcg_id: %llu objects to shrink %ld gfp_flags %s cache items %ld delta %lld total_scan %ld priority %d %s",
>  		__entry->shrink,
>  		__entry->shr,
>  		__entry->nid,
> +		__entry->pid,
>  		__entry->memcg_id,
>  		__entry->nr_objects_to_shrink,
>  		show_gfp_flags(__entry->gfp_flags),
>  		__entry->cache_items,
>  		__entry->delta,
>  		__entry->total_scan,
> -		__entry->priority)
> +		__entry->priority,
> +		__event_in_irq() ? "(in-irq)" : "")
>  );
>  
>  TRACE_EVENT(mm_shrink_slab_end,
> @@ -266,29 +278,32 @@ TRACE_EVENT(mm_shrink_slab_end,
>  		__field(long, total_scan)
>  		__field(int, nid)
>  		__field(int, retval)
> +		__field(int, pid)
>  		__field(u64, memcg_id)
>  	),
>  
>  	TP_fast_assign(
>  		__entry->shr = shr;
> -		__entry->shrink = shr->scan_objects;

__entry->shrink is removed here, but still printed below. Was this an intended
change of this commit?

>  		__entry->unused_scan = unused_scan_cnt;
>  		__entry->new_scan = new_scan_cnt;
>  		__entry->total_scan = total_scan;
>  		__entry->nid = nid;
>  		__entry->retval = shrinker_retval;
> +		__entry->pid = current->pid;
>  		__entry->memcg_id = mem_cgroup_id(memcg);
>  	),
>  
> -	TP_printk("%pS %p: nid: %d memcg_id: %llu unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d",
> +	TP_printk("%pS %p: nid: %d pid: %d memcg_id: %llu unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d %s",
>  		__entry->shrink,
>  		__entry->shr,
>  		__entry->nid,
> +		__entry->pid,
>  		__entry->memcg_id,
>  		__entry->unused_scan,
>  		__entry->new_scan,
>  		__entry->total_scan,
> -		__entry->retval)
> +		__entry->retval,
> +		__event_in_irq() ? "(in-irq)" : "")
>  );
>  
>  TRACE_EVENT(mm_vmscan_lru_isolate,
> -- 
> 2.33.8
> 
> 


  reply	other threads:[~2026-02-16 16:03 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-08 18:14 [PATCH 0/2] mm: vmscan: add PID and cgroup ID to vmscan tracepoints Thomas Ballasi
2025-12-08 18:14 ` [PATCH 1/2] mm: vmscan: add cgroup IDs " Thomas Ballasi
2025-12-08 18:14 ` [PATCH 2/2] mm: vmscan: add PIDs " Thomas Ballasi
2025-12-10  3:09   ` Steven Rostedt
2025-12-16 14:02 ` [PATCH v2 0/2] mm: vmscan: add PID and cgroup ID " Thomas Ballasi
2025-12-16 14:02   ` [PATCH v2 1/2] mm: vmscan: add cgroup IDs " Thomas Ballasi
2025-12-16 18:50     ` Shakeel Butt
2025-12-17 22:21     ` Steven Rostedt
2025-12-16 14:02   ` [PATCH v2 2/2] mm: vmscan: add PIDs " Thomas Ballasi
2025-12-16 18:03     ` Steven Rostedt
2025-12-29 10:54       ` Thomas Ballasi
2025-12-29 18:29         ` Steven Rostedt
2025-12-29 21:36           ` Steven Rostedt
2026-01-05 16:04   ` [PATCH v3 0/2] mm: vmscan: add PID and cgroup ID " Thomas Ballasi
2026-01-05 16:04     ` [PATCH v3 1/2] mm: vmscan: add cgroup IDs " Thomas Ballasi
2026-01-05 22:46       ` Shakeel Butt
2026-01-07 18:14         ` Shakeel Butt
2026-01-07 18:32           ` Andrew Morton
2026-01-07 20:35             ` Shakeel Butt
2026-01-07  1:56       ` build error on CONFIG_MEMCG=n "error: invalid use of undefined type 'struct mem_cgroup'" Harry Yoo
2026-01-07  2:17         ` Andrew Morton
2026-01-05 16:04     ` [PATCH v3 2/2] mm: vmscan: add PIDs to vmscan tracepoints Thomas Ballasi
2026-01-06  9:51       ` kernel test robot
2026-01-06 10:13       ` kernel test robot
2026-01-06  2:06     ` [PATCH v3 0/2] mm: vmscan: add PID and cgroup ID " Andrew Morton
2026-01-06  2:21       ` Steven Rostedt
2026-01-15 12:38     ` [PATCH v4 0/3] " Thomas Ballasi
2026-01-15 12:38       ` [PATCH v4 1/3] tracing: Add __event_in_*irq() helpers Thomas Ballasi
2026-01-15 12:38       ` [PATCH v4 2/3] mm: vmscan: add cgroup IDs to vmscan tracepoints Thomas Ballasi
2026-01-15 12:38       ` [PATCH v4 3/3] mm: vmscan: add PIDs " Thomas Ballasi
2026-01-22 18:25       ` [PATCH v5 0/3] mm: vmscan: add PID and cgroup ID " Thomas Ballasi
2026-01-22 18:25         ` [PATCH v5 1/3] tracing: Add __event_in_*irq() helpers Thomas Ballasi
2026-01-22 18:25         ` [PATCH v5 2/3] mm: vmscan: add cgroup IDs to vmscan tracepoints Thomas Ballasi
2026-01-27 23:43           ` Shakeel Butt
2026-01-22 18:25         ` [PATCH v5 3/3] mm: vmscan: add PIDs " Thomas Ballasi
2026-01-22 18:52         ` [PATCH v5 0/3] mm: vmscan: add PID and cgroup ID " Andrew Morton
2026-02-13 18:15         ` [PATCH v6 " Thomas Ballasi
2026-02-13 18:15           ` [PATCH v6 1/3] tracing: Add __event_in_*irq() helpers Thomas Ballasi
2026-02-16 16:13             ` Usama Arif
2026-02-17  0:54               ` Steven Rostedt
2026-02-13 18:15           ` [PATCH v6 2/3] mm: vmscan: add cgroup IDs to vmscan tracepoints Thomas Ballasi
2026-02-13 18:15           ` [PATCH v6 3/3] mm: vmscan: add PIDs " Thomas Ballasi
2026-02-16 16:02             ` Usama Arif [this message]
2026-02-23 17:15           ` [PATCH v7 0/3] mm: vmscan: add PID and cgroup ID " Thomas Ballasi
2026-02-23 17:15             ` [PATCH v7 1/3] tracing: Add __event_in_*irq() helpers Thomas Ballasi
2026-02-23 19:33               ` Shakeel Butt
2026-02-23 17:15             ` [PATCH v7 2/3] mm: vmscan: add cgroup IDs to vmscan tracepoints Thomas Ballasi
2026-02-23 19:34               ` Shakeel Butt
2026-02-23 17:15             ` [PATCH v7 3/3] mm: vmscan: add PIDs " Thomas Ballasi
2026-02-23 19:42               ` Shakeel Butt
2026-02-23 23:30               ` Masami Hiramatsu
2026-03-16 16:09             ` [PATCH v8 0/3] mm: vmscan: add PID and cgroup ID " Thomas Ballasi
2026-03-16 16:09               ` [PATCH v8 1/3] tracing: Add __event_in_*irq() helpers Thomas Ballasi
2026-03-16 16:09               ` [PATCH v8 2/3] mm: vmscan: add cgroup IDs to vmscan tracepoints Thomas Ballasi
2026-03-16 16:09               ` [PATCH v8 3/3] mm: vmscan: add PIDs " Thomas Ballasi
2026-03-16 16:46               ` [PATCH v8 0/3] mm: vmscan: add PID and cgroup ID " Andrew Morton

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=20260216160247.3956707-1-usama.arif@linux.dev \
    --to=usama.arif@linux.dev \
    --cc=akpm@linux-foundation.org \
    --cc=axelrasmussen@google.com \
    --cc=david@kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=mhiramat@kernel.org \
    --cc=mhocko@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=shakeel.butt@linux.dev \
    --cc=tballasi@linux.microsoft.com \
    --cc=weixugc@google.com \
    --cc=yuanchu@google.com \
    --cc=zhengqi.arch@bytedance.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.