[PATCH 0/1] x86, ticketlock: spin_unlock_wait() can livelock

From: Oleg Nesterov
Date: Mon Dec 01 2014 - 16:34:49 EST


Please review, I'm afraid I could miss something.

OTOH, this almost looks like a bug to me. And in fact I have a bug
report which looks as if spin_unlock_wait() actually spins "forever"
until the system panics, although most probably the are other problems
in kernel/sched which lead to rq->lock contention.

Do we need a barrier() in arch_spin_unlock_wait() ? I guess no, and
the current code doesn't have it.

Perhaps it should use __ticket_lock_spinning() like arch_spin_lock() ?

And probably we should add the lockdep annotations.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/