Re: [PATCH 04/11] tracing: fix disabling of soft disable

From: Masami Hiramatsu
Date: Fri Jun 21 2013 - 07:13:04 EST


(2013/06/21 3:31), Tom Zanussi wrote:
> The comment on the soft disable 'disable' case of
> __ftrace_event_enable_disable() states that the soft disable bit
> should be cleared in that case, but currently only the soft mode bit
> is actually cleared.
>
> This essentially leaves the standard non-soft-enable enable/disable
> paths as the only way to clear the soft disable flag, but the soft
> disable bit should also be cleared when removing a trigger with '!'.

Indeed, the soft-disabled flag may remain after the event itself
disabled. However that soft-disabled flag will be cleared when
the event is re-enabled. it seems no bad side-effect.

Thus I doubt this patch is separately required. I guess this is
required for adding new trigger flag, isn't it? :)

Thank you,

>
> Also, the SOFT_DISABLED bit should never be set if SOFT_MODE is
> cleared.
>
> This fixes the above discrepancies.
>
> Signed-off-by: Tom Zanussi <tom.zanussi@xxxxxxxxxxxxxxx>
> ---
> kernel/trace/trace_events.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
> index ecb2609..f9738dc 100644
> --- a/kernel/trace/trace_events.c
> +++ b/kernel/trace/trace_events.c
> @@ -282,6 +282,8 @@ static int __ftrace_event_enable_disable(struct ftrace_event_file *file,
> /* If in SOFT_MODE, just set the SOFT_DISABLE_BIT */
> if (file->flags & FTRACE_EVENT_FL_SOFT_MODE)
> set_bit(FTRACE_EVENT_FL_SOFT_DISABLED_BIT, &file->flags);
> + else
> + clear_bit(FTRACE_EVENT_FL_SOFT_DISABLED_BIT, &file->flags);
> break;
> case 1:
> /*
>


--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@xxxxxxxxxxx


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