Peter Zijlstra <[email protected]> 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 instrumented at all */
> +#define noinstr                                                              
> \
> +     noinline notrace __attribute((__section__(".noinstr.text")))
> +
>  /* Begin/end of an instrumentation safe region */
> -#define instrumentation_begin() ({                                           
> \
> +#define instrumentation_begin() ({                                   \
>       asm volatile("%c0:\n\t"                                         \
>                    ".pushsection .discard.instr_begin\n\t"            \
>                    ".long %c0b - .\n\t"                               \
>                    ".popsection\n\t" : : "i" (__COUNTER__));

Nifty.

Thanks,

        tglx

Reply via email to