Messages in this thread | | | Subject | Re: [PATCH] ftrace: print sample std dev when function profiling | From | Steven Rostedt <> | Date | Tue, 27 Apr 2010 18:15:54 -0400 |
| |
On Tue, 2010-04-27 at 17:06 -0400, Chase Douglas wrote: > 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.
OK, I see that now. I'll add this patch but I'll also fix the comment.
Thanks,
-- Steve
| |