Messages in this thread | | | Date | Wed, 17 Aug 2005 16:33:13 -0700 | From | Keith Mannthey <> | Subject | Re: 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/
| |