lkml.org 
[lkml]   [2005]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectDebugging kernel semaphore contention and priority inversion
    Date
    From
    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'm trying to debug a priority inversion caused by potentially a real
    low priority SCHED_OTHER task (potentially a kernel thread like
    kjournald) holding an inode->i_sem semaphore for a file that is blocking
    a write() from a high-priority (50) SCHED_FIFO task.

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

    Thanks

    - Bhavesh

    Ps: ideally I would like to do this from a module/probe I can insert in
    a system that is stuck in this state, because I don't want to Heisenberg
    the setup with a kdb or otherwise instrumented kernel.



    Bhavesh P. Davda | Distinguished Member of Technical Staff | Avaya |
    1300 West 120th Avenue | B3-B03 | Westminster, CO 80234 | U.S.A. |
    Voice/Fax: 303.538.4438 | bhavesh@avaya.com


    -
    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 00:57    [W:3.386 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site