Messages in this thread |  | | Date | Wed, 22 Nov 2017 16:43:43 +0000 (UTC) | From | Mathieu Desnoyers <> | Subject | Re: [RFC PATCH for 4.15 v12 00/22] Restartable sequences and CPU op vector |
| |
----- On Nov 22, 2017, at 10:28 AM, Andy Lutomirski luto@amacapital.net wrote:
> On Tue, Nov 21, 2017 at 2:05 PM, Mathieu Desnoyers > <mathieu.desnoyers@efficios.com> wrote: >> ----- On Nov 21, 2017, at 12:21 PM, Andi Kleen andi@firstfloor.org wrote: >> >>> On Tue, Nov 21, 2017 at 09:18:38AM -0500, Mathieu Desnoyers wrote: >>>> 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
|  |