lkml.org 
[lkml]   [2005]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Debugging kernel semaphore contention and priority inversion
On 8/17/05, Davda, Bhavesh P (Bhavesh) <bhavesh@avaya.com> wrote:
> Is there a way to know which task has a particular (struct semaphore *)
> down()ed, leading to another task's down() blocking on it?

I would add a field to struct semaphore that tracks the current process.
In your various up and downs have that field tracks the "current" process.

Do you know what semaphore it is?

This way you dump the semaphore you can see what task it is holding
it. Have the module dump the semaphore and you can id the task

> It would be helpful to get a kernel stacktrace for the culprit too.

Have you tried sysrq t? See the Documentation/sysrq.txt file.

How stuck is the system?

Keith
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-08-18 01:36    [W:0.025 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site