Re: [PATCH 2/9] rcu: Fixup noinstr warnings

From: Peter Zijlstra
Date: Mon Jun 15 2020 - 11:55:21 EST


On Mon, Jun 15, 2020 at 05:49:05PM +0200, Peter Zijlstra wrote:
> @@ -983,13 +993,17 @@ noinstr void rcu_nmi_enter(void)
> if (!in_nmi())
> rcu_cleanup_after_idle();
>
> + instrumentation_begin();
> + // instrumentation for the noinstr rcu_dynticks_curr_cpu_in_eqs()
> + instrument_atomic_read(&rdp->dynticks, sizeof(rdp->dynticks));
> + // instrumentation for the noinstr rcu_dynticks_eqs_exit()
> + instrument_atomic_write(&rdp->dynticks, sizeof(rdp->dynticks));
> +
> incby = 1;
> } else if (!in_nmi()) {
> instrumentation_begin();
> rcu_irq_enter_check_tick();
> - instrumentation_end();
> }
> - instrumentation_begin();
> trace_rcu_dyntick(incby == 1 ? TPS("Endirq") : TPS("++="),
> rdp->dynticks_nmi_nesting,
> rdp->dynticks_nmi_nesting + incby, atomic_read(&rdp->dynticks));

Oh, that's lost a possible instrumentation_begin() :/ But weirdly
objtool didn't complain about that... Let me poke at that.