Thread (12 messages) 12 messages, 4 authors, 2009-07-01

Re: [PATCH] net: fix race in the receive/select

From: Jiri Olsa <hidden>
Date: 2009-06-29 09:24:30
Also in: lkml

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help