Re: [PATCH -v5 05/17] x86/ftrace: Use text_poke()

From: Peter Zijlstra
Date: Tue Nov 12 2019 - 17:24:43 EST


On Tue, Nov 12, 2019 at 01:25:36PM -0500, Steven Rostedt wrote:
> On Mon, 11 Nov 2019 14:12:57 +0100
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> > int ftrace_arch_code_modify_post_process(void)
> > __releases(&text_mutex)
> > {
> > - set_all_modules_text_ro();
> > - set_kernel_text_ro();
> > + text_poke_finish();
>
> Why is the text_poke_finish() needed here? Can we add a comment about
> why?

I think this is because of the text_poke_queue() in
ftrace_modify_code_direct(). I seem to have forgotten the code-flow
between the core and arch parts of ftrace again.

But sure, I can try and dig that out again and write a comment.


> > + text_poke_bp((void *)ip, new, MCOUNT_INSN_SIZE, NULL); // BATCH
>
> What do you mean by "BATCH" ?

Ah, that was a question, can/should we use text_poke_queue() there?