Messages in this thread | | | Date | Fri, 1 May 2020 10:13:10 -0500 | From | Josh Poimboeuf <> | Subject | Re: [RFC][PATCH] x86/ftrace: Have ftrace trampolines turn read-only at the end of system boot up |
| |
On Fri, May 01, 2020 at 09:24:04AM -0400, Steven Rostedt wrote: > On Fri, 1 May 2020 00:17:06 -0500 > Josh Poimboeuf <jpoimboe@redhat.com> wrote: > > > > Would it be easier to just call a new __text_poke_bp() which skips the > > > SYSTEM_BOOTING check, since you know the trampoline will always be > > > read-only? > > > > > > Like: > > > > early_trace_init() is called after mm_init(), so I thought it might > > work, but I guess not: > > Yeah, I was about to say that this happens before mm_init() ;-)
It happens *after* mm_init(). But now text_poke() has a dependency on poking_init(), has a dependency on proc_caches_init(), which has a dependency on kmem_cache_init_late(), etc.
So how early do you need early_trace_init()? I'm assuming moving it to after kmem_cache_init_late() would be too late.
> It's why we already have magic for enabling function tracing the first time. > > Do you see anything wrong with this current solution? It probably needs > more comments, but I wanted to get acceptance on the logic before I go and > pretty it up and send a non RFC patch.
Assuming we can't get text_poke() working earlier, it seems reasonable to me.
-- Josh
| |