Commit f692a6c69076 for kernel

commit f692a6c69076ee5ecc95c5c7da018fe95ff63c28
Merge: ce69b4019001 94d529a3255c
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Jan 16 16:19:05 2025 -0800

    Merge tag 'trace-v6.13-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

    Pull tracing fixes from Steven Rostedt:

     - Fix a regression in the irqsoff and wakeup latency tracing

       The function graph tracer infrastructure has become generic so that
       fprobes and BPF can be based on it. As it use to only handle function
       graph tracing, it would always calculate the time the function
       entered so that it could then calculate the time it exits and give
       the length of time the function executed for. But this is not needed
       for the other users (fprobes and BPF) and reading the clock adds a
       non-negligible overhead, so the calculation was moved into the
       function graph tracer logic.

       But the irqsoff and wakeup latency tracers, when the "display-graph"
       option was set, would use the function graph tracer to calculate the
       times of functions during the latency. The movement of the calltime
       calculation made the value zero for these tracers, and the output no
       longer showed the length of time of each tracer, but instead the
       absolute timestamp of when the function returned (rettime - calltime
       where calltime is now zero).

       Have the irqsoff and wakeup latency tracers also do the calltime
       calculation as the function graph tracer does and report the proper
       length of the function timings.

     - Update the tracing display to reflect the new preempt lazy model

       When the system is configured with preempt lazy, the output of the
       trace data would state "unknown" for the current preemption model.
       Because the lazy preemption model was just added, make it known to
       the tracing subsystem too. This is just a one line change.

     - Document multiple function graph having slightly different timings

       Now that function graph tracer infrastructure is separate, this also
       allows the function graph tracer to run in multiple instances (it
       wasn't able to do so before). If two instances ran the function graph
       tracer and traced the same functions, the timings for them will be
       slightly different because each does their own timings and collects
       the timestamps differently. Document this to not have people be
       confused by it.

    * tag 'trace-v6.13-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
      ftrace: Document that multiple function_graph tracing may have different times
      tracing: Print lazy preemption model
      tracing: Fix irqsoff and wakeup latency tracers when using function graph