[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240223114453.335809-1-tobias@waldekranz.com>
Date: Fri, 23 Feb 2024 12:44:49 +0100
From: Tobias Waldekranz <tobias@...dekranz.com>
To: davem@...emloft.net,
kuba@...nel.org
Cc: roopa@...dia.com,
razor@...ckwall.org,
bridge@...ts.linux.dev,
netdev@...r.kernel.org,
jiri@...nulli.us,
ivecera@...hat.com,
rostedt@...dmis.org,
mhiramat@...nel.org,
linux-trace-kernel@...r.kernel.org
Subject: [PATCH v3 net-next 0/4] net: switchdev: Tracepoints
Add a basic set of tracepoints to the switchdev layer that allows us
to monitor all messages being passed between a bridge and the devices
attached to it.
Deferred operations are additionally traced at the time they are
enqueued. This is useful in situations where we want to inspect the
conditions that lead to that message being generated, by looking at a
stacktrace for example.
Start off (1-2/4) by creating stringifiers for common switchdev
objects. This will primarily be used by the tracepoints for decoding
switchdev notifications, but drivers could also make use of them to
provide richer debug/error messages.
Then (3/4) create a common function through which all replay calls
pass, to create a natural point of instrumentation, before adding the
tracepoints themselves (4/4).
v2 -> v3:
Take a more conservative approach to the refactoring of
switchdev.c. In the end, I don't know that my previous attempt really
improved the situation much.
v1 -> v2:
- Fixup kernel-doc comment for switchdev_call_replay
Tobias Waldekranz (4):
net: switchdev: Wrap enums in mapper macros
net: switchdev: Add helpers to display switchdev objects as strings
net: switchdev: Relay all replay messages through a central function
net: switchdev: Add tracepoints
include/net/switchdev.h | 130 ++++++++++-----
include/trace/events/switchdev.h | 74 ++++++++
net/bridge/br_switchdev.c | 10 +-
net/switchdev/Makefile | 2 +-
net/switchdev/switchdev-str.c | 278 +++++++++++++++++++++++++++++++
net/switchdev/switchdev.c | 87 +++++++++-
6 files changed, 521 insertions(+), 60 deletions(-)
create mode 100644 include/trace/events/switchdev.h
create mode 100644 net/switchdev/switchdev-str.c
--
2.34.1
Powered by blists - more mailing lists