Re: Kernel crash after using new Intel NIC (igb)
From: Eric Dumazet <hidden>
Date: 2011-05-27 19:57:08
Also in:
lkml
From: Eric Dumazet <hidden>
Date: 2011-05-27 19:57:08
Also in:
lkml
Le vendredi 27 mai 2011 à 10:52 -0700, Arun Sharma a écrit :
On 5/26/11 8:27 PM, Eric Dumazet wrote: Looks good. Thanks for taking care of this.quoted
+static bool atomic_add_unless_return(atomic_t *ptr, int a, int u, int *newv) +{ + int cur, old = atomic_read(ptr); + + while (old != u) { + *newv = old + a; + cur = atomic_cmpxchg(ptr, old, *newv); + if (cur == old) + return true; + old = cur; + } + return false; +}This looks very similar to atomic_add_unless(). If we had a __atomic_add_unless() that returned "old", we could then do: atomic_add_unless() { return __atomic_add_unless() != u } atomic_add_unless_return() { return __atomic_add_unless() + a}
Sure ! I preferred to not touch lot of files in kernel (atomic_add_unless() is defined in several files) because its a stable candidate patch (2.6.36+) So a cleanup patch for 2.6.40+ is certainly doable, do you want to do this ? Thanks