Thread (34 messages) 34 messages, 8 authors, 2011-07-13

Re: Kernel crash after using new Intel NIC (igb)

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