Re: [PATCH 2/2] tracing: Disable events in reverse order of their enable operation

From: Petr Pavlu
Date: Tue Nov 28 2023 - 10:06:12 EST


On 11/27/23 18:58, Steven Rostedt wrote:
> On Mon, 27 Nov 2023 16:12:48 +0100
> Petr Pavlu <petr.pavlu@xxxxxxxx> wrote:
>
>> Make the disable operation in __ftrace_event_enable_disable() use the
>> reverse order of the respective enable operation.
>>
>> This has two minor benefits:
>> * Disabling of buffered events via trace_buffered_event_disable() is
>> done after unregistering the trace event. It closes a small window
>> where an event would be still registered and could be hit, but would
>> unnecessarily go directly to a ring buffer.
>
> There's little benefit to the above. Going to the ring buffer and reverting
> it is just a bit more expensive, but should not be an issue with this small
> window.
>
>> * The SOFT_DISABLED flag is now consistently set only when SOFT_MODE is
>> also set.
>
> This code is a bit fragile, and I rather not change the logic. There's a
> lot of corner cases.
>
> I'm not saying that this is a bad change, I just don't want to add it and
> find out later it broke one of the corner cases. To add this would require
> an analysis that every input produces the same output with and without this
> change.
>
> If you want to make a table showing all inputs between soft_disable and the
> flags, and show that the result produces the same updates, I'll then
> reconsidered applying this.

Ok, that is fair. It looked to me as a reasonable change but I don't
feel strongly about it and I understand your concern. I guess I'll drop
it in v2.

Thanks,
Petr