lkml.org 
[lkml]   [2004]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [patch] Real-Time Preemption, -RT-2.6.9-rc4-mm1-U9
    Ingo Molnar writes:
    >
    > * Gunther Persoons <gunther_persoons@spymac.com> wrote:
    >
    > > The kernel booted now with my firewire card plugged in. However when i
    > > try to mount my reiser4 partition i get following error
    > >
    > > BUG: semaphore recursion deadlock detected!
    > > .. current task mount/10514 is already holding ccb5bb4c.
    >
    > > [<c0344760>] down_write+0x103/0x1a6 (48)
    > > [<d0b26a08>] kcond_wait+0xaa/0xac [reiser4] (36)
    > > [<d0b280b0>] start_ktxnmgrd+0x98/0x9a [reiser4] (36)
    > > [<d0b33716>] reiser4_fill_super+0x3b/0x71 [reiser4] (28)
    > > [<d0b2d569>] reiser4_get_sb+0x2f/0x33 [reiser4] (68)
    > > [<c016061a>] do_kern_mount+0x4f/0xc0 (4)
    > > [<c0175945>] do_new_mount+0x9c/0xe1 (36)
    > > [<c0175feb>] do_mount+0x145/0x194 (44)
    > > [<c0176459>] sys_mount+0x9f/0xe0 (32)
    > > [<c01060b1>] sysenter_past_esp+0x52/0x71 (44)
    >
    > reiser4 has some pretty ugly locking abstraction called kcond, i took a

    It's fairly standard condition variable.

    > look but it doesnt seem simple to convert it. Reiserfs should really use
    > a normal Linux waitqueue and nothing more...

    Why? Condition variable is very well known and widely used concept. In
    the area of their applicability (where predicate whose change is waited
    upon is protected by a single lock) they provide clean and easily
    recognizable synchronization device.

    Real problem in this case is failure of "semaphore deadlock detection"
    to cope with perfectly legal semaphore usage (down() by thread T1, up()
    by thread T2). As one possible solution kcond can be re-written on top
    of beloved "normal Linux waitqueue".

    Nikita.

    >
    > Ingo

    -
    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-03-22 14:07    [W:4.242 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site