Re: [PATCH 1/2] hung_task: Show the blocker task if the task is hung on mutex

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2/19/25 3:24 PM, Steven Rostedt wrote:
On Wed, 19 Feb 2025 15:18:57 -0500
Waiman Long <llong@xxxxxxxxxx> 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 :-/

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.
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.

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





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux