[PATCH V6 04/11] compiler_types.h: Add __noinstr_section() for noinstr

Peter Zijlstra peterz at infradead.org
Mon Oct 24 05:06:04 PDT 2022


On Mon, Oct 24, 2022 at 12:56:03PM +0100, Mark Rutland wrote:

> How about we split this like:
> 
> | /*
> |  * Prevent the compiler from instrumenting this code in any way
> |  * This does not prevent instrumentation via KPROBES, which must be
> |  * prevented through other means if necessary.

Perhaps point to NOINSTR_TEXT in vmlinux.lds.h

> |  */
> | #define __no_compiler_instrument				\
> | 	noinline notrace noinline notrace __no_kcsan		\
> | 	__no_sanitize_address __no_sanitize_coverage
> | 
> | /* 
> |  * Section for code which can't be instrumented at all.
> |  * Any code in this section cannot be instrumented with KPROBES.
> |  */
> | #define noinstr __no_compiler_instrument section(".noinstr.text")
> 
> ... then we don't need __noinstr_section(), and IMO the split is
> clearer.

Yeah, perhaps, no strong feelings. Note I have this in the sched-idle
series as well (which I still need to rebase and repost :/).



More information about the linux-riscv mailing list