Paul, "Paul E. McKenney" <paulmck@xxxxxxxxxx> writes: > And I have allegedly resolved the conflicts with Thomas's and Peter's > series, or at least the noinstr-rcu-nmi-2020-05-15 branch of that series. > At least one conflict was completely invisible to "git rebase" (but > fortunately blindingly obvious to the compiler). This naturally makes > me suspect that additional adjustments might be needed. Especially > given that misplaced instrumentation_begin() and instrumentation_end() > calls are invisible not only to the compiler, but also to rcutorture in > my setup. (For example, tracing before instrumentation_begin() or after > instrumentation_end() is a bug.) there is tooling to verify that. If you merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git entry-v7-full into your dev branch (trivial conflict) and after building it, run: objtool check -fal $BUILDIR/vmlinux.o Note: This only covers built-in code. So if you have code you want to check make sure it's not built as module. Just did that and it complains about: ../build/vmlinux.o: warning: objtool: rcu_eqs_enter.constprop.0()+0xa9: call to rcu_preempt_deferred_qs() leaves .noinstr.text section But that's even the case on my branch without your changes. The call to rcu_preempt_deferred_qs() is definitely before instrumentation_end() so this needs to be investigated on the objtool side. Peter? Thanks, tglx