From: Steven Rostedt <rostedt@goodmis.org>
To: Zheao Li <me@manjusaka.me>
Cc: edumazet@google.com, bpf@vger.kernel.org, davem@davemloft.net,
dsahern@kernel.org, kuba@kernel.org,
linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
mhiramat@kernel.org, ncardwell@google.com,
netdev@vger.kernel.org, pabeni@redhat.com,
Joe Perches <joe@perches.com>
Subject: Re: [PATCH v3] tracepoint: add new `tcp:tcp_ca_event` trace event
Date: Sat, 12 Aug 2023 21:01:40 -0400 [thread overview]
Message-ID: <20230812210140.117da558@rorschach.local.home> (raw)
In-Reply-To: <20230812205905.016106c0@rorschach.local.home>
On Sat, 12 Aug 2023 20:59:05 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:
> On Sat, 12 Aug 2023 20:12:50 +0000
> Zheao Li <me@manjusaka.me> wrote:
>
> > +TRACE_EVENT(tcp_ca_event,
> > +
> > + TP_PROTO(struct sock *sk, const u8 ca_event),
> > +
> > + TP_ARGS(sk, ca_event),
> > +
> > + TP_STRUCT__entry(
> > + __field(const void *, skaddr)
> > + __field(__u16, sport)
> > + __field(__u16, dport)
> > + __field(__u16, family)
> > + __array(__u8, saddr, 4)
> > + __array(__u8, daddr, 4)
> > + __array(__u8, saddr_v6, 16)
> > + __array(__u8, daddr_v6, 16)
> > + __field(__u8, ca_event)
>
> Please DO NOT LISTEN TO CHECKPATCH!
>
> The above looks horrendous! Put it back to:
>
> > + __field( const void *, skaddr )
> > + __field( __u16, sport )
> > + __field( __u16, dport )
> > + __field( __u16, family )
> > + __array( __u8, saddr, 4 )
> > + __array( __u8, daddr, 4 )
> > + __array( __u8, saddr_v6, 16 )
> > + __array( __u8, daddr_v6, 16 )
> > + __field( __u8, ca_event )
>
> See how much better it looks I can see fields this way.
>
> The "checkpatch" way is a condensed mess.
>
The below patch makes checkpatch not complain about some of this. But
there's still more to do.
-- Steve
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 1e5e66ae5a52..24df11e8c861 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -73,6 +73,7 @@ my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANC
my $git_command ='export LANGUAGE=en_US.UTF-8; git';
my $tabsize = 8;
my ${CONFIG_} = "CONFIG_";
+my $trace_macros = "__array|__dynamic_array|__field|__string|EMe?";
sub help {
my ($exitcode) = @_;
@@ -5387,7 +5388,8 @@ sub process {
# check spacing on parentheses
if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ &&
- $line !~ /for\s*\(\s+;/) {
+ $line !~ /for\s*\(\s+;/ &&
+ $line !~ m/$trace_macros/) {
if (ERROR("SPACING",
"space prohibited after that open parenthesis '('\n" . $herecurr) &&
$fix) {
@@ -5397,7 +5399,8 @@ sub process {
}
if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ &&
$line !~ /for\s*\(.*;\s+\)/ &&
- $line !~ /:\s+\)/) {
+ $line !~ /:\s+\)/ &&
+ $line !~ m/$trace_macros/) {
if (ERROR("SPACING",
"space prohibited before that close parenthesis ')'\n" . $herecurr) &&
$fix) {
@@ -5906,6 +5909,7 @@ sub process {
$dstat !~ /^for\s*$Constant$/ && # for (...)
$dstat !~ /^for\s*$Constant\s+(?:$Ident|-?$Constant)$/ && # for (...) bar()
$dstat !~ /^do\s*{/ && # do {...
+ $dstat !~ /^EMe?\s*1u/ && # EM( and EMe( are commonly used with TRACE_DEFINE_ENUM
$dstat !~ /^\(\{/ && # ({...
$ctx !~ /^.\s*#\s*define\s+TRACE_(?:SYSTEM|INCLUDE_FILE|INCLUDE_PATH)\b/)
{
@@ -6017,7 +6021,8 @@ sub process {
WARN("DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON",
"do {} while (0) macros should not be semicolon terminated\n" . "$herectx");
}
- } elsif ($dstat =~ /^\+\s*#\s*define\s+$Ident.*;\s*$/) {
+ } elsif ($dstat =~ /^\+\s*#\s*define\s+$Ident.*;\s*$/ &&
+ $dstat !~ /TRACE_DEFINE_ENUM\(/) {
$ctx =~ s/\n*$//;
my $cnt = statement_rawlines($ctx);
my $herectx = get_stat_here($linenr, $cnt, $here);
next prev parent reply other threads:[~2023-08-13 1:01 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-07 18:33 [PATCH] tracepoint: add new `tcp:tcp_ca_event_set` trace event Manjusaka
2023-08-07 20:00 ` Neal Cardwell
2023-08-08 4:29 ` Manjusaka
2023-08-08 4:50 ` Manjusaka
2023-08-08 5:58 ` [PATCH v2] tracepoint: add new `tcp:tcp_ca_event` " Manjusaka
2023-08-08 8:26 ` Eric Dumazet
2023-08-08 8:46 ` Manjusaka
2023-08-08 8:48 ` Eric Dumazet
2023-08-12 20:12 ` [PATCH v3] " Zheao Li
2023-08-12 20:17 ` Manjusaka
2023-08-12 23:00 ` Steven Rostedt
2023-08-13 0:59 ` Steven Rostedt
2023-08-13 1:01 ` Steven Rostedt [this message]
2023-08-13 1:04 ` Steven Rostedt
2023-08-13 1:17 ` Joe Perches
2023-08-13 1:53 ` Steven Rostedt
2023-08-13 2:08 ` Joe Perches
2023-08-16 6:09 ` Manjusaka
2023-08-16 15:02 ` Steven Rostedt
2023-08-16 16:58 ` Manjusaka
2023-08-19 1:51 ` Jakub Kicinski
2023-08-19 3:10 ` Eric Dumazet
2023-08-19 8:15 ` Manjusaka
2023-08-08 20:21 ` [PATCH v2] " Jakub Kicinski
2023-08-09 16:55 ` Manjusaka
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=20230812210140.117da558@rorschach.local.home \
--to=rostedt@goodmis.org \
--cc=bpf@vger.kernel.org \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=joe@perches.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=me@manjusaka.me \
--cc=mhiramat@kernel.org \
--cc=ncardwell@google.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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;
as well as URLs for NNTP newsgroup(s).