Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-06-15 Thread Peter Zijlstra
On Sat, May 23, 2020 at 03:08:36PM +0200, Peter Zijlstra wrote: > On Sat, May 23, 2020 at 10:52:24AM +0800, Lai Jiangshan wrote: > > > Hello, > > > > I, who don't know how does the objtool handle it, am just curious. > > _begin() and _end() are symmetrical, which means if _end() (without nop) >

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-23 Thread Peter Zijlstra
On Sat, May 23, 2020 at 10:52:24AM +0800, Lai Jiangshan wrote: > Hello, > > I, who don't know how does the objtool handle it, am just curious. > _begin() and _end() are symmetrical, which means if _end() (without nop) > can escape, so can _begin() in a reverse way. For example: > > noinstr void

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-22 Thread Lai Jiangshan
On Tue, May 19, 2020 at 5:04 PM Peter Zijlstra wrote: > +#ifdef CONFIG_DEBUG_ENTRY > /* Begin/end of an instrumentation safe region */ > -#define instrumentation_begin() ({ > \ > +#define instrumentation_begin() ({

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-19 Thread Steven Rostedt
On Tue, 19 May 2020 21:09:48 +0200 Thomas Gleixner wrote: > Steven Rostedt writes: > > > On Sat, 16 May 2020 01:45:47 +0200 > > Thomas Gleixner wrote: > > > >> The V6 leftover series is based on: > >> > >> git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git > >> entry-base-v6

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-19 Thread Thomas Gleixner
Steven Rostedt writes: > On Sat, 16 May 2020 01:45:47 +0200 > Thomas Gleixner wrote: > >> The V6 leftover series is based on: >> >> git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git entry-base-v6 > > > $ git fetch git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git >

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-19 Thread Steven Rostedt
On Sat, 16 May 2020 01:45:47 +0200 Thomas Gleixner wrote: > The V6 leftover series is based on: > > git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git entry-base-v6 $ git fetch git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git entry-base-v6 fatal: couldn't find remote

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-19 Thread Joel Fernandes
On Sat, May 16, 2020 at 10:18:45AM -0700, Paul E. McKenney wrote: > On Sat, May 16, 2020 at 01:45:47AM +0200, Thomas Gleixner wrote: > > [ . . . ] > > > - noinstr-rcu-nmi-2020-05-15 > > > > Based on the core/rcu branch in the tip tree. It has merged in > > noinstr-lds-2020-05-15 and

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-19 Thread Thomas Gleixner
Peter Zijlstra writes: > On Mon, May 18, 2020 at 10:24:53PM +0200, Thomas Gleixner wrote: > So tglx/entry-v8-full + below patch: > > $ make O=defconfig-build clean > ... > $ make CC=gcc-9 O=defconfig-build/ vmlinux -j40 -s > vmlinux.o: warning: objtool: exc_debug()+0x158: call to >

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-19 Thread Peter Zijlstra
On Tue, May 19, 2020 at 10:38:26AM +0200, Peter Zijlstra wrote: > $ make CC=gcc-9 O=defconfig-build/ vmlinux -j40 -s > vmlinux.o: warning: objtool: exc_debug()+0x158: call to > trace_hwlat_timestamp() leaves .noinstr.text section > vmlinux.o: warning: objtool: exc_nmi()+0x190: call to

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-19 Thread Peter Zijlstra
On Mon, May 18, 2020 at 10:24:53PM +0200, Thomas Gleixner wrote: > Peter Zijlstra writes: > > So on top of you entry-v8-full; I had to chase one of those > > instrumentation_end() escapes an (extended) basic block chase (again!). > > > > --- a/arch/x86/include/asm/bug.h > > +++

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-19 Thread Peter Zijlstra
On Mon, May 18, 2020 at 08:53:49PM +0200, Thomas Gleixner wrote: > Peter Zijlstra writes: > > So on top of you entry-v8-full; I had to chase one of those > > instrumentation_end() escapes an (extended) basic block chase (again!). > > > > +#ifdef CONFIG_DEBUG_ENTRY > > Why this? We lose the

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-18 Thread Thomas Gleixner
Peter Zijlstra writes: > So on top of you entry-v8-full; I had to chase one of those > instrumentation_end() escapes an (extended) basic block chase (again!). > > --- a/arch/x86/include/asm/bug.h > +++ b/arch/x86/include/asm/bug.h > @@ -79,8 +79,8 @@ do {

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-18 Thread Thomas Gleixner
Peter Zijlstra writes: > So on top of you entry-v8-full; I had to chase one of those > instrumentation_end() escapes an (extended) basic block chase (again!). > > +#ifdef CONFIG_DEBUG_ENTRY Why this? We lose the kprobes runtime protection that way. > +/* Section for code which can't be

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-18 Thread Peter Zijlstra
So on top of you entry-v8-full; I had to chase one of those instrumentation_end() escapes an (extended) basic block chase (again!). How about we do something like the below; that fixes the current case (rcu_eqs_enter) but also kills the entire class. --- arch/x86/include/asm/bug.h | 2 +-

Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-16 Thread Paul E. McKenney
On Sat, May 16, 2020 at 01:45:47AM +0200, Thomas Gleixner wrote: [ . . . ] > - noinstr-rcu-nmi-2020-05-15 > > Based on the core/rcu branch in the tip tree. It has merged in > noinstr-lds-2020-05-15 and contains the nmi_enter/exit() changes along > with the noinstr section changes

[patch V6 00/37] x86/entry: Rework leftovers and merge plan

2020-05-15 Thread Thomas Gleixner
Folks! This is V6 of the rework series. V5 can be found here: https://lore.kernel.org/r/20200512210059.056244...@linutronix.de The V6 leftover series is based on: git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git entry-base-v6 which is the reworked base series from part 1-4 of