On Thu, 2001-10-04 at 11:31, Ed Tomlinson wrote:
> [...]
> > does it oops without preempt patch? What is that, btw?
> 
> This is probably the best guess for the problem according to Chris Mason.
> It adds premption using the locks normally used for SMP to prevent premption
> where is not safe.  Its worked fine with reiserfs up to 2.4.10...

I haven't seen this problem reported before.  It would be nice if you
could try it without ReiserFS, but I understand.  I have a lot of
reports from ReiserFS users with no problem.  However since it does
occur after some arbitrary time, it does smell of the sort of race we
would have...

ReiserFS people: The preemption patch uses normal kernel locking
mechanisms to prevent preemption in critical regions.  However, some
places are "crtical" but do not have locks because they are per-CPU, so
another CPU can't tromp on them.  This is obviously a problem with
preemption, so we need to explicit protect things that are per-CPU if
they aren't protected by locks.

You can see examples of this in the FPU code...

Does ReiserFS have any per-CPU structures?

The thing to do now is to try to reproduce the problem without
preemption.  Note, however, that preemption can uncover all sorts of
race conditions, and at times faster than SMP will!

        Robert Love


Reply via email to