Re: [PATCH 1/2] hung_task: Show the blocker task if the task is hung on mutex
From: Steven Rostedt
Date: Wed Feb 19 2025 - 18:57:54 EST
On Thu, 20 Feb 2025 08:09:08 +0900
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote:
> So something like this?
>
> unsigned int block_flags;
> union {
> struct mutex *mutex;
> struct rwsem +rwsem;
> struct rtmutex *rtmutex;
> } blocked_on;
>
> enum {
> BLOCKED_ON_MUTEX;
> BLOCKED_ON_RWSEM;
> BLOCKED_ON_RTMUTEX;
> BLOCKED_ON_IO;
> } block_reason;
>
> For the safety, we may anyway lock the task anyway, but that is the
> same as stacktrace.
Why not make it into a single entity?
struct blocked_on {
unsigned int flags;
union {
struct mutex *mutex;
struct rwsem *rwsem;
struct rtmutex *rtmutex;
} blocked_on;
};
-- Steve