Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 27 Apr 2010 17:06:12 -0400 | Subject | Re: [PATCH] ftrace: print sample std dev when function profiling | From | Chase Douglas <> |
| |
On Tue, Apr 27, 2010 at 4:50 PM, Steven Rostedt <rostedt@goodmis.org> wrote: > On Mon, 2010-04-26 at 14:02 -0400, Chase Douglas wrote: > >> + /* Sample standard deviation (s^2) */ >> + if (rec->counter <= 1) >> + stddev = 0; >> + else { >> + stddev = rec->time_squared - rec->counter * avg * avg; >> + do_div(stddev, (rec->counter - 1) * 1000); /* ns^2 -> us^2 */ > > Shouldn't this be: > > do_div(stddev, (rec->counter - 1) * 1000000); ? > > (x / 1000)^2 == x^2 / 1000^2
The trace_print_graph_duration function divides the value by 1000 again to display in us units. I could make the comment more clear, but I didn't want to make a big fuss over a unit conversion.
I also figured this out *after* I had some really wrong looking numbers :). I made sure this patch produced the correct value after two events, so I assume the math is correct.
-- Chase -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |