Re: [PATCH] ftrace: add simple oneshot function tracer

From: Steven Rostedt
Date: Wed May 29 2019 - 10:49:23 EST


On Wed, 29 May 2019 11:31:23 +0200
Thomas Preisner <linux@xxxxxxxxxxxx> wrote:

> The "oneshot" tracer records every address (ip, parent_ip) exactly once.
> As a result, "oneshot" can be used to efficiently create kernel function
> coverage/usage reports such as in undertaker-tailor[0].
>
> In order to provide this functionality, "oneshot" uses a
> configurable hashset for blacklisting already recorded addresses. This
> way, no user space application is required to parse the function
> tracer's output and to deactivate functions after they have been
> recorded once. Additionally, the tracer's output is reduced to a bare
> mininum so that it can be passed directly to undertaker-tailor.
>
> Further information regarding this oneshot function tracer can also be
> found at [1].
>
> [0]: https://undertaker.cs.fau.de
> [1]: https://tpreisner.de/pub/ba-thesis.pdf
>
> Signed-off-by: Thomas Preisner <linux@xxxxxxxxxxxx>
>

Hi,

If you are only interested in seeing what functions are called (and
don't care about the order), why not just make another function
profiler (see register_ftrace_profiler and friends)? Then you could
just list the hash table entries instead of having to record into the
ftrace ring buffer.

-- Steve