Skip to content
  • Frederic Weisbecker's avatar
    tracing/function-return-tracer: support for dynamic ftrace on function return tracer · e7d3737e
    Frederic Weisbecker authored
    
    
    This patch adds the support for dynamic tracing on the function return tracer.
    The whole difference with normal dynamic function tracing is that we don't need
    to hook on a particular callback. The only pro that we want is to nop or set
    dynamically the calls to ftrace_caller (which is ftrace_return_caller here).
    
    Some security checks ensure that we are not trying to launch dynamic tracing for
    return tracing while normal function tracing is already running.
    
    An example of trace with getnstimeofday set as a filter:
    
    ktime_get_ts+0x22/0x50 -> getnstimeofday (2283 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1396 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1825 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1426 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1464 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1524 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1434 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1464 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1502 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1404 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1397 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1051 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1314 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1344 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1163 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1390 ns)
    ktime_get_ts+0x22/0x50 -> getnstimeofday (1374 ns)
    
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    e7d3737e