On Wed, Dec 21, 2016 at 02:44:46PM -0800, Joel Fernandes wrote: > Function graph tracer shows negative time (wrap around) when tracing > __switch_to if the nosleep-time trace option is enabled. > > Time compensation for nosleep-time is done by an ftrace probe on > sched_switch. This doesn't work well for the following events (with > letters representing timestamps): > A - sched switch probe called for task T switch out > B - __switch_to calltime is recorded > C - sched_switch probe called for task T switch in > D - __switch_to rettime is recorded > > If C - A > D - B, then we end up over compensating for the time spent in > __switch_to giving rise to negative times in the trace output. > > On x86, __switch_to is not traced if function graph tracer is enabled. > Do the same for arm64 as well. > > Cc: Todd Kjos <[email protected]> > Cc: Steven Rostedt <[email protected]> > Cc: Will Deacon <[email protected]> > Cc: Mark Rutland <[email protected]> > Signed-off-by: Joel Fernandes <[email protected]> > --- > arch/arm64/kernel/process.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-)
Thanks, queued for 4.11. Will

