sparc/ftrace: Fix ftrace graph time measurement
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Wed, 17 May 2017 15:47:00 +0000 (11:47 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 May 2017 19:07:47 +0000 (12:07 -0700)
commit48078d2dac0a26f84f5f3ec704f24f7c832cce14
tree694488c2b06e1fe346206a93ac4d1d4fba71bedb
parentdeba804c90642c8ed0f15ac1083663976d578f54
sparc/ftrace: Fix ftrace graph time measurement

The ftrace function_graph time measurements of a given function is not
accurate according to those recorded by ftrace using the function
filters.  This change pulls the x86_64 fix from 'commit 722b3c746953
("ftrace/graph: Trace function entry before updating index")' into the
sparc specific prepare_ftrace_return which stops ftrace from
counting interrupted tasks in the time measurement.

Example measurements for select_task_rq_fair running "hackbench 100
process 1000":

              |  tracing/trace_stat/function0  |  function_graph
 Before patch |  2.802 us                      |  4.255 us
 After patch  |  2.749 us                      |  3.094 us

Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/kernel/ftrace.c