On Mon, Jun 29, 2009 at 11:12:33AM +0200, Andi Kleen wrote:
Jiri Olsa [off-list ref] writes:
quoted
Adding memory barrier to the __pollwait function paired with
receive callbacks. The smp_mb__after_lock define is added,
since {read|write|spin}_lock() on x86 are full memory barriers.
I was wondering did you see that race actually happening in practice?
If yes on which system?
At least on x86 I can't see how it happens. mb() is only a compile
time barrier and the compiler doesn't optimize over indirect callbacks
like __pollwait() anyways.
It might be still needed on some weaker ordered architectures, but did you
actually see it there?
-Andi
yes, we have a customer that has been able to reproduce this problem on
x86_64 CPU model Xeon E5345*2, but they didn't reproduce on XEON MV, for example.
they were able to capture a backtrace when the race happened:
https://bugzilla.redhat.com/show_bug.cgi?id=494404#c1
jirka
--
ak@linux.intel.com -- Speaking for myself only.