Re: [PATCH 3/5] iommu/vt-d: Remove unused dma map/unmap trace events

Will Deacon
2021-01-07T14:41:37Z

On Wed, Jan 06, 2021 at 09:14:22AM +0800, Lu Baolu wrote:
> On 2021/1/6 3:04, Will Deacon wrote:
> > On Thu, Dec 31, 2020 at 08:53:21AM +0800, Lu Baolu wrote:
> > > With commit c588072bba6b5 ("iommu/vt-d: Convert intel iommu driver to
> > > the iommu ops"), the trace events for dma map/unmap have no users any
> > > more. Remove them so that they don't show up under
> > > /sys/kernel/debug/tracing/events/intel_iommu. The users should use the
> > > map/unmap traces defined in the iommu core from now on.
> > >
> > > Fixes: c588072bba6b5 ("iommu/vt-d: Convert intel iommu driver to the iommu ops")
> > > Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
> > > ---
> > > include/trace/events/intel_iommu.h | 119 -----------------------------
> > > 1 file changed, 119 deletions(-)
> >
> > Is this needed in 5.11, or can it wait until 5.12?
>
> It's necessary for 5.11 as far as I can see. Without this, users still
> see the events under /sys/kernel/debug/tracing/events/intel_iommu, but
> they will get nothing traced even they enable the events.

I'm just a bit wary about breaking userspace by removing them altogether,
although I see that there's plenty of precedent for removing events from
the include/trace/events directory, so it's probably fine.

However, the patch as-is results in this warning for me:

| In file included from include/trace/define_trace.h:102,
| from include/trace/events/intel_iommu.h:22,
| from drivers/iommu/intel/trace.c:14:
| include/trace/trace_events.h:27:23: warning: ‘str__intel_iommu__trace_system_name’ defined but not used [-Wunused-const-variable=]
| 27 | #define __app__(x, y) str__##x##y
| | ^~~~~
| include/trace/trace_events.h:28:21: note: in expansion of macro ‘__app__’
| 28 | #define __app(x, y) __app__(x, y)
| | ^~~~~~~
| include/trace/trace_events.h:30:29: note: in expansion of macro ‘__app’
| 30 | #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
| | ^~~~~
| include/trace/trace_events.h:33:20: note: in expansion of macro ‘TRACE_SYSTEM_STRING’
| 33 | static const char TRACE_SYSTEM_STRING[] = \
| | ^~~~~~~~~~~~~~~~~~~
| include/trace/trace_events.h:36:1: note: in expansion of macro ‘TRACE_MAKE_SYSTEM_STR’
| 36 | TRACE_MAKE_SYSTEM_STR();
| | ^~~~~~~~~~~~~~~~~~~~~

so I'll drop this for now.

Will