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.