All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Jesper Dangaard Brouer <hawk@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH net-next] veth: apply qdisc backpressure on full ptr_ring to reduce TX drops
Date: Sat, 5 Apr 2025 21:26:44 +0800	[thread overview]
Message-ID: <202504052142.TGI9fCwf-lkp@intel.com> (raw)
In-Reply-To: <174377814192.3376479.16481605648460889310.stgit@firesoul>

Hi Jesper,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on net-next/main]

url:    https://github.com/intel-lab-lkp/linux/commits/Jesper-Dangaard-Brouer/veth-apply-qdisc-backpressure-on-full-ptr_ring-to-reduce-TX-drops/20250404-225209
base:   net-next/main
patch link:    https://lore.kernel.org/r/174377814192.3376479.16481605648460889310.stgit%40firesoul
patch subject: [RFC PATCH net-next] veth: apply qdisc backpressure on full ptr_ring to reduce TX drops
config: arm64-randconfig-002-20250405 (https://download.01.org/0day-ci/archive/20250405/202504052142.TGI9fCwf-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250405/202504052142.TGI9fCwf-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504052142.TGI9fCwf-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/net/veth.c: In function 'veth_xmit':
>> drivers/net/veth.c:399:3: error: a label can only be part of a statement and a declaration is not a statement
      struct netdev_queue *txq = netdev_get_tx_queue(dev, rxq);
      ^~~~~~


vim +399 drivers/net/veth.c

   355	
   356	static netdev_tx_t veth_xmit(struct sk_buff *skb, struct net_device *dev)
   357	{
   358		struct veth_priv *rcv_priv, *priv = netdev_priv(dev);
   359		struct veth_rq *rq = NULL;
   360		struct net_device *rcv;
   361		int length = skb->len;
   362		bool use_napi = false;
   363		int ret, rxq;
   364	
   365		rcu_read_lock();
   366		rcv = rcu_dereference(priv->peer);
   367		if (unlikely(!rcv) || !pskb_may_pull(skb, ETH_HLEN)) {
   368			kfree_skb(skb);
   369			goto drop;
   370		}
   371	
   372		rcv_priv = netdev_priv(rcv);
   373		rxq = skb_get_queue_mapping(skb);
   374		if (rxq < rcv->real_num_rx_queues) {
   375			rq = &rcv_priv->rq[rxq];
   376	
   377			/* The napi pointer is available when an XDP program is
   378			 * attached or when GRO is enabled
   379			 * Don't bother with napi/GRO if the skb can't be aggregated
   380			 */
   381			use_napi = rcu_access_pointer(rq->napi) &&
   382				   veth_skb_is_eligible_for_gro(dev, rcv, skb);
   383		}
   384	
   385		skb_tx_timestamp(skb);
   386	
   387		ret = veth_forward_skb(rcv, skb, rq, use_napi);
   388		switch(ret) {
   389		case NET_RX_SUCCESS: /* same as NETDEV_TX_OK */
   390			if (!use_napi)
   391				dev_sw_netstats_tx_add(dev, 1, length);
   392			else
   393				__veth_xdp_flush(rq);
   394			break;
   395		case NETDEV_TX_BUSY:
   396			/* If a qdisc is attached to our virtual device, returning
   397			 * NETDEV_TX_BUSY is allowed.
   398			 */
 > 399			struct netdev_queue *txq = netdev_get_tx_queue(dev, rxq);
   400	
   401			if (!txq_has_qdisc(txq)) {
   402				dev_kfree_skb_any(skb);
   403				goto drop;
   404			}
   405			netif_tx_stop_queue(txq); /* Unconditional netif_txq_try_stop */
   406			if (use_napi)
   407				__veth_xdp_flush(rq);
   408	
   409			break;
   410		case NET_RX_DROP: /* same as NET_XMIT_DROP */
   411	drop:
   412			atomic64_inc(&priv->dropped);
   413			ret = NET_XMIT_DROP;
   414			break;
   415		default:
   416			net_crit_ratelimited("veth_xmit(%s): Invalid return code(%d)",
   417					     dev->name, ret);
   418		}
   419		rcu_read_unlock();
   420	
   421		return ret;
   422	}
   423	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  parent reply	other threads:[~2025-04-05 13:27 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-04 14:49 [RFC PATCH net-next] veth: apply qdisc backpressure on full ptr_ring to reduce TX drops Jesper Dangaard Brouer
2025-04-04 19:51 ` Jesper Dangaard Brouer
2025-04-05 13:26 ` kernel test robot [this message]
2025-04-05 13:58 ` kernel test robot
2025-04-07  9:15 ` Toke Høiland-Jørgensen
2025-04-07 12:42   ` Jesper Dangaard Brouer
2025-04-07 23:02   ` David Ahern
2025-04-08 11:23     ` Toke Høiland-Jørgensen
2025-04-08 15:20       ` David Ahern
2025-04-07 17:02 ` Simon Horman

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=202504052142.TGI9fCwf-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=hawk@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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.