From mboxrd@z Thu Jan 1 00:00:00 1970 From: Will Deacon Subject: Re: [RFC PATCH for 4.15 v12 00/22] Restartable sequences and CPU op vector Date: Wed, 22 Nov 2017 19:37:35 +0000 Message-ID: <20171122193734.GO22648@arm.com> References: <20171121141900.18471-1-mathieu.desnoyers@efficios.com> <20171121172144.GL2482@two.firstfloor.org> <740195164.19702.1511301908907.JavaMail.zimbra@efficios.com> <20171122193219.GI3165@worktop.lehotels.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20171122193219.GI3165@worktop.lehotels.local> Sender: linux-kernel-owner@vger.kernel.org To: Peter Zijlstra Cc: Mathieu Desnoyers , Andi Kleen , "Paul E. McKenney" , Boqun Feng , Andy Lutomirski , Dave Watson , linux-kernel , linux-api , Paul Turner , Andrew Morton , Russell King , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Andrew Hunter , Chris Lameter , Ben Maurer , rostedt , Josh Triplett , Linus Torvalds List-Id: linux-api@vger.kernel.org On Wed, Nov 22, 2017 at 08:32:19PM +0100, Peter Zijlstra wrote: > On Tue, Nov 21, 2017 at 10:05:08PM +0000, Mathieu Desnoyers wrote: > > Other than that, I have not received any concrete alternative proposal to > > properly handle single-stepping. > > That's not entirely true; amluto did have an alternative in Prague: do > full machine level instruction emulation till the end of the rseq when > it gets 'preempted too often'. > > Yes, implementing that will be an absolute royal pain. But it does > remove the whole duplicate/dual program asm/bytecode thing and avoids > the syscall entirely. > > And we don't need to do a full x86_64/arch-of-choice emulator for this > either; just as cpu_opv is fairly limited too. We can do a subset that > allows dealing with the known sequences and go from there -- it can > always fall back to not emulating and reverting to the pure rseq with > debug/fwd progress 'issues'. > > So what exactly is the problem of leaving out the whole cpu_opv thing > for now? Pure rseq is usable -- albeit a bit cumbersome without > additional debugger support. Drive-by "ack" to that. I'd really like a working rseq implementation in mainline, but I don't much care for another interpreter. Will