lkml.org 
[lkml]   [2017]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH for 4.16 02/21] rseq: Introduce restartable sequences system call (v12)
----- On Dec 14, 2017, at 2:48 PM, Peter Zijlstra peterz@infradead.org wrote:

> 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.

Then could we consider checking a per task-struct rseq_cs pointer when
returning from interrupt handler ? This rseq_cs pointer would track
kernel restartable sequences. This would also work for NMI handlers.

Thanks,

Mathieu


--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

\
 
 \ /
  Last update: 2017-12-14 20:55    [W:0.644 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site