All of lore.kernel.org
 help / color / mirror / Atom feed
From: Byungchul Park <byungchul@sk.com>
To: kernel test robot <lkp@intel.com>
Cc: willy@infradead.org, netdev@vger.kernel.org,
	oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, kernel_team@skhynix.com,
	almasrymina@google.com, ilias.apalodimas@linaro.org,
	harry.yoo@oracle.com, akpm@linux-foundation.org,
	andrew+netdev@lunn.ch, asml.silence@gmail.com, toke@redhat.com,
	david@redhat.com, Liam.Howlett@oracle.com, vbabka@suse.cz,
	rppt@kernel.org, surenb@google.com, mhocko@suse.com,
	linux-rdma@vger.kernel.org, bpf@vger.kernel.org,
	vishal.moola@gmail.com, hannes@cmpxchg.org, ziy@nvidia.com,
	jackmanb@google.com, wei.fang@nxp.com, shenwei.wang@nxp.com,
	xiaoning.wang@nxp.com, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org
Subject: Re: [Intel-wired-lan] [PATCH net-next v11 12/12] libeth: xdp: access ->pp through netmem_desc instead of page
Date: Fri, 18 Jul 2025 09:43:46 +0900	[thread overview]
Message-ID: <20250718004346.GA38833@system.software.com> (raw)
In-Reply-To: <202507180111.jygqJHzk-lkp@intel.com>

On Fri, Jul 18, 2025 at 01:42:38AM +0800, kernel test robot wrote:
> Hi Byungchul,
> 
> kernel test robot noticed the following build warnings:
> 
> [auto build test WARNING on c65d34296b2252897e37835d6007bbd01b255742]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Byungchul-Park/netmem-introduce-struct-netmem_desc-mirroring-struct-page/20250717-150253
> base:   c65d34296b2252897e37835d6007bbd01b255742
> patch link:    https://lore.kernel.org/r/20250717070052.6358-13-byungchul%40sk.com
> patch subject: [Intel-wired-lan] [PATCH net-next v11 12/12] libeth: xdp: access ->pp through netmem_desc instead of page
> config: arm-randconfig-r072-20250717 (https://download.01.org/0day-ci/archive/20250718/202507180111.jygqJHzk-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250718/202507180111.jygqJHzk-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/202507180111.jygqJHzk-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from include/linux/container_of.h:5,
>                     from include/linux/list.h:5,
>                     from include/linux/timer.h:5,
>                     from include/linux/netdevice.h:24,
>                     from include/trace/events/xdp.h:8,
>                     from include/linux/bpf_trace.h:5,
>                     from include/net/libeth/xdp.h:7,
>                     from drivers/net/ethernet/intel/libeth/tx.c:6:
>    include/net/libeth/xdp.h: In function 'libeth_xdp_prepare_buff':
> >> include/net/libeth/xdp.h:1295:23: warning: passing argument 1 of 'page_pool_page_is_pp' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
>         pp_page_to_nmdesc(page)->pp->p.offset, len, true);
>                           ^~~~
>    include/linux/build_bug.h:30:63: note: in definition of macro 'BUILD_BUG_ON_INVALID'
>     #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
>                                                                   ^
>    include/net/netmem.h:301:2: note: in expansion of macro 'DEBUG_NET_WARN_ON_ONCE'
>      DEBUG_NET_WARN_ON_ONCE(!page_pool_page_is_pp(p));  \
>      ^~~~~~~~~~~~~~~~~~~~~~
>    include/net/libeth/xdp.h:1295:5: note: in expansion of macro 'pp_page_to_nmdesc'
>         pp_page_to_nmdesc(page)->pp->p.offset, len, true);
>         ^~~~~~~~~~~~~~~~~
>    In file included from arch/arm/include/asm/cacheflush.h:10,
>                     from include/linux/cacheflush.h:5,
>                     from include/linux/highmem.h:8,
>                     from include/linux/bvec.h:10,
>                     from include/linux/skbuff.h:17,
>                     from include/net/net_namespace.h:43,
>                     from include/linux/netdevice.h:38,
>                     from include/trace/events/xdp.h:8,
>                     from include/linux/bpf_trace.h:5,
>                     from include/net/libeth/xdp.h:7,
>                     from drivers/net/ethernet/intel/libeth/tx.c:6:
>    include/linux/mm.h:4176:54: note: expected 'struct page *' but argument is of type 'const struct page *'
>     static inline bool page_pool_page_is_pp(struct page *page)
>                                             ~~~~~~~~~~~~~^~~~

Oh.  page_pool_page_is_pp() in the mainline code already has this issue
that the helper cannot take const struct page * as argument.

How should we resolve the issue?  Changing page_pool_page_is_pp() to
macro and using _Generic again looks too much.  Or should we?  Any idea?

	Byungchul

> vim +1295 include/net/libeth/xdp.h
> 
>   1263
>   1264  bool libeth_xdp_buff_add_frag(struct libeth_xdp_buff *xdp,
>   1265                                const struct libeth_fqe *fqe,
>   1266                                u32 len);
>   1267
>   1268  /**
>   1269   * libeth_xdp_prepare_buff - fill &libeth_xdp_buff with head FQE data
>   1270   * @xdp: XDP buffer to attach the head to
>   1271   * @fqe: FQE containing the head buffer
>   1272   * @len: buffer len passed from HW
>   1273   *
>   1274   * Internal, use libeth_xdp_process_buff() instead. Initializes XDP buffer
>   1275   * head with the Rx buffer data: data pointer, length, headroom, and
>   1276   * truesize/tailroom. Zeroes the flags.
>   1277   * Uses faster single u64 write instead of per-field access.
>   1278   */
>   1279  static inline void libeth_xdp_prepare_buff(struct libeth_xdp_buff *xdp,
>   1280                                             const struct libeth_fqe *fqe,
>   1281                                             u32 len)
>   1282  {
>   1283          const struct page *page = __netmem_to_page(fqe->netmem);
>   1284
>   1285  #ifdef __LIBETH_WORD_ACCESS
>   1286          static_assert(offsetofend(typeof(xdp->base), flags) -
>   1287                        offsetof(typeof(xdp->base), frame_sz) ==
>   1288                        sizeof(u64));
>   1289
>   1290          *(u64 *)&xdp->base.frame_sz = fqe->truesize;
>   1291  #else
>   1292          xdp_init_buff(&xdp->base, fqe->truesize, xdp->base.rxq);
>   1293  #endif
>   1294          xdp_prepare_buff(&xdp->base, page_address(page) + fqe->offset,
> > 1295                           pp_page_to_nmdesc(page)->pp->p.offset, len, true);
>   1296  }
>   1297
> 
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2025-07-18  0:43 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-17  7:00 [PATCH net-next v11 00/12] Split netmem from struct page Byungchul Park
2025-07-17  7:00 ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 01/12] netmem: introduce struct netmem_desc mirroring " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 02/12] netmem: use netmem_desc instead of page to access ->pp in __netmem_get_pp() Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 03/12] netmem, mlx4: access ->pp_ref_count through netmem_desc instead of page Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 04/12] netdevsim: access ->pp " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 05/12] mt76: " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 06/12] net: fec: " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 07/12] octeontx2-pf: " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 08/12] iavf: " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 09/12] idpf: " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 10/12] mlx5: " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 11/12] net: ti: icssg-prueth: " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17  7:00 ` [PATCH net-next v11 12/12] libeth: xdp: " Byungchul Park
2025-07-17  7:00   ` [Intel-wired-lan] " Byungchul Park
2025-07-17 17:42   ` kernel test robot
2025-07-18  0:43     ` Byungchul Park [this message]
2025-07-18  1:14       ` Byungchul Park
2025-07-18  9:18         ` Pavel Begunkov
2025-07-18  9:32           ` Pavel Begunkov
2025-07-21  1:03             ` Byungchul Park

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=20250718004346.GA38833@system.software.com \
    --to=byungchul@sk.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=almasrymina@google.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=asml.silence@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=davem@davemloft.net \
    --cc=david@redhat.com \
    --cc=edumazet@google.com \
    --cc=hannes@cmpxchg.org \
    --cc=harry.yoo@oracle.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jackmanb@google.com \
    --cc=kernel_team@skhynix.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=mhocko@suse.com \
    --cc=netdev@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=rppt@kernel.org \
    --cc=shenwei.wang@nxp.com \
    --cc=surenb@google.com \
    --cc=toke@redhat.com \
    --cc=vbabka@suse.cz \
    --cc=vishal.moola@gmail.com \
    --cc=wei.fang@nxp.com \
    --cc=willy@infradead.org \
    --cc=xiaoning.wang@nxp.com \
    --cc=ziy@nvidia.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.