Re: [RFC PATCH for 4.15 v12 00/22] Restartable sequences and CPU op vector
From: Mathieu Desnoyers <hidden>
Date: 2017-11-22 16:42:45
Also in:
lkml
----- On Nov 22, 2017, at 10:28 AM, Andy Lutomirski luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org wrote:
On Tue, Nov 21, 2017 at 2:05 PM, Mathieu Desnoyers [off-list ref] wrote:quoted
----- On Nov 21, 2017, at 12:21 PM, Andi Kleen andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org wrote:quoted
On Tue, Nov 21, 2017 at 09:18:38AM -0500, Mathieu Desnoyers wrote:quoted
Hi, Following changes based on a thorough coding style and patch changelog review from Thomas Gleixner and Peter Zijlstra, I'm respinning this series for another RFC.My suggestion would be that you also split out the opv system call. That seems to be main contention point currently, and the restartable sequences should be useful without it.I consider rseq to be incomplete and a pain to use in various scenarios without cpu_opv. About the contention point you refer to: Using vDSO as an example of how things should be done is just wrong: the vDSO interaction with debugger instruction single-stepping is broken, as I detailed in my previous email.If anyone ever reports that as a problem, I'll gladly fix it in the kernel. That's doable without an ABI change. If rseq-like things started breaking single-stepping, we can't just fix it in the kernel.
Very true. And rseq does break both line-level and instruction-level single-stepping.
Also, there is one and only one vclock_gettime. Debuggers can easily special-case it. For all I know, they already do.
As my tests demonstrate, they don't. clock_gettime() vDSO currently breaks instruction-level single-stepping (istep) with gdb. I'll forward you the writeup I did on that a few days ago. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com