Re: [17/19] ftrace: dynamic enabling/disabling of function calls

From: Ingo Molnar
Date: Mon Feb 11 2008 - 11:32:36 EST



* Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> > Because we do this via stop_machine, we don't have to worry about
> > another CPU executing a ftrace call as we modify it. But we do need
> > to worry about NMI's so all functions that might be called via nmi
> > must be annotated with notrace_nmi. When this code is configured in,
> > the NMI code will not call notrace.
>
> I'd like to suggest that you can use djprobe-like solution here to
> eliminate stop_machine. The djprobe makes a bypass over that call
> instruction by using a kprobe, and after replacing the call
> instruction, you can safely remove the bypass. [...]

i think the stop_machine() method for code patching is pretty elegant in
that it reuses an otherwise rarely used but critical facility. We want
it to be fast and easy, and our current ftrace testing shows that it is.
So unless there are strong reasons to do otherwise, it would be nice to
keep that approach :-)

Ingo
--
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/