Re: [PATCH 3/4] tracing: Improve message of empty set_ftrace_notrace file

From: Steven Rostedt
Date: Thu Jun 12 2014 - 15:28:13 EST


On Fri, 13 Jun 2014 01:23:52 +0900
Namhyung Kim <namhyung@xxxxxxxxxx> wrote:

> When there's no entry in set_ftrace_notrace, it'll print nothing, but
> it's better to print something like below like set_graph_notrace does:
>
> #### no functions disabled ####
>
> Reported-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---
> kernel/trace/ftrace.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index b375cf2cd786..566ffa0f3442 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -2603,6 +2603,16 @@ static void *t_start(struct seq_file *m, loff_t *pos)
> return iter;
> }
>
> + if (iter->flags & FTRACE_ITER_NOTRACE &&
> + ftrace_hash_empty(ops->notrace_hash)) {
> + if (*pos > 0)
> + return t_hash_start(m, pos);
> + iter->flags |= FTRACE_ITER_PRINTALL;
> + /* reset in case of seek/pread */
> + iter->flags &= ~FTRACE_ITER_HASH;
> + return iter;
> + }

This contains the exact if block as the condition before it. Why not
join the two:

if ((iter->flags & FTRACE_ITER_FILTER &&
ftrace_hash_empty(ops->filter_hash))
||
(iter->flags & FTRACE_ITER_NOTRACE &&
ftrace_hash_empty(ops->notrace_hash))) {

-- Steve

> +
> if (iter->flags & FTRACE_ITER_HASH)
> return t_hash_start(m, pos);
>
> @@ -2639,7 +2649,10 @@ static int t_show(struct seq_file *m, void *v)
> return t_hash_show(m, iter);
>
> if (iter->flags & FTRACE_ITER_PRINTALL) {
> - seq_printf(m, "#### all functions enabled ####\n");
> + if (iter->flags & FTRACE_ITER_NOTRACE)
> + seq_printf(m, "#### no functions disabled ####\n");
> + else
> + seq_printf(m, "#### all functions enabled ####\n");
> return 0;
> }
>

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