Thread (11 messages) 11 messages, 8 authors, 2024-06-12

Re: [PATCH] tracing/treewide: Remove second parameter of __assign_str()

From: Guenter Roeck <linux@roeck-us.net>
Date: 2024-05-17 17:36:39
Also in: amd-gfx, ath11k, ath12k, bpf, dri-devel, intel-gfx, intel-xe, io-uring, kvm, linux-arm-msm, linux-bcachefs, linux-block, linux-btrfs, linux-cifs, linux-cxl, linux-edac, linux-f2fs-devel, linux-hwmon, linux-hyperv, linux-iommu, linux-media, linux-nfs, linux-pm, linux-rdma, linux-s390, linux-sound, linux-tegra, linux-trace-kernel, linux-usb, linux-wireless, linux-xfs, lkml, netdev, ocfs2-devel, selinux, virtualization

On Thu, May 16, 2024 at 01:34:54PM -0400, Steven Rostedt wrote:
From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

[
   This is a treewide change. I will likely re-create this patch again in
   the second week of the merge window of v6.10 and submit it then. Hoping
   to keep the conflicts that it will cause to a minimum.
]

With the rework of how the __string() handles dynamic strings where it
saves off the source string in field in the helper structure[1], the
assignment of that value to the trace event field is stored in the helper
value and does not need to be passed in again.

This means that with:

  __string(field, mystring)

Which use to be assigned with __assign_str(field, mystring), no longer
needs the second parameter and it is unused. With this, __assign_str()
will now only get a single parameter.

There's over 700 users of __assign_str() and because coccinelle does not
handle the TRACE_EVENT() macro I ended up using the following sed script:

  git grep -l __assign_str | while read a ; do
      sed -e 's/\(__assign_str([^,]*[^ ,]\) *,[^;]*/\1)/' $a > /tmp/test-file;
      mv /tmp/test-file $a;
  done

I then searched for __assign_str() that did not end with ';' as those
were multi line assignments that the sed script above would fail to catch.
Building csky:allmodconfig (and others) ... failed
--------------
Error log:
In file included from include/trace/trace_events.h:419,
                 from include/trace/define_trace.h:102,
                 from drivers/cxl/core/trace.h:737,
                 from drivers/cxl/core/trace.c:8:
drivers/cxl/core/./trace.h:383:1: error: macro "__assign_str" passed 2 arguments, but takes just 1

This is with the patch applied on top of v6.9-8410-gff2632d7d08e.
So far that seems to be the only build failure.
Introduced with commit 6aec00139d3a8 ("cxl/core: Add region info to
cxl_general_media and cxl_dram events"). Guess we'll see more of those
towards the end of the commit window.

Guenter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help