All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
To: Waiman Long <llong@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	"Masami Hiramatsu (Google)" <mhiramat@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>, Will Deacon <will@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boqun Feng <boqun.feng@gmail.com>,
	Joel Granados <joel.granados@kernel.org>,
	Anna Schumaker <anna.schumaker@oracle.com>,
	Lance Yang <ioworker0@gmail.com>,
	Kent Overstreet <kent.overstreet@linux.dev>,
	Yongliang Gao <leonylgao@tencent.com>,
	Tomasz Figa <tfiga@chromium.org>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	linux-kernel@vger.kernel.org,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [PATCH 1/2] hung_task: Show the blocker task if the task is hung on mutex
Date: Thu, 20 Feb 2025 07:56:39 +0900	[thread overview]
Message-ID: <20250220075639.298616eb494248d390417977@kernel.org> (raw)
In-Reply-To: <db4ee5e9-56bb-408c-85e7-f93e2c3226dc@redhat.com>

On Wed, 19 Feb 2025 17:44:11 -0500
Waiman Long <llong@redhat.com> wrote:

> 
> On 2/19/25 3:24 PM, Steven Rostedt wrote:
> > On Wed, 19 Feb 2025 15:18:57 -0500
> > Waiman Long <llong@redhat.com> wrote:
> >
> >> It is tricky to access the mutex_waiter structure which is allocated
> >> from stack. So another way to work around this issue is to add a new
> >> blocked_on_mutex field in task_struct to directly point to relevant
> >> mutex. Yes, that increase the size of task_struct by 8 bytes, but it is
> >> a pretty large structure anyway. Using READ_ONCE/WRITE_ONCE() to access
> > And it's been on my TODO list for some time to try to make that structure
> > smaller again :-/

I agree to add the field, actually it was my first prototype :)

> >
> >> this field, we don't need to take lock, though taking the wait_lock may
> >> still be needed to examine other information inside the mutex.

Do we need to take it just for accessing owner, which is in an atomic?

> > But perhaps if we add a new config option for this feature, we could just
> > add the lock that a task is blocked on before it goes to sleep and
> > reference that instead. That would be easier than trying to play games
> > getting the lock owner from the blocked_on field.
> 
> Yes, it could be a new config option. This will be a useful feature that 
> I believe most distros will turn it on. Or we may just include that in 
> the core code without any option.

Do we need another option? or just extend DETECT_HUNG_TASK?

Thanks,

> 
> BTW, this field can also be shared by other sleeping locks like rwsem 
> and rt_mutex as a task can only be blocked on one of them. We do need 
> another type field to identify the type of the blocked lock.
> 
> Cheers,
> Longman
> 
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>


  reply	other threads:[~2025-02-19 22:56 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-19 13:00 [PATCH 0/2] hung_task: Dump the blocking task stacktrace Masami Hiramatsu (Google)
2025-02-19 13:00 ` [PATCH 1/2] hung_task: Show the blocker task if the task is hung on mutex Masami Hiramatsu (Google)
2025-02-19 16:23   ` Steven Rostedt
2025-02-19 20:18     ` Waiman Long
2025-02-19 20:24       ` Steven Rostedt
2025-02-19 22:44         ` Waiman Long
2025-02-19 22:56           ` Masami Hiramatsu [this message]
2025-02-19 23:55             ` Steven Rostedt
2025-02-20  1:52               ` Lance Yang
2025-02-20  2:07               ` Masami Hiramatsu
2025-02-20  2:21                 ` Waiman Long
2025-02-20  2:23                 ` Steven Rostedt
2025-02-20  1:36             ` Waiman Long
2025-02-20  1:41               ` Steven Rostedt
2025-02-20  2:15                 ` Waiman Long
2025-02-20  2:27                   ` Steven Rostedt
2025-02-20  3:29                     ` Waiman Long
2025-02-20  2:59                   ` Masami Hiramatsu
2025-02-20  3:37                     ` Waiman Long
2025-02-20  9:29                       ` Masami Hiramatsu
2025-02-20 13:28                         ` Waiman Long
2025-02-20  2:40                 ` Masami Hiramatsu
2025-02-20  3:11                   ` Steven Rostedt
2025-02-20 13:13                     ` Waiman Long
2025-02-20 16:30                       ` Steven Rostedt
2025-02-19 23:09         ` Masami Hiramatsu
2025-02-19 23:58           ` Steven Rostedt
2025-02-20  2:08             ` Masami Hiramatsu
2025-02-20  2:25               ` Waiman Long
2025-02-20  1:40           ` Waiman Long
2025-02-20  2:45           ` Sergey Senozhatsky
2025-02-20  4:19             ` Sergey Senozhatsky
2025-02-20  3:46             ` Sergey Senozhatsky
2025-02-20  3:49             ` Waiman Long
2025-02-20  9:25             ` Masami Hiramatsu
2025-02-19 13:00 ` [PATCH 2/2] samples: Add hung_task detector mutex blocking sample Masami Hiramatsu (Google)
2025-02-19 13:33 ` [PATCH 0/2] hung_task: Dump the blocking task stacktrace Lance Yang
2025-02-19 15:02   ` Lance Yang
2025-02-19 20:20     ` Waiman Long
2025-02-20  1:27       ` Lance Yang
2025-02-20 14:18       ` Masami Hiramatsu
2025-02-20 14:22         ` Waiman Long

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=20250220075639.298616eb494248d390417977@kernel.org \
    --to=mhiramat@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=anna.schumaker@oracle.com \
    --cc=boqun.feng@gmail.com \
    --cc=ioworker0@gmail.com \
    --cc=joel.granados@kernel.org \
    --cc=kent.overstreet@linux.dev \
    --cc=leonylgao@tencent.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=llong@redhat.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=senozhatsky@chromium.org \
    --cc=tfiga@chromium.org \
    --cc=will@kernel.org \
    /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.