Re: [RFC PATCH for 4.16 02/21] rseq: Introduce restartable sequences system call (v12)

From: Peter Zijlstra
Date: Thu Dec 14 2017 - 14:49:59 EST


On Thu, Dec 14, 2017 at 12:50:13PM -0600, Christopher Lameter wrote:
> Ultimately I wish fast increments like done by this_cpu_inc() could be
> implemented in an efficient way on non x86 platforms that do not have
> cheap instructions like that.

So the problem isn't migration; for that we could wrap the operation in
preempt_disable() which is not more expensive than rseq would be. And a
lot more deterministic.

The problem instead is interrupts, which can result in nested load-store
operations, and that comes apart. This then means having to disable
interrupts over these things and _that_ is expensive.