Re: [PATCH net-next v3 2/2] netcons: Add udp send fail statistics to netconsole

From: Breno Leitao
Date: Thu Sep 12 2024 - 13:49:41 EST


Hello Maksym,

Thanks for the patch, it is looking good. A few nits:

On Thu, Sep 12, 2024 at 10:28:52AM -0700, Maksym Kutsevol wrote:
> +/**
> + * netpoll_send_udp_count_errs - Wrapper for netpoll_send_udp that counts errors
> + * @nt: target to send message to
> + * @msg: message to send
> + * @len: length of message
> + *
> + * Calls netpoll_send_udp and classifies the return value. If an error
> + * occurred it increments statistics in nt->stats accordingly.
> + * Only calls netpoll_send_udp if CONFIG_NETCONSOLE_DYNAMIC is disabled.
> + */
> +static void netpoll_send_udp_count_errs(struct netconsole_target *nt, const char *msg, int len)
> +{
> + int result = netpoll_send_udp(&nt->np, msg, len);

Would you get a "variable defined but not used" type of eror if
CONFIG_NETCONSOLE_DYNAMIC is disabled?

> +
> + if (IS_ENABLED(CONFIG_NETCONSOLE_DYNAMIC)) {
> + if (result == NET_XMIT_DROP) {
> + u64_stats_update_begin(&nt->stats.syncp);
> + u64_stats_inc(&nt->stats.xmit_drop_count);
> + u64_stats_update_end(&nt->stats.syncp);
> + } else if (result == -ENOMEM) {
> + u64_stats_update_begin(&nt->stats.syncp);
> + u64_stats_inc(&nt->stats.enomem_count);
> + u64_stats_update_end(&nt->stats.syncp);
> + }
> + }

Would this look better?

if (IS_ENABLED(CONFIG_NETCONSOLE_DYNAMIC)) {
u64_stats_update_begin(&nt->stats.syncp);

if (result == NET_XMIT_DROP)
u64_stats_inc(&nt->stats.xmit_drop_count);
else if (result == -ENOMEM)
u64_stats_inc(&nt->stats.enomem_count);
else
WARN_ONCE(true, "invalid result: %d\n", result)

u64_stats_update_end(&nt->stats.syncp);
}

Thanks
--breno