On Tue, Jul 26, 2016 at 03:02:19AM +0000, Mathieu Desnoyers wrote:
We really care about preemption here. Every migration implies a
preemption from a user-space perspective. If we would only care
about keeping the CPU id up-to-date, hooking into migration would be
enough. But since we want atomicity guarantees for restartable
sequences, we need to hook into preemption.
It allows user-space to perform update operations on per-cpu data without
requiring heavy-weight atomic operations.
Well, a CMPXCHG without LOCK prefix isn't all that expensive on x86.
It is however on PPC and possibly other architectures, so in name of
simplicity supporting only the one variant makes sense.