Il 15/06/2014 14:47, Peter Zijlstra ha scritto:>> - for (;;) {> - new = (val & ~_Q_PENDING_MASK) | _Q_LOCKED_VAL;> -> - old = atomic_cmpxchg(&lock->val, val, new);> - if (old == val)> - break;> -> - val = old;> - }> + clear_pending_set_locked(lock, val);> return;Might as well add clear_pending_set_locked already in patch 3.Paolo