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

From: Peter Zijlstra
Date: Wed Mar 28 2018 - 11:28:44 EST


On Wed, Mar 28, 2018 at 11:14:05AM -0400, Mathieu Desnoyers wrote:

> > If at all possible I would make it SIGSEGV when issueing SYSCALL()s from
> > within an RSEQ.
>
> What's the goal there ? rseq critical sections can technically do system calls
> if they wish. Why prevent this ?

This all started as a way to do 'small' _fast_ per-cpu ops, System calls
do NOT fit in that pattern. If you're willing to do a system calls the
cost of atomics is not a problem.

> How would you handle signal handlers that issue system calls while nested
> on top of a rseq critical section in the userspace thread ? SIGSEGV on
> SYSCALLs will break this case.

Have the rseq thing aborted prior to delivering the signal ?