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