Re: [PATCH net-next v2] net: replace ND_PRINTK with dynamic debug

Ido Schimmel <[email protected]> Fri, 4 Jul 2025 19:10:37 +0300
Newsgroups org.kernel.vger.linux-wpan,org.kernel.vger.linux-bluetooth,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <aGf8_dnXpnzCutA7@shredder>
On Tue, Jul 01, 2025 at 04:11:14PM +0800, Wang Liang wrote:
> ND_PRINTK with val > 1 only works when the ND_DEBUG was set in compilation
> phase. Replace it with dynamic debug. Convert ND_PRINTK with val <= 1 to
> net_{err,warn}_ratelimited, and convert the rest to net_dbg_ratelimited.

One small comment below

[...]

> @@ -751,9 +747,8 @@ static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb)
>  	probes -= NEIGH_VAR(neigh->parms, UCAST_PROBES);
>  	if (probes < 0) {
>  		if (!(READ_ONCE(neigh->nud_state) & NUD_VALID)) {
> -			ND_PRINTK(1, dbg,
> -				  "%s: trying to ucast probe in NUD_INVALID: %pI6\n",
> -				  __func__, target);
> +			net_warn_ratelimited("%s: trying to ucast probe in NUD_INVALID: %pI6\n",
> +					     __func__, target);

Without getting into a philosophical discussion about the appropriate
log level for this message, the purpose of this patch is to move
ND_PRINTK(val > 1, ...) to net_dbg_ratelimited(), but for some reason
this hunk promotes an existing net_dbg_ratelimited() to
net_warn_ratelimited(). Why not keep it as net_dbg_ratelimited()?

>  		}
>  		ndisc_send_ns(dev, target, target, saddr, 0);
>  	} else if ((probes -= NEIGH_VAR(neigh->parms, APP_PROBES)) < 0) {