2024-05-23 14:32:15

by Steven Rostedt

[permalink] [raw]
Subject: [GIT PULL] tracing/treewide: Remove second parameter of __assign_str()



Linus,

[
I'm sending this now, near the end of the merge window. As it touches over
140 files and makes over 700 updates, adding it before -rc1 would help
prevent conflicts. I did a diff between the commit I based this off of and
linux-next and I don't see any new __assign_str()s added. I'm doing an
allmodconfig build of this merged with linux-next just to make sure.
]

tracing: Remove second argument of __assign_str()

The __assign_str() macro logic of the TRACE_EVENT() macro was optimized so
that it no longer needs the second argument. The __assign_str() is always
matched with __string() field that takes a field name and the source for
that field:

__string(field, source)

The TRACE_EVENT() macro logic will save off the source value and then use
that value to copy into the ring buffer via the __assign_str(). Before
commit c1fa617caeb0 ("tracing: Rework __assign_str() and __string() to not
duplicate getting the string"), the __assign_str() needed the second
argument which would perform the same logic as the __string() source
parameter did. Not only would this add overhead, but it was error prone as
if the __assign_str() source produced something different, it may not have
allocated enough for the string in the ring buffer (as the __string()
source was used to determine how much to allocate)

Now that the __assign_str() just uses the same string that was used in
__string() it no longer needs the source parameter. It can now be removed.


Please pull the latest trace-assign-str-v6.10 tree, which can be found at:


git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-assign-str-v6.10

Tag SHA1: a4a3570b492898d2bcff5e578856895681d93458
Head SHA1: 2c92ca849fcc6ee7d0c358e9959abc9f58661aea


Steven Rostedt (Google) (1):
tracing/treewide: Remove second parameter of __assign_str()

----
arch/arm64/kernel/trace-events-emulation.h | 2 +-
arch/powerpc/include/asm/trace.h | 4 +-
arch/x86/kvm/trace.h | 2 +-
drivers/base/regmap/trace.h | 18 ++--
drivers/base/trace.h | 2 +-
drivers/block/rnbd/rnbd-srv-trace.h | 12 +--
drivers/bus/mhi/host/trace.h | 12 +--
drivers/cxl/core/trace.h | 32 +++---
drivers/dma-buf/sync_trace.h | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 16 +--
.../drm/amd/display/amdgpu_dm/amdgpu_dm_trace.h | 2 +-
drivers/gpu/drm/i915/display/intel_display_trace.h | 56 +++++-----
drivers/gpu/drm/lima/lima_trace.h | 2 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 12 +--
drivers/gpu/drm/scheduler/gpu_scheduler_trace.h | 4 +-
drivers/gpu/drm/virtio/virtgpu_trace.h | 2 +-
drivers/infiniband/core/cma_trace.h | 4 +-
drivers/infiniband/hw/hfi1/hfi.h | 2 +-
drivers/infiniband/hw/hfi1/trace_dbg.h | 2 +-
drivers/infiniband/hw/hfi1/trace_rx.h | 2 +-
drivers/infiniband/hw/hfi1/trace_tid.h | 4 +-
drivers/infiniband/hw/hfi1/trace_tx.h | 4 +-
drivers/infiniband/sw/rdmavt/trace.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_rvt.h | 2 +-
drivers/interconnect/trace.h | 10 +-
drivers/iommu/intel/trace.h | 14 +--
drivers/media/platform/nvidia/tegra-vde/trace.h | 2 +-
drivers/misc/mei/mei-trace.h | 6 +-
drivers/net/dsa/mv88e6xxx/trace.h | 4 +-
.../net/ethernet/freescale/dpaa/dpaa_eth_trace.h | 2 +-
.../net/ethernet/freescale/dpaa2/dpaa2-eth-trace.h | 4 +-
.../net/ethernet/fungible/funeth/funeth_trace.h | 6 +-
drivers/net/ethernet/hisilicon/hns3/hns3_trace.h | 4 +-
.../ethernet/hisilicon/hns3/hns3pf/hclge_trace.h | 12 +--
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_trace.h | 10 +-
drivers/net/ethernet/intel/i40e/i40e_trace.h | 10 +-
drivers/net/ethernet/intel/iavf/iavf_trace.h | 6 +-
drivers/net/ethernet/intel/ice/ice_trace.h | 12 +--
.../net/ethernet/marvell/octeontx2/af/rvu_trace.h | 12 +--
.../mellanox/mlx5/core/diag/cmd_tracepoint.h | 4 +-
.../mellanox/mlx5/core/diag/en_rep_tracepoint.h | 2 +-
.../mellanox/mlx5/core/diag/en_tc_tracepoint.h | 2 +-
.../mellanox/mlx5/core/diag/fw_tracer_tracepoint.h | 5 +-
.../mellanox/mlx5/core/esw/diag/qos_tracepoint.h | 8 +-
.../mlx5/core/sf/dev/diag/dev_tracepoint.h | 2 +-
.../mellanox/mlx5/core/sf/diag/sf_tracepoint.h | 14 +--
.../mellanox/mlx5/core/sf/diag/vhca_tracepoint.h | 2 +-
drivers/net/fjes/fjes_trace.h | 10 +-
drivers/net/hyperv/netvsc_trace.h | 8 +-
drivers/net/wireless/ath/ath10k/trace.h | 64 +++++------
drivers/net/wireless/ath/ath11k/trace.h | 44 ++++----
drivers/net/wireless/ath/ath12k/trace.h | 16 +--
drivers/net/wireless/ath/ath6kl/trace.h | 4 +-
drivers/net/wireless/ath/trace.h | 4 +-
.../broadcom/brcm80211/brcmfmac/tracepoint.h | 4 +-
.../brcm80211/brcmsmac/brcms_trace_brcmsmac.h | 2 +-
.../brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h | 2 +-
.../brcm80211/brcmsmac/brcms_trace_brcmsmac_tx.h | 6 +-
.../net/wireless/intel/iwlwifi/iwl-devtrace-msg.h | 2 +-
drivers/net/wireless/intel/iwlwifi/iwl-devtrace.h | 2 +-
drivers/soc/qcom/pmic_pdcharger_ulog.h | 2 +-
drivers/soc/qcom/trace-aoss.h | 4 +-
drivers/soc/qcom/trace-rpmh.h | 4 +-
drivers/thermal/thermal_trace.h | 10 +-
drivers/usb/cdns3/cdns3-trace.h | 26 ++---
drivers/usb/cdns3/cdnsp-trace.h | 10 +-
drivers/usb/chipidea/trace.h | 4 +-
drivers/usb/dwc3/trace.h | 8 +-
drivers/usb/gadget/udc/cdns2/cdns2-trace.h | 22 ++--
drivers/usb/gadget/udc/trace.h | 4 +-
drivers/usb/mtu3/mtu3_trace.h | 8 +-
drivers/usb/musb/musb_trace.h | 12 +--
fs/bcachefs/trace.h | 6 +-
fs/nfs/nfs4trace.h | 42 ++++----
fs/nfs/nfstrace.h | 41 ++++---
fs/nfsd/trace.h | 40 +++----
fs/ocfs2/ocfs2_trace.h | 60 +++++------
fs/smb/client/trace.h | 18 ++--
fs/xfs/scrub/trace.h | 10 +-
fs/xfs/xfs_trace.h | 28 ++---
include/ras/ras_event.h | 12 +--
include/trace/events/asoc.h | 22 ++--
include/trace/events/avc.h | 6 +-
include/trace/events/bridge.h | 16 +--
include/trace/events/btrfs.h | 6 +-
include/trace/events/cgroup.h | 10 +-
include/trace/events/clk.h | 18 ++--
include/trace/events/cma.h | 8 +-
include/trace/events/devfreq.h | 4 +-
include/trace/events/devlink.h | 50 ++++-----
include/trace/events/dma_fence.h | 4 +-
include/trace/events/erofs.h | 2 +-
include/trace/events/f2fs.h | 20 ++--
include/trace/events/habanalabs.h | 10 +-
include/trace/events/huge_memory.h | 4 +-
include/trace/events/hwmon.h | 6 +-
include/trace/events/initcall.h | 2 +-
include/trace/events/intel_ish.h | 2 +-
include/trace/events/io_uring.h | 14 +--
include/trace/events/iocost.h | 14 +--
include/trace/events/iommu.h | 8 +-
include/trace/events/irq.h | 2 +-
include/trace/events/iscsi.h | 2 +-
include/trace/events/kmem.h | 2 +-
include/trace/events/lock.h | 4 +-
include/trace/events/mmap_lock.h | 4 +-
include/trace/events/mmc.h | 4 +-
include/trace/events/module.h | 8 +-
include/trace/events/napi.h | 2 +-
include/trace/events/neigh.h | 6 +-
include/trace/events/net.h | 12 +--
include/trace/events/netlink.h | 2 +-
include/trace/events/oom.h | 2 +-
include/trace/events/osnoise.h | 2 +-
include/trace/events/power.h | 23 ++--
include/trace/events/pwc.h | 4 +-
include/trace/events/qdisc.h | 12 +--
include/trace/events/qla.h | 2 +-
include/trace/events/qrtr.h | 2 +-
include/trace/events/regulator.h | 6 +-
include/trace/events/rpcgss.h | 20 ++--
include/trace/events/rpcrdma.h | 52 ++++-----
include/trace/events/rpm.h | 6 +-
include/trace/events/sched.h | 8 +-
include/trace/events/sof.h | 12 +--
include/trace/events/sof_intel.h | 16 +--
include/trace/events/sunrpc.h | 118 ++++++++++-----------
include/trace/events/swiotlb.h | 2 +-
include/trace/events/target.h | 4 +-
include/trace/events/tegra_apb_dma.h | 6 +-
include/trace/events/ufs.h | 24 ++---
include/trace/events/workqueue.h | 2 +-
include/trace/events/xdp.h | 2 +-
include/trace/stages/stage6_event_callback.h | 4 +-
kernel/trace/bpf_trace.h | 2 +-
net/batman-adv/trace.h | 4 +-
net/dsa/trace.h | 34 +++---
net/ieee802154/trace.h | 2 +-
net/mac80211/trace.h | 2 +-
net/openvswitch/openvswitch_trace.h | 8 +-
net/smc/smc_tracepoint.h | 4 +-
net/tipc/trace.h | 16 +--
net/wireless/trace.h | 2 +-
samples/trace_events/trace-events-sample.h | 19 ++--
sound/core/pcm_trace.h | 2 +-
sound/hda/trace.h | 6 +-
sound/soc/intel/avs/trace.h | 4 +-
147 files changed, 794 insertions(+), 808 deletions(-)
---------------------------


2024-05-23 14:33:12

by Steven Rostedt

[permalink] [raw]
Subject: Re: [GIT PULL] tracing/treewide: Remove second parameter of __assign_str()

On Thu, 23 May 2024 10:32:04 -0400
Steven Rostedt <[email protected]> wrote:

> [
> I'm sending this now, near the end of the merge window. As it touches over
> 140 files and makes over 700 updates, adding it before -rc1 would help
> prevent conflicts. I did a diff between the commit I based this off of and
> linux-next and I don't see any new __assign_str()s added. I'm doing an
> allmodconfig build of this merged with linux-next just to make sure.

And just after hitting send, the allmodconfig build with this merged with
linux-next finished with success. :-)

-- Steve


2024-05-23 20:03:03

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] tracing/treewide: Remove second parameter of __assign_str()

The pull request you sent on Thu, 23 May 2024 10:32:04 -0400:

> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace-assign-str-v6.10

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/d6a326d694e77fd1d90ae40ad3c73a6af0eb1b8d

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html