Thread (5 messages) 5 messages, 3 authors, 2014-07-07

Re: [PATCH 10/11] qspinlock: Paravirt support

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2014-06-18 12:04:20
Also in: kvm, linux-arch, lkml

Il 17/06/2014 00:08, Waiman Long ha scritto:
quoted
+void __pv_queue_unlock(struct qspinlock *lock)
+{
+	int val = atomic_read(&lock->val);
+
+	native_queue_unlock(lock);
+
+	if (val & _Q_LOCKED_SLOW)
+		___pv_kick_head(lock);
+}
+
Again a race can happen here between the reading and writing of the lock
value. I can't think of a good way to do that without using cmpxchg.
Could you just use xchg on the locked byte?

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help