Re: [RFC PATCH for 4.18 00/16] Restartable Sequences

2018-07-30 Thread Mathieu Desnoyers
- On Jul 30, 2018, at 3:07 PM, Pavel Machek pa...@ucw.cz wrote: > Hi! > >> > Thanks for pointer. >> > >> > +Restartable sequences are atomic with respect to preemption (making >> > it >> > +atomic with respect to other threads running on the same CPU), as >> > well >> > +as signal delivery (

Re: [RFC PATCH for 4.18 00/16] Restartable Sequences

2018-07-30 Thread Pavel Machek
Hi! > > Thanks for pointer. > > > > +Restartable sequences are atomic with respect to preemption (making > > it > > +atomic with respect to other threads running on the same CPU), as > > well > > +as signal delivery (user-space execution contexts nested over the > > same > > +thread). > > > > So

Re: [RFC PATCH for 4.18 00/16] Restartable Sequences

2018-07-30 Thread Mathieu Desnoyers
- On Jul 28, 2018, at 10:13 AM, Pavel Machek pa...@ucw.cz wrote: > Hi! > >> Documentation-wise, I have posted a rseq man page rfc here: >> >> https://lkml.kernel.org/r/20180616195803.29877-1-mathieu.desnoy...@efficios.com >> >> comments are welcome! > > Thanks for pointer. > > +Restartabl

Re: [RFC PATCH for 4.18 00/16] Restartable Sequences

2018-07-28 Thread Pavel Machek
Hi! > Documentation-wise, I have posted a rseq man page rfc here: > > https://lkml.kernel.org/r/20180616195803.29877-1-mathieu.desnoy...@efficios.com > > comments are welcome! Thanks for pointer. +Restartable sequences are atomic with respect to preemption (making it +atomic with respect to ot

Re: [RFC PATCH for 4.18 00/16] Restartable Sequences

2018-07-28 Thread Mathieu Desnoyers
- On Jul 27, 2018, at 6:01 PM, Pavel Machek pa...@ucw.cz wrote: > Hi! > >> So for instance, this turns: >> >> int cpu = rseq_per_cpu_lock(lock, target_cpu); >> [...] >> rseq_per_cpu_unlock(lock, cpu); >> >> into >> >> int cpu = rseq_this_cpu_lock(lock); >> [...] >> rseq_per_cpu

Re: [RFC PATCH for 4.18 00/16] Restartable Sequences

2018-07-27 Thread Pavel Machek
Hi! > So for instance, this turns: > > int cpu = rseq_per_cpu_lock(lock, target_cpu); > [...] > rseq_per_cpu_unlock(lock, cpu); > > into > > int cpu = rseq_this_cpu_lock(lock); > [...] > rseq_per_cpu_unlock(lock, cpu); > > and: > > per_cpu_list_push(list, node, target_cpu); >

[RFC PATCH for 4.18 00/16] Restartable Sequences

2018-06-02 Thread Mathieu Desnoyers
Hi, Here is an updated RFC of the rseq patchset. It only includes rseq. Further improvements are kept for later. Compared to the previous version of this series, CONFIG_DEBUG_RSEQ=y now ensures that system calls are not issued within a rseq critical section, else the process is killed. This check