Re: [RFC][PATCH] ring-buffer: Have nested events still record running time stamp

From: Steven Rostedt
Date: Thu Jun 25 2020 - 10:37:59 EST


On Thu, 25 Jun 2020 09:53:15 -0400 (EDT)
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote:

> ----- On Jun 25, 2020, at 9:44 AM, rostedt rostedt@xxxxxxxxxxx wrote:
>
> > From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>
> >
> > [ SEVEN YEAR PROBLEM SOLVED! ]
> >
> > Up until now, if an event is interrupted while it is recorded by an
> > interrupt, and that interrupt records events, the time of those events will
> > all be the same. This is because events only record the delta of the time
> > since the previous event (or beginning of a page), and to handle updating
> > the time keeping for that of nested events is extremely racy. After years of
> > thinking about this and several failed attempts, I finally have a solution
> > to solve this puzzle.
>
> Out of curiosity, considering that LTTng has solved this problem 10+ years ago
> with a simpler concurrency-friendly time-stamping model, why not simply use it
> rather than add complexity to the current ftrace timestamp scheme ?

Because it requires updating all the tools that read this from user
space.

I found a solution that works, so why change it and cause the backward
compatibility pain now?

-- Steve