Re: Bug in on_each_cpu?

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Ernie Petrides
Date: Thursday, March 1, 2007 - 9:46 pm

On Thursday, 1-Mar-2007 at 7:22 PST, Andrew Morton wrote:


And further, this "consistent call environment" is *required* for correct
operation of certain callers, e.g. invalidate_bh_lrus(), whose callback
function is invalidate_bh_lru().  If invalidate_bh_lru() is called without
IRQs blocked, it might be interrupted by an IPI that causes nested execution
of that same function on behalf of another cpu's call to on_each_cpu(), and
this can lead to duplicate brelse() calls on a buf head (and ultimately to
ext3 journaling crashes due to invalid concurrent use of that buf head).

Cheers.  -ernie
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Bug in on_each_cpu?, Zachary Amsden, (Thu Mar 1, 4:34 am)
Re: Bug in on_each_cpu?, Rusty Russell, (Thu Mar 1, 4:41 am)
Re: Bug in on_each_cpu?, Zachary Amsden, (Thu Mar 1, 4:47 am)
Re: Bug in on_each_cpu?, Andrew Morton, (Thu Mar 1, 8:22 am)
Re: Bug in on_each_cpu?, Andrew Morton, (Thu Mar 1, 8:28 am)
Re: Bug in on_each_cpu?, Zachary Amsden, (Thu Mar 1, 1:03 pm)
Re: Bug in on_each_cpu?, Zachary Amsden, (Thu Mar 1, 1:31 pm)
Re: Bug in on_each_cpu?, Ernie Petrides, (Thu Mar 1, 9:46 pm)