From: Simon Horman <horms@kernel.org>
To: Breno Leitao <leitao@debian.org>
Cc: kuba@kernel.org, davem@davemloft.net, edumazet@google.com,
pabeni@redhat.com, thepacketgeek@gmail.com,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
davej@codemonkey.org.uk, thevlad@meta.com, max@kutsevol.com
Subject: Re: [PATCH net-next 2/9] net: netconsole: split send_ext_msg_udp() function
Date: Wed, 4 Sep 2024 11:55:45 +0100 [thread overview]
Message-ID: <20240904105545.GO4792@kernel.org> (raw)
In-Reply-To: <20240903140757.2802765-3-leitao@debian.org>
On Tue, Sep 03, 2024 at 07:07:45AM -0700, Breno Leitao wrote:
> The send_ext_msg_udp() function has become quite large, currently
> spanning 102 lines. Its complexity, along with extensive pointer and
> offset manipulation, makes it difficult to read and error-prone.
>
> The function has evolved over time, and it’s now due for a refactor.
>
> To improve readability and maintainability, isolate the case where no
> message fragmentation occurs into a separate function, into a new
> send_msg_no_fragmentation() function. This scenario covers about 95% of
> the messages.
>
> Signed-off-by: Breno Leitao <leitao@debian.org>
Thanks,
The nit below aside this looks good to me.
Reviewed-by: Simon Horman <horms@kernel.org>
> @@ -1090,23 +1116,8 @@ static void send_ext_msg_udp(struct netconsole_target *nt, const char *msg,
> release_len = strlen(release) + 1;
> }
>
> - if (msg_len + release_len + userdata_len <= MAX_PRINT_CHUNK) {
> - /* No fragmentation needed */
> - if (nt->release) {
> - scnprintf(buf, MAX_PRINT_CHUNK, "%s,%s", release, msg);
> - msg_len += release_len;
> - } else {
> - memcpy(buf, msg, msg_len);
> - }
> -
> - if (userdata)
> - msg_len += scnprintf(&buf[msg_len],
> - MAX_PRINT_CHUNK - msg_len,
> - "%s", userdata);
> -
> - netpoll_send_udp(&nt->np, buf, msg_len);
> - return;
> - }
> + if (msg_len + release_len + userdata_len <= MAX_PRINT_CHUNK)
> + return send_msg_no_fragmentation(nt, msg, userdata, msg_len, release_len);
nit: This appears to be fixed in the following patch,
but the above line could be wrapped here.
>
> /* need to insert extra header fields, detect header and body */
> header = msg;
> --
> 2.43.5
>
next prev parent reply other threads:[~2024-09-04 10:55 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-03 14:07 [PATCH net-next 0/9] netconsole refactoring and warning fix Breno Leitao
2024-09-03 14:07 ` [PATCH net-next 1/9] net: netconsole: remove msg_ready variable Breno Leitao
2024-09-04 10:56 ` Simon Horman
2024-09-03 14:07 ` [PATCH net-next 2/9] net: netconsole: split send_ext_msg_udp() function Breno Leitao
2024-09-04 10:55 ` Simon Horman [this message]
2024-09-03 14:07 ` [PATCH net-next 3/9] net: netconsole: separate fragmented message handling in send_ext_msg Breno Leitao
2024-09-04 10:59 ` Simon Horman
2024-09-06 8:33 ` Breno Leitao
2024-09-03 14:07 ` [PATCH net-next 4/9] net: netconsole: rename body to msg_body Breno Leitao
2024-09-04 11:02 ` Simon Horman
2024-09-03 14:07 ` [PATCH net-next 5/9] net: netconsole: introduce variable to track body length Breno Leitao
2024-09-04 11:04 ` Simon Horman
2024-09-03 14:07 ` [PATCH net-next 6/9] net: netconsole: track explicitly if msgbody was written to buffer Breno Leitao
2024-09-04 11:07 ` Simon Horman
2024-09-06 8:37 ` Breno Leitao
2024-09-03 14:07 ` [PATCH net-next 7/9] net: netconsole: extract release appending into separate function Breno Leitao
2024-09-04 11:08 ` Simon Horman
2024-09-03 14:07 ` [PATCH net-next 8/9] net: netconsole: split send_msg_fragmented Breno Leitao
2024-09-04 11:16 ` Simon Horman
2024-09-06 8:48 ` Breno Leitao
2024-09-03 14:07 ` [PATCH net-next 9/9] net: netconsole: Fix a wrong warning Breno Leitao
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=20240904105545.GO4792@kernel.org \
--to=horms@kernel.org \
--cc=davej@codemonkey.org.uk \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=leitao@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=max@kutsevol.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=thepacketgeek@gmail.com \
--cc=thevlad@meta.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.