Re: [PATCH 1/5] ftrace: use module notifier for function tracer

From: Steven Rostedt
Date: Tue Apr 21 2009 - 14:17:49 EST



[ added Arjan ]

On Tue, 21 Apr 2009, Tim Abbott wrote:

> On Sun, 19 Apr 2009, Rusty Russell wrote:
>
> > I think you need to do something else in general. Share the module_mutex for
> > the ftrace code? The ksplice guys have a similar issue, so maybe we should
> > generalize this into a "kernel_text" mutex?
>
> Yes, a kernel_text mutex is on my list of things to propose once Ksplice
> gets merged.
>
> There are at present several systems that modify the kernel text after a
> machine is booted (e.g. dynamic ftrace and toggling of smp_locks when
> hotplugging a cpu). Currently, they avoid stepping on each other by only
> making changes inside stop_machine.
>
> However, Ksplice does its run-pre matching checks outside stop_machine,

Does Ksplice use break points to do the modification? I'd be interested in
knowing how Ksplice protects against the nastiness of code executing on
one CPU that is being modified by another CPU.

-- Steve


> and Ksplice needs a way to prevent e.g. dynamic ftrace from changing the
> code out from under it between those checks and actually applying the
> patches [1]. A kernel_text mutex would be a reasonable solution to this
> problem.
>
> -Tim Abbott
>
> [1] At present this isn't a real problem because Ksplice and ftrace
> conflict with each other for unrelated reasons.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/