public inbox for bpf@vger.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Larysa Zaremba <larysa.zaremba@intel.com>, bpf@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Larysa Zaremba <larysa.zaremba@intel.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Wei Fang <wei.fang@nxp.com>, Clark Wang <xiaoning.wang@nxp.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	Przemek Kitszel <przemyslaw.kitszel@intel.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Jesper Dangaard Brouer <hawk@kernel.org>,
	John Fastabend <john.fastabend@gmail.com>,
	Stanislav Fomichev <sdf@fomichev.me>,
	Andrii Nakryiko <andrii@kernel.org>,
	Martin KaFai Lau <martin.lau@linux.dev>,
	Eduard Zingerman <eddyz87@gmail.com>, Song Liu <song@kernel.org>,
	Yonghong Song <yonghong.song@linux.dev>,
	KP Singh <kpsingh@kernel.org>, Hao Luo <haoluo@google.com>,
	Jiri Olsa <jolsa@kernel.org>, Simon Horman <horms@kernel.org>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Alexander Lobakin <aleksander.lobakin@intel.com>,
	Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
	"Bastien Curutchet (eBPF Foundation)"
	<bastien.curutchet@bootlin.com>
Subject: Re: [Intel-wired-lan] [PATCH bpf v2 6/9] i40e: use xdp.frame_sz as XDP RxQ info frag_size
Date: Fri, 13 Feb 2026 14:12:21 +0800	[thread overview]
Message-ID: <202602131407.iwRQooFn-lkp@intel.com> (raw)
In-Reply-To: <20260212183328.1883148-8-larysa.zaremba@intel.com>

Hi Larysa,

kernel test robot noticed the following build errors:

[auto build test ERROR on bpf/master]

url:    https://github.com/intel-lab-lkp/linux/commits/Larysa-Zaremba/xdp-use-modulo-operation-to-calculate-XDP-frag-tailroom/20260213-030652
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master
patch link:    https://lore.kernel.org/r/20260212183328.1883148-8-larysa.zaremba%40intel.com
patch subject: [Intel-wired-lan] [PATCH bpf v2 6/9] i40e: use xdp.frame_sz as XDP RxQ info frag_size
config: i386-buildonly-randconfig-001-20260213 (https://download.01.org/0day-ci/archive/20260213/202602131407.iwRQooFn-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260213/202602131407.iwRQooFn-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/202602131407.iwRQooFn-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/net/ethernet/intel/i40e/i40e_main.c:3583:18: error: call to undeclared function 'xsk_pool_get_rx_frag_step'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    3583 |                 xdp_frame_sz = xsk_pool_get_rx_frag_step(ring->xsk_pool);
         |                                ^
   drivers/net/ethernet/intel/i40e/i40e_main.c:3583:18: note: did you mean 'xsk_pool_get_rx_frame_size'?
   include/net/xdp_sock_drv.h:340:19: note: 'xsk_pool_get_rx_frame_size' declared here
     340 | static inline u32 xsk_pool_get_rx_frame_size(struct xsk_buff_pool *pool)
         |                   ^
   1 error generated.


vim +/xsk_pool_get_rx_frag_step +3583 drivers/net/ethernet/intel/i40e/i40e_main.c

  3552	
  3553	/**
  3554	 * i40e_configure_rx_ring - Configure a receive ring context
  3555	 * @ring: The Rx ring to configure
  3556	 *
  3557	 * Configure the Rx descriptor ring in the HMC context.
  3558	 **/
  3559	static int i40e_configure_rx_ring(struct i40e_ring *ring)
  3560	{
  3561		struct i40e_vsi *vsi = ring->vsi;
  3562		u32 chain_len = vsi->back->hw.func_caps.rx_buf_chain_len;
  3563		u16 pf_q = vsi->base_queue + ring->queue_index;
  3564		struct i40e_hw *hw = &vsi->back->hw;
  3565		struct i40e_hmc_obj_rxq rx_ctx;
  3566		u32 xdp_frame_sz = 0;
  3567		int err = 0;
  3568		bool ok;
  3569	
  3570		bitmap_zero(ring->state, __I40E_RING_STATE_NBITS);
  3571	
  3572		/* clear the context structure first */
  3573		memset(&rx_ctx, 0, sizeof(rx_ctx));
  3574	
  3575		ring->rx_buf_len = vsi->rx_buf_len;
  3576	
  3577		/* XDP RX-queue info only needed for RX rings exposed to XDP */
  3578		if (ring->vsi->type != I40E_VSI_MAIN)
  3579			goto skip;
  3580	
  3581		ring->xsk_pool = i40e_xsk_pool(ring);
  3582		if (ring->xsk_pool) {
> 3583			xdp_frame_sz = xsk_pool_get_rx_frag_step(ring->xsk_pool);
  3584			ring->rx_buf_len = xsk_pool_get_rx_frame_size(ring->xsk_pool);
  3585			err = __xdp_rxq_info_reg(&ring->xdp_rxq, ring->netdev,
  3586						 ring->queue_index,
  3587						 ring->q_vector->napi.napi_id,
  3588						 xdp_frame_sz);
  3589			if (err)
  3590				return err;
  3591			err = xdp_rxq_info_reg_mem_model(&ring->xdp_rxq,
  3592							 MEM_TYPE_XSK_BUFF_POOL,
  3593							 NULL);
  3594			if (err)
  3595				goto unreg_xdp;
  3596			dev_info(&vsi->back->pdev->dev,
  3597				 "Registered XDP mem model MEM_TYPE_XSK_BUFF_POOL on Rx ring %d\n",
  3598				 ring->queue_index);
  3599	
  3600		} else {
  3601			xdp_frame_sz = i40e_rx_pg_size(ring) / 2;
  3602			err = __xdp_rxq_info_reg(&ring->xdp_rxq, ring->netdev,
  3603						 ring->queue_index,
  3604						 ring->q_vector->napi.napi_id,
  3605						 xdp_frame_sz);
  3606			if (err)
  3607				return err;
  3608			err = xdp_rxq_info_reg_mem_model(&ring->xdp_rxq,
  3609							 MEM_TYPE_PAGE_SHARED,
  3610							 NULL);
  3611			if (err)
  3612				goto unreg_xdp;
  3613		}
  3614	
  3615	skip:
  3616		xdp_init_buff(&ring->xdp, xdp_frame_sz, &ring->xdp_rxq);
  3617	
  3618		rx_ctx.dbuff = DIV_ROUND_UP(ring->rx_buf_len,
  3619					    BIT_ULL(I40E_RXQ_CTX_DBUFF_SHIFT));
  3620	
  3621		rx_ctx.base = (ring->dma / 128);
  3622		rx_ctx.qlen = ring->count;
  3623	
  3624		/* use 16 byte descriptors */
  3625		rx_ctx.dsize = 0;
  3626	
  3627		/* descriptor type is always zero
  3628		 * rx_ctx.dtype = 0;
  3629		 */
  3630		rx_ctx.hsplit_0 = 0;
  3631	
  3632		rx_ctx.rxmax = min_t(u16, vsi->max_frame, chain_len * ring->rx_buf_len);
  3633		if (hw->revision_id == 0)
  3634			rx_ctx.lrxqthresh = 0;
  3635		else
  3636			rx_ctx.lrxqthresh = 1;
  3637		rx_ctx.crcstrip = 1;
  3638		rx_ctx.l2tsel = 1;
  3639		/* this controls whether VLAN is stripped from inner headers */
  3640		rx_ctx.showiv = 0;
  3641		/* set the prefena field to 1 because the manual says to */
  3642		rx_ctx.prefena = 1;
  3643	
  3644		/* clear the context in the HMC */
  3645		err = i40e_clear_lan_rx_queue_context(hw, pf_q);
  3646		if (err) {
  3647			dev_info(&vsi->back->pdev->dev,
  3648				 "Failed to clear LAN Rx queue context on Rx ring %d (pf_q %d), error: %d\n",
  3649				 ring->queue_index, pf_q, err);
  3650			err = -ENOMEM;
  3651			goto unreg_xdp;
  3652		}
  3653	
  3654		/* set the context in the HMC */
  3655		err = i40e_set_lan_rx_queue_context(hw, pf_q, &rx_ctx);
  3656		if (err) {
  3657			dev_info(&vsi->back->pdev->dev,
  3658				 "Failed to set LAN Rx queue context on Rx ring %d (pf_q %d), error: %d\n",
  3659				 ring->queue_index, pf_q, err);
  3660			err = -ENOMEM;
  3661			goto unreg_xdp;
  3662		}
  3663	
  3664		/* configure Rx buffer alignment */
  3665		if (!vsi->netdev || test_bit(I40E_FLAG_LEGACY_RX_ENA, vsi->back->flags)) {
  3666			if (I40E_2K_TOO_SMALL_WITH_PADDING) {
  3667				dev_info(&vsi->back->pdev->dev,
  3668					 "2k Rx buffer is too small to fit standard MTU and skb_shared_info\n");
  3669				err = -EOPNOTSUPP;
  3670				goto unreg_xdp;
  3671			}
  3672			clear_ring_build_skb_enabled(ring);
  3673		} else {
  3674			set_ring_build_skb_enabled(ring);
  3675		}
  3676	
  3677		ring->rx_offset = i40e_rx_offset(ring);
  3678	
  3679		/* cache tail for quicker writes, and clear the reg before use */
  3680		ring->tail = hw->hw_addr + I40E_QRX_TAIL(pf_q);
  3681		writel(0, ring->tail);
  3682	
  3683		if (ring->xsk_pool) {
  3684			xsk_pool_set_rxq_info(ring->xsk_pool, &ring->xdp_rxq);
  3685			ok = i40e_alloc_rx_buffers_zc(ring, I40E_DESC_UNUSED(ring));
  3686		} else {
  3687			ok = !i40e_alloc_rx_buffers(ring, I40E_DESC_UNUSED(ring));
  3688		}
  3689		if (!ok) {
  3690			/* Log this in case the user has forgotten to give the kernel
  3691			 * any buffers, even later in the application.
  3692			 */
  3693			dev_info(&vsi->back->pdev->dev,
  3694				 "Failed to allocate some buffers on %sRx ring %d (pf_q %d)\n",
  3695				 ring->xsk_pool ? "AF_XDP ZC enabled " : "",
  3696				 ring->queue_index, pf_q);
  3697		}
  3698	
  3699		return 0;
  3700	unreg_xdp:
  3701		if (ring->vsi->type == I40E_VSI_MAIN)
  3702			xdp_rxq_info_unreg(&ring->xdp_rxq);
  3703	
  3704		return err;
  3705	}
  3706	

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

  parent reply	other threads:[~2026-02-13  6:13 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-12 18:33 [PATCH bpf v2 0/9] Address XDP frags having negative tailroom Larysa Zaremba
2026-02-12 18:33 ` [PATCH bpf v2 1/9] xdp: use modulo operation to calculate XDP frag tailroom Larysa Zaremba
2026-02-13 20:34   ` Jakub Kicinski
2026-02-12 18:33 ` [PATCH bpf v2 2/9] xsk: introduce helper to determine rxq->frag_size Larysa Zaremba
2026-02-12 18:33 ` [PATCH bpf v2 3/9] ice: fix rxq info registering in mbuf packets Larysa Zaremba
2026-02-12 19:31   ` bot+bpf-ci
2026-02-12 18:33 ` [PATCH bpf v2 4/9] ice: change XDP RxQ frag_size from DMA write length to xdp.frame_sz Larysa Zaremba
2026-02-13  3:57   ` Loktionov, Aleksandr
2026-02-13  8:41     ` Larysa Zaremba
2026-02-13  7:46   ` [Intel-wired-lan] " kernel test robot
2026-02-12 18:33 ` [PATCH bpf v2 5/9] i40e: fix registering XDP RxQ info Larysa Zaremba
2026-02-12 18:33 ` [PATCH bpf v2 6/9] i40e: use xdp.frame_sz as XDP RxQ info frag_size Larysa Zaremba
2026-02-13  4:04   ` Loktionov, Aleksandr
2026-02-13  8:58     ` Larysa Zaremba
2026-02-13  6:12   ` kernel test robot [this message]
2026-02-12 18:33 ` [PATCH bpf v2 7/9] idpf: use truesize " Larysa Zaremba
2026-02-16 10:46   ` Alexander Lobakin
2026-02-16 10:48     ` Alexander Lobakin
2026-02-16 14:01       ` Larysa Zaremba
2026-02-16 15:17         ` Alexander Lobakin
2026-02-12 18:33 ` [PATCH bpf v2 8/9] net: enetc: " Larysa Zaremba
2026-02-12 18:33 ` [PATCH bpf v2 9/9] xdp: produce a warning when calculated tailroom is negative Larysa Zaremba

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=202602131407.iwRQooFn-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=aleksander.lobakin@intel.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrii@kernel.org \
    --cc=anthony.l.nguyen@intel.com \
    --cc=ast@kernel.org \
    --cc=bastien.curutchet@bootlin.com \
    --cc=bpf@vger.kernel.org \
    --cc=claudiu.manoil@nxp.com \
    --cc=daniel@iogearbox.net \
    --cc=eddyz87@gmail.com \
    --cc=edumazet@google.com \
    --cc=haoluo@google.com \
    --cc=hawk@kernel.org \
    --cc=horms@kernel.org \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=larysa.zaremba@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=maciej.fijalkowski@intel.com \
    --cc=martin.lau@linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pabeni@redhat.com \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=sdf@fomichev.me \
    --cc=skhan@linuxfoundation.org \
    --cc=song@kernel.org \
    --cc=vladimir.oltean@nxp.com \
    --cc=wei.fang@nxp.com \
    --cc=xiaoning.wang@nxp.com \
    --cc=yonghong.song@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox