lkml.org 
[lkml]   [2000]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: patch: reiserfs for 2.3.49


On Wed, 15 Mar 2000, Manfred Spraul wrote:

> I think I found a possible explanation for the SMP invalidate messages with
> Reiserfs:
>
> it happens that someone calls lock_kernel() with disabled local interrupts,
> and lock_kernel() then block for several milliseconds.
>
> * reiserfs uses tq_scheduler() extensively, and calls lock_kernel() within
> their callback [OK.]
> * tq_scheduler is handled before "release_kernel_lock()" is called [OK, we
> cannot reverse the order]
> * sleep_on() and interruptible_sleep_on() call schedule() with disabled
> local [sometimes even global] interrupts.
>

Ah, that makes sense. Even worse, the code called in the task I put on
the scheduler queue calls get_super(). It needs to be redone, I've
already got a commit thread to flush async transactions to disk, I think
I'll have it do the tasks I was putting on the scheduler queue as well.

-chris


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

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:1.923 / U:0.472 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site