milos-linux/drivers
Linus Torvalds cb30bf881c tracing updates for v7.1:
- Fix printf format warning for bprintf
 
   sunrpc uses a trace_printk() that triggers a printf warning during the
   compile. Move the __printf() attribute around for when debugging is not
   enabled the warning will go away.
 
 - Remove redundant check for EVENT_FILE_FL_FREED in event_filter_write()
 
   The FREED flag is checked in the call to event_file_file() and then
   checked again right afterward, which is unneeded.
 
 - Clean up event_file_file() and event_file_data() helpers
 
   These helper functions played a different role in the past, but now with
   eventfs, the READ_ONCE() isn't needed. Simplify the code a bit and also
   add a warning to event_file_data() if the file or its data is not present.
 
 - Remove updating file->private_data in tracing open
 
   All access to the file private data is handled by the helper functions,
   which do not use file->private_data. Stop updating it on open.
 
 - Show ENUM names in function arguments via BTF in function tracing
 
   When showing the function arguments when func-args option is set for
   function tracing, if one of the arguments is found to be an enum, show the
   name of the enum instead of its number.
 
 - Add new trace_call__##name() API for tracepoints
 
   Tracepoints are enabled via static_branch() blocks, where when not
   enabled, there's only a nop that is in the code where the execution will
   just skip over it. When tracing is enabled, the nop is converted to a
   direct jump to the tracepoint code. Sometimes more calculations are
   required to be performed to update the parameters of the tracepoint. In
   this case, trace_##name##_enabled() is called which is a static_branch()
   that gets enabled only when the tracepoint is enabled. This allows the
   extra calculations to also be skipped by the nop:
 
   if (trace_foo_enabled()) {
       x = bar();
       trace_foo(x);
   }
 
   Where the x=bar() is only performed when foo is enabled. The problem with
   this approach is that there's now two static_branch() calls. One for
   checking if the tracepoint is enabled, and then again to know if the
   tracepoint should be called. The second one is redundant.
 
   Introduce trace_call__foo() that will call the foo() tracepoint directly
   without doing a static_branch():
 
   if (trace_foo_enabled()) {
       x = bar();
       trace_call__foo();
   }
 
 - Update various locations to use the new trace_call__##name() API
 
 - Move snapshot code out of trace.c
 
   Cleaning up trace.c to not be a "dump all", move the snapshot code out of
   it and into a new trace_snapshot.c file.
 
 - Clean up some "%*.s" to "%*s"
 
 - Allow boot kernel command line options to be called multiple times
 
   Have options like:
 
     ftrace_filter=foo ftrace_filter=bar ftrace_filter=zoo
 
   Equal to:
 
     ftrace_filter=foo,bar,zoo
 
 - Fix ipi_raise event CPU field to be a CPU field
 
   The ipi_raise target_cpus field is defined as a __bitmask(). There is now a
   __cpumask() field definition. Update the field to use that.
 
 - Have hist_field_name() use a snprintf() and not a series of strcat()
 
   It's safer to use snprintf() that a series of strcat().
 
 - Fix tracepoint regfunc balancing
 
   A tracepoint can define a "reg" and "unreg" function that gets called
   before the tracepoint is enabled, and after it is disabled respectively.
   But on error, after the "reg" func is called and the tracepoint is not
   enabled, the "unreg" function is not called to tear down what the "reg"
   function performed.
 
 - Fix output that shows what histograms are enabled
 
   Event variables are displayed incorrectly in the histogram output.
 
   Instead of "sched.sched_wakeup.$var", it is showing
   "$sched.sched_wakeup.var" where the '$' is in the incorrect location.
 
 - Some other simple cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYKADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCaeCpvxQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qt2WAP44m85BbAjBqJe4WR103eOXV+bREBta
 dRoReKJOMe519gEAp0rK/HoCvHgHhIGe3gaGdIsNhnaxoFyNWMG/wokoLAY=
 =Hg6+
 -----END PGP SIGNATURE-----

Merge tag 'trace-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing updates from Steven Rostedt:

 - Fix printf format warning for bprintf

   sunrpc uses a trace_printk() that triggers a printf warning during
   the compile. Move the __printf() attribute around for when debugging
   is not enabled the warning will go away

 - Remove redundant check for EVENT_FILE_FL_FREED in
   event_filter_write()

   The FREED flag is checked in the call to event_file_file() and then
   checked again right afterward, which is unneeded

 - Clean up event_file_file() and event_file_data() helpers

   These helper functions played a different role in the past, but now
   with eventfs, the READ_ONCE() isn't needed. Simplify the code a bit
   and also add a warning to event_file_data() if the file or its data
   is not present

 - Remove updating file->private_data in tracing open

   All access to the file private data is handled by the helper
   functions, which do not use file->private_data. Stop updating it on
   open

 - Show ENUM names in function arguments via BTF in function tracing

   When showing the function arguments when func-args option is set for
   function tracing, if one of the arguments is found to be an enum,
   show the name of the enum instead of its number

 - Add new trace_call__##name() API for tracepoints

   Tracepoints are enabled via static_branch() blocks, where when not
   enabled, there's only a nop that is in the code where the execution
   will just skip over it. When tracing is enabled, the nop is converted
   to a direct jump to the tracepoint code. Sometimes more calculations
   are required to be performed to update the parameters of the
   tracepoint. In this case, trace_##name##_enabled() is called which is
   a static_branch() that gets enabled only when the tracepoint is
   enabled. This allows the extra calculations to also be skipped by the
   nop:

	if (trace_foo_enabled()) {
		x = bar();
		trace_foo(x);
	}

   Where the x=bar() is only performed when foo is enabled. The problem
   with this approach is that there's now two static_branch() calls. One
   for checking if the tracepoint is enabled, and then again to know if
   the tracepoint should be called. The second one is redundant

   Introduce trace_call__foo() that will call the foo() tracepoint
   directly without doing a static_branch():

	if (trace_foo_enabled()) {
		x = bar();
		trace_call__foo();
	}

 - Update various locations to use the new trace_call__##name() API

 - Move snapshot code out of trace.c

   Cleaning up trace.c to not be a "dump all", move the snapshot code
   out of it and into a new trace_snapshot.c file

 - Clean up some "%*.s" to "%*s"

 - Allow boot kernel command line options to be called multiple times

   Have options like:

	ftrace_filter=foo ftrace_filter=bar ftrace_filter=zoo

   Equal to:

	ftrace_filter=foo,bar,zoo

 - Fix ipi_raise event CPU field to be a CPU field

   The ipi_raise target_cpus field is defined as a __bitmask(). There is
   now a __cpumask() field definition. Update the field to use that

 - Have hist_field_name() use a snprintf() and not a series of strcat()

   It's safer to use snprintf() that a series of strcat()

 - Fix tracepoint regfunc balancing

   A tracepoint can define a "reg" and "unreg" function that gets called
   before the tracepoint is enabled, and after it is disabled
   respectively. But on error, after the "reg" func is called and the
   tracepoint is not enabled, the "unreg" function is not called to tear
   down what the "reg" function performed

 - Fix output that shows what histograms are enabled

   Event variables are displayed incorrectly in the histogram output

   Instead of "sched.sched_wakeup.$var", it is showing
   "$sched.sched_wakeup.var" where the '$' is in the incorrect location

 - Some other simple cleanups

* tag 'trace-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (24 commits)
  selftests/ftrace: Add test case for fully-qualified variable references
  tracing: Fix fully-qualified variable reference printing in histograms
  tracepoint: balance regfunc() on func_add() failure in tracepoint_add_func()
  tracing: Rebuild full_name on each hist_field_name() call
  tracing: Report ipi_raise target CPUs as cpumask
  tracing: Remove duplicate latency_fsnotify() stub
  tracing: Preserve repeated trace_trigger boot parameters
  tracing: Append repeated boot-time tracing parameters
  tracing: Remove spurious default precision from show_event_trigger/filter formats
  cpufreq: Use trace_call__##name() at guarded tracepoint call sites
  tracing: Remove tracing_alloc_snapshot() when snapshot isn't defined
  tracing: Move snapshot code out of trace.c and into trace_snapshot.c
  mm: damon: Use trace_call__##name() at guarded tracepoint call sites
  btrfs: Use trace_call__##name() at guarded tracepoint call sites
  spi: Use trace_call__##name() at guarded tracepoint call sites
  i2c: Use trace_call__##name() at guarded tracepoint call sites
  kernel: Use trace_call__##name() at guarded tracepoint call sites
  tracepoint: Add trace_call__##name() API
  tracing: trace_mmap.h: fix a kernel-doc warning
  tracing: Pretty-print enum parameters in function arguments
  ...
2026-04-17 09:43:12 -07:00
..
accel drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
accessibility
acpi arm64 updates for 7.1: 2026-04-14 16:48:56 -07:00
amba
android mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
ata ata changes for 7.1-rc1 2026-04-15 15:03:01 -07:00
atm
auxdisplay
base regmap: Updates for v7.1 2026-04-15 14:27:51 -07:00
bcma
block mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
bluetooth Bluetooth: hci_qca: Fix missing wakeup during SSR memdump handling 2026-04-13 09:19:42 -04:00
bus soc: drivers for 7.1 2026-04-16 20:34:34 -07:00
cache
cdrom
cdx
char mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
clk Support for Mobileye EyeQ6Lplus 2026-04-17 08:53:23 -07:00
clocksource
comedi mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
connector
counter
cpufreq tracing updates for v7.1: 2026-04-17 09:43:12 -07:00
cpuidle powerpc updates for 7.1 2026-04-14 17:10:15 -07:00
crypto This update includes the following changes: 2026-04-15 15:22:26 -07:00
cxl
dax
dca
devfreq
dibs
dio
dma
dma-buf drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
dpll dpll: zl3073x: add ref-sync pair support 2026-04-12 08:27:34 -07:00
edac - Add new AMD MCA bank names and types to the MCA code, preceded by a clean 2026-04-14 15:32:39 -07:00
eisa
extcon
firewire
firmware soc: drivers for 7.1 2026-04-16 20:34:34 -07:00
fpga
fsi
fwctl fwctl: Fix class init ordering to avoid NULL pointer dereference on device removal 2026-04-10 11:21:06 -03:00
gnss
gpib
gpio soc: drivers for 7.1 2026-04-16 20:34:34 -07:00
gpu mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
greybus
hid [GIT PULL for v7.1] media updates 2026-04-15 08:32:10 -07:00
hsi
hte
hv mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
hwmon hwmon updates for 7.1 2026-04-15 14:37:32 -07:00
hwspinlock
hwtracing mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
i2c tracing updates for v7.1: 2026-04-17 09:43:12 -07:00
i3c
idle
iio hwmon updates for 7.1 2026-04-15 14:37:32 -07:00
infiniband fwctl 7.1 merge window pull request 2026-04-16 21:15:56 -07:00
input Support for Mobileye EyeQ6Lplus 2026-04-17 08:53:23 -07:00
interconnect
iommu iommufd v7.1 merge window pull request 2026-04-16 21:21:55 -07:00
ipack
irqchip Arm: 2026-04-17 07:18:03 -07:00
isdn
leds
macintosh
mailbox
mcb
md Device Mapper patches for 7.1 2026-04-15 15:11:05 -07:00
media [GIT PULL for v7.1] media updates 2026-04-15 08:32:10 -07:00
memory
memstick
message
mfd soc: drivers for 7.1 2026-04-16 20:34:34 -07:00
misc pci-v7.1-changes 2026-04-15 14:41:21 -07:00
mmc mmc: sdhci-msm: Fix the wrapped key handling 2026-04-10 10:29:58 +02:00
most
mtd Support for Mobileye EyeQ6Lplus 2026-04-17 08:53:23 -07:00
mux
net fwctl 7.1 merge window pull request 2026-04-16 21:15:56 -07:00
nfc gpio updates for v7.1-rc1 2026-04-13 20:10:58 -07:00
ntb pci-v7.1-changes 2026-04-15 14:41:21 -07:00
nubus
nvdimm vfs-7.1-rc1.integrity 2026-04-13 10:40:26 -07:00
nvme for-7.1/io_uring-20260411 2026-04-13 16:22:30 -07:00
nvmem
of mm.git review status for linus..mm-nonmm-stable 2026-04-16 20:11:56 -07:00
opp
parisc
parport
pci pci-v7.1-changes 2026-04-15 14:41:21 -07:00
pcmcia
peci
perf arm64 updates for 7.1: 2026-04-14 16:48:56 -07:00
phy MMC core: 2026-04-15 14:15:25 -07:00
pinctrl Support for Mobileye EyeQ6Lplus 2026-04-17 08:53:23 -07:00
platform chrome-platform: Updates for v7.1 2026-04-15 14:10:40 -07:00
pmdomain
pnp
power m68k updates for v7.1 2026-04-16 08:11:01 -07:00
powercap
pps
ps3
ptp
pwm pwm: Changes for v7.1-rc1 2026-04-15 14:13:31 -07:00
rapidio
ras
regulator regulator: Updates for v7.1 2026-04-15 14:32:12 -07:00
remoteproc
resctrl arm64 updates for 7.1: 2026-04-14 16:48:56 -07:00
reset Support for Mobileye EyeQ6Lplus 2026-04-17 08:53:23 -07:00
rpmsg
rtc
s390 Driver core changes for 7.1-rc1 2026-04-13 19:03:11 -07:00
sbus
scsi Networking changes for 7.1. 2026-04-14 18:36:10 -07:00
sh
siox
slimbus
soc soc: drivers for 7.1 2026-04-16 20:34:34 -07:00
soundwire
spi tracing updates for v7.1: 2026-04-17 09:43:12 -07:00
spmi
ssb
staging mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
target mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
tc
tee soc: drivers for 7.1 2026-04-16 20:34:34 -07:00
thermal bitmap updates for v7.1 2026-04-14 08:55:18 -07:00
thunderbolt
tty xen: branch for v7.1-rc1 2026-04-15 15:16:39 -07:00
ufs
uio
usb
vdpa
vfio VFIO updates for v7.1-rc1 2026-04-16 08:01:16 -07:00
vhost
video drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
virt Arm: 2026-04-17 07:18:03 -07:00
virtio mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
w1
watchdog
xen xen: branch for v7.1-rc1 2026-04-15 15:16:39 -07:00
zorro
Kconfig
Makefile