From: Johannes Berg <johannes@sipsolutions.net>
To: linux-kernel@vger.kernel.org
Cc: linux-trace-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-wireless@vger.kernel.org
Subject: [PATCH v4 0/4] tracing: improve symbolic printing
Date: Fri, 7 Jun 2024 18:04:22 +0200 [thread overview]
Message-ID: <20240607160527.23624-6-johannes@sipsolutions.net> (raw)
Before I forget again ...
v2 was:
- rebased on 6.9-rc1
- always search for __print_sym() and get rid of the DYNPRINT flag
and associated code; I think ideally we'll just remove the older
__print_symbolic() entirely
- use ':' as the separator instead of "//" since that makes searching
for it much easier and it's still not a valid char in an identifier
- fix RCU
v3:
- fix #undef issues
- fix drop_monitor default
- rebase on linux-trace/for-next (there were no conflicts)
- move net patches to 3/4
- clarify symbol name matching logic (and remove ")" from it)
v4:
- fix non-module build and possibly dynamic event handling
To recap, it's annoying to have
irq/65-iwlwifi:-401 [000] 22.790000: kfree_skb: ... reason: 0x20000
and much nicer to see
irq/65-iwlwifi:-401 [000] 22.790000: kfree_skb: ... reason: RX_DROP_MONITOR
but this doesn't work now because __print_symbolic() can only
deal with a hard-coded list (which is actually really big.)
So here's __print_sym() which doesn't build the list into the
kernel image, but creates it at runtime. For userspace, it
will look the same as __print_symbolic() (it literally shows
__print_symbolic() to userspace) so no changes are needed,
but the actual list of values exposed to userspace in there
is built dynamically. For SKB drop reasons, this then has all
the reasons known when userspace queries the trace format.
I guess patch 3/4 should go through net-next, so not sure
how to handle this patch series. Or perhaps, as this will not
cause conflicts, in fact I've been rebasing it for a long time,
go through tracing anyway with an Ack from netdev? But I can
also just wait for the trace patch(es) to land and resubmit the
net patches after. Assuming this looks good at all :-)
Thanks,
johannes
next reply other threads:[~2024-06-07 16:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-07 16:04 Johannes Berg [this message]
2024-06-07 16:04 ` [PATCH v4 1/4] tracing: add __print_sym() to replace __print_symbolic() Johannes Berg
2024-06-08 4:23 ` kernel test robot
2024-06-07 16:04 ` [PATCH v4 2/4] tracing/timer: use __print_sym() Johannes Berg
2024-06-07 16:04 ` [PATCH v4 3/4] net: dropreason: use new __print_sym() in tracing Johannes Berg
2024-06-07 16:04 ` [PATCH v4 4/4] net: drop_monitor: use drop_reason_lookup() Johannes Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240607160527.23624-6-johannes@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox