linux/Documentation
Linus Torvalds f692a6c690 Tracing fixes for 6.13:
- 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.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCZ4kcvhQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qnaPAPwPrZraRcXCF2SvWfF6aJ/hSVzy7XgM
 mj7FDlkw57QlVgD/cy/g8czLQ38hAqNULP+tvPc6mPSHptV8yOTKaWuVFgg=
 =N7/a
 -----END PGP SIGNATURE-----

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
2025-01-16 16:19:05 -08:00
..
ABI linux-watchdog 6.13-rc1 tag 2024-12-05 10:03:43 -08:00
accel
accounting
admin-guide cpuidle: menu: Update documentation after previous changes 2025-01-13 20:41:39 +01:00
arch ACPI/IORT: Add PMCG platform information for HiSilicon HIP09A 2024-12-05 11:24:18 +00:00
block
bpf bpf: Remove trailing whitespace in verifier.rst 2024-11-11 08:17:48 -08:00
cdrom
core-api module: Convert default symbol namespace to string literal 2024-12-03 08:22:25 -08:00
cpu-freq Docs/subsystem-apis: Remove '[The ]Linux' prefixes from titles of listed documents 2023-01-24 15:27:08 -07:00
crypto
dev-tools Kbuild updates for v6.13 2024-11-30 13:41:50 -08:00
devicetree Char/Misc/IIO driver fixes for 6.13-rc7 2025-01-12 14:34:00 -08:00
doc-guide Documentation: kernel-doc: enumerate identifier *type*s 2024-11-22 10:37:40 -07:00
driver-api Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
fault-injection net: Implement fault injection forcing skb reallocation 2024-11-12 12:05:33 +01:00
fb
features riscv: Add qspinlock support 2024-11-11 07:33:20 -08:00
filesystems vfs-6.13-rc1.fixes 2024-11-27 08:11:46 -08:00
firmware-guide
firmware_class
fpga
gpu drm/amdgpu: Add documentation for enforce isolation feature 2024-11-08 11:45:29 -05:00
hid
hwmon hwmon: (tmp108) Add NXP p3t1085 support 2024-11-12 13:54:55 -08:00
i2c i2c-host updates for v6.13, part 1 2024-11-18 08:35:47 +01:00
iio docs: iio: ad7380: add adaq4370-4 and adaq4380-4 2024-11-09 10:42:03 +00:00
images
infiniband
input Input: fix the input_event struct documentation 2024-11-14 18:03:23 -08:00
isdn
kbuild Kbuild updates for v6.13 2024-11-30 13:41:50 -08:00
kernel-hacking docs/licensing: Clarify wording about "GPL" and "Proprietary" 2024-11-22 10:44:25 -07:00
leds
litmus-tests
livepatch
locking locking/Documentation: Fix grammar in percpu-rw-semaphore.rst 2024-11-13 10:59:01 +01:00
maintainer
mhi
misc-devices
mm docs/mm: add VMA locks documentation 2024-12-18 19:04:41 -08:00
netlabel docs: add some directories to the main documentation index 2019-07-15 11:03:03 -03:00
netlink netlink: specs: mptcp: fix missing doc 2024-12-27 11:16:21 -08:00
networking Documentation: networking: Add a caveat to nexthop_compat_mode sysctl 2024-12-10 18:26:24 -08:00
nvdimm
nvme
PCI Merge branch 'pci/endpoint' 2024-11-25 13:40:56 -06:00
pcmcia
peci
power Documentation: PM: Clarify pm_runtime_resume_and_get() return value 2024-12-10 20:14:22 +01:00
process A few late-arriving fixes, plus two more significant changes that were 2024-11-26 13:44:27 -08:00
RCU doc: rcu: update printed dynticks counter bits 2024-11-12 21:40:24 +01:00
rust Rust changes for v6.13 2024-11-26 14:00:26 -08:00
scheduler sched_ext: Rename scx_bpf_consume() to scx_bpf_dsq_move_to_local() 2024-11-11 07:06:16 -10:00
scsi
security
sound ALSA: doc: Add codecs/index.rst to top-level index 2025-01-09 11:15:56 +00:00
sphinx
sphinx-static
spi
staging Documentation: Fix incorrect paths/magic in magic numbers rst 2024-11-04 12:34:59 -07:00
target
tee
timers
tools rtla: Documentation: Mention --deepest-idle-state 2024-10-17 17:13:16 -04:00
trace ftrace: Document that multiple function_graph tracing may have different times 2025-01-14 10:45:24 -05:00
translations module: Convert default symbol namespace to string literal 2024-12-03 08:22:25 -08:00
usb usb: gadget: f_uac1: Change volume name and remove alt names 2024-08-13 18:11:35 +02:00
userspace-api drm for 6.13-rc1 2024-11-21 14:56:17 -08:00
virt KVM: s390: Reject KVM_SET_GSI_ROUTING on ucontrol VMs 2025-01-07 16:36:11 +01:00
w1
watchdog watchdog: Delete the cpu5wdt driver 2024-11-05 10:04:39 +01:00
wmi platform-drivers-x86 for v6.13-1 2024-11-20 14:07:55 -08:00
.gitignore
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py
docutils.conf
index.rst
Kconfig
Makefile
memory-barriers.txt
SubmittingPatches
subsystem-apis.rst