Re: [PATCH 4/4] tracing: Add __print_ns_to_secs() and __print_ns_without_secs() helpers

From: Steven Rostedt
Date: Tue Feb 23 2016 - 09:30:18 EST


On Tue, 23 Feb 2016 15:01:43 +0100
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:


> > We have "%llu.%09ul" which is two arguments in the printf(). And the
> > values we are processing can't be modified. Which is why the macro uses
> > ({ }) and creates a temp variable.
>
> Hurm,. yes that's not something easily done. We need a temporary limited
> in scope to the printf statement, and C doesn't really do that.

The nice thing is, the division is done on output, which is considered
the slow path. Having two divisions instead of just one may be
inconvenient, but it's not slowing much down. And that's only performed
when reading the ASCII trace files. If you use perf or trace-cmd, the
event-parser will do the work for you at post processing.

-- Steve