All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Lobakin <alexandr.lobakin@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH net-next 13/19] iecm: implement splitq napi_poll
Date: Fri, 28 Jan 2022 18:44:01 +0100	[thread overview]
Message-ID: <20220128174401.28054-1-alexandr.lobakin@intel.com> (raw)
In-Reply-To: <202201281316.ZdiaZw6q-lkp@intel.com>

From: kernel test robot <lkp@intel.com>
Date: Fri, 28 Jan 2022 13:21:42 +0800

> Hi Alan,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on net-next/master]
> 
> url:    https://github.com/0day-ci/linux/commits/Alan-Brady/Add-iecm-and-idpf/20220128-085513
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git e2cf07654efb0fd7bbcb475c6f74be7b5755a8fd
> config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220128/202201281316.ZdiaZw6q-lkp at intel.com/config)
> compiler: arceb-elf-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://github.com/0day-ci/linux/commit/8e9b2451747f81363327cf5a4e07aaf88af52397
>         git remote add linux-review https://github.com/0day-ci/linux
>         git fetch --no-tags linux-review Alan-Brady/Add-iecm-and-idpf/20220128-085513
>         git checkout 8e9b2451747f81363327cf5a4e07aaf88af52397
>         # save the config file to linux build tree
>         mkdir build_dir
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All errors (new ones prefixed by >>):
> 
>    drivers/net/ethernet/intel/iecm/iecm_txrx.c: In function 'iecm_rx_can_reuse_page':
> >> drivers/net/ethernet/intel/iecm/iecm_txrx.c:3132:19: error: 'struct iecm_rx_buf' has no member named 'page_offset'
>     3132 |         if (rx_buf->page_offset > last_offset)
>          |                   ^~

So these series wasn't even compile-tested properly.
x86 has only 4k pages, but lots of other architectures have much
more. If ARC is not relevant enough to MEV, then I say that
ARM64 has 4-64 Kb pages, and PowerPC64 has up to 256 Kb.

> 
> 
> vim +3132 drivers/net/ethernet/intel/iecm/iecm_txrx.c
> 
>   3103	
>   3104	/**
>   3105	 * iecm_rx_can_reuse_page - Determine if page can be reused for another rx
>   3106	 * @rx_buf: buffer containing the page
>   3107	 *
>   3108	 * If page is reusable, we have a green light for calling iecm_reuse_rx_page,
>   3109	 * which will assign the current buffer to the buffer that next_to_alloc is
>   3110	 * pointing to; otherwise, the dma mapping needs to be destroyed and
>   3111	 * page freed
>   3112	 */
>   3113	bool iecm_rx_can_reuse_page(struct iecm_rx_buf *rx_buf)
>   3114	{
>   3115		struct iecm_page_info *page_info = &rx_buf->page_info[rx_buf->page_indx];
>   3116	
>   3117	#if (PAGE_SIZE >= 8192)
>   3118		unsigned int last_offset = PAGE_SIZE - rx_buf->buf_size;
>   3119	#endif /* PAGE_SIZE < 8192) */
>   3120		unsigned int pagecnt_bias = page_info->pagecnt_bias;
>   3121		struct page *page = page_info->page;
>   3122	
>   3123		/* avoid re-using remote pages */
>   3124		if (unlikely(iecm_rx_page_is_reserved(page)))
>   3125			return false;
>   3126	
>   3127	#if (PAGE_SIZE < 8192)
>   3128		/* if we are only owner of page we can reuse it */
>   3129		if (unlikely((page_count(page) - pagecnt_bias) > 1))
>   3130			return false;
>   3131	#else
> > 3132		if (rx_buf->page_offset > last_offset)
>   3133			return false;
>   3134	#endif /* PAGE_SIZE < 8192) */
>   3135	
>   3136		/* If we have drained the page fragment pool we need to update
>   3137		 * the pagecnt_bias and page count so that we fully restock the
>   3138		 * number of references the driver holds.
>   3139		 */
>   3140		if (unlikely(pagecnt_bias == 1)) {
>   3141			page_ref_add(page, USHRT_MAX - 1);
>   3142			page_info->pagecnt_bias = USHRT_MAX;
>   3143		}
>   3144	
>   3145		return true;
>   3146	}
>   3147	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all at lists.01.org

Al

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Lobakin <alexandr.lobakin@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [Intel-wired-lan] [PATCH net-next 13/19] iecm: implement splitq napi_poll
Date: Fri, 28 Jan 2022 18:44:01 +0100	[thread overview]
Message-ID: <20220128174401.28054-1-alexandr.lobakin@intel.com> (raw)
In-Reply-To: <202201281316.ZdiaZw6q-lkp@intel.com>

[-- Attachment #1: Type: text/plain, Size: 4000 bytes --]

From: kernel test robot <lkp@intel.com>
Date: Fri, 28 Jan 2022 13:21:42 +0800

> Hi Alan,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on net-next/master]
> 
> url:    https://github.com/0day-ci/linux/commits/Alan-Brady/Add-iecm-and-idpf/20220128-085513
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git e2cf07654efb0fd7bbcb475c6f74be7b5755a8fd
> config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220128/202201281316.ZdiaZw6q-lkp(a)intel.com/config)
> compiler: arceb-elf-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://github.com/0day-ci/linux/commit/8e9b2451747f81363327cf5a4e07aaf88af52397
>         git remote add linux-review https://github.com/0day-ci/linux
>         git fetch --no-tags linux-review Alan-Brady/Add-iecm-and-idpf/20220128-085513
>         git checkout 8e9b2451747f81363327cf5a4e07aaf88af52397
>         # save the config file to linux build tree
>         mkdir build_dir
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All errors (new ones prefixed by >>):
> 
>    drivers/net/ethernet/intel/iecm/iecm_txrx.c: In function 'iecm_rx_can_reuse_page':
> >> drivers/net/ethernet/intel/iecm/iecm_txrx.c:3132:19: error: 'struct iecm_rx_buf' has no member named 'page_offset'
>     3132 |         if (rx_buf->page_offset > last_offset)
>          |                   ^~

So these series wasn't even compile-tested properly.
x86 has only 4k pages, but lots of other architectures have much
more. If ARC is not relevant enough to MEV, then I say that
ARM64 has 4-64 Kb pages, and PowerPC64 has up to 256 Kb.

> 
> 
> vim +3132 drivers/net/ethernet/intel/iecm/iecm_txrx.c
> 
>   3103	
>   3104	/**
>   3105	 * iecm_rx_can_reuse_page - Determine if page can be reused for another rx
>   3106	 * @rx_buf: buffer containing the page
>   3107	 *
>   3108	 * If page is reusable, we have a green light for calling iecm_reuse_rx_page,
>   3109	 * which will assign the current buffer to the buffer that next_to_alloc is
>   3110	 * pointing to; otherwise, the dma mapping needs to be destroyed and
>   3111	 * page freed
>   3112	 */
>   3113	bool iecm_rx_can_reuse_page(struct iecm_rx_buf *rx_buf)
>   3114	{
>   3115		struct iecm_page_info *page_info = &rx_buf->page_info[rx_buf->page_indx];
>   3116	
>   3117	#if (PAGE_SIZE >= 8192)
>   3118		unsigned int last_offset = PAGE_SIZE - rx_buf->buf_size;
>   3119	#endif /* PAGE_SIZE < 8192) */
>   3120		unsigned int pagecnt_bias = page_info->pagecnt_bias;
>   3121		struct page *page = page_info->page;
>   3122	
>   3123		/* avoid re-using remote pages */
>   3124		if (unlikely(iecm_rx_page_is_reserved(page)))
>   3125			return false;
>   3126	
>   3127	#if (PAGE_SIZE < 8192)
>   3128		/* if we are only owner of page we can reuse it */
>   3129		if (unlikely((page_count(page) - pagecnt_bias) > 1))
>   3130			return false;
>   3131	#else
> > 3132		if (rx_buf->page_offset > last_offset)
>   3133			return false;
>   3134	#endif /* PAGE_SIZE < 8192) */
>   3135	
>   3136		/* If we have drained the page fragment pool we need to update
>   3137		 * the pagecnt_bias and page count so that we fully restock the
>   3138		 * number of references the driver holds.
>   3139		 */
>   3140		if (unlikely(pagecnt_bias == 1)) {
>   3141			page_ref_add(page, USHRT_MAX - 1);
>   3142			page_info->pagecnt_bias = USHRT_MAX;
>   3143		}
>   3144	
>   3145		return true;
>   3146	}
>   3147	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

Al

  reply	other threads:[~2022-01-28 17:44 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-28  0:09 [Intel-wired-lan] [PATCH net-next 00/19] Add iecm and idpf Alan Brady
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 01/19] virtchnl: Add new virtchnl2 ops Alan Brady
2022-02-02 22:13   ` Brady, Alan
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 02/19] iecm: add basic module init and documentation Alan Brady
2022-01-28 11:56   ` Alexander Lobakin
2022-02-02 22:15     ` Brady, Alan
2022-02-01 19:44   ` Shannon Nelson
2022-02-03  3:08     ` Brady, Alan
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 03/19] iecm: add probe and remove Alan Brady
2022-02-01 20:02   ` Shannon Nelson
2022-02-03  3:13     ` Brady, Alan
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 04/19] iecm: add api_init and controlq init Alan Brady
2022-01-28 12:09   ` Alexander Lobakin
2022-02-02 22:16     ` Brady, Alan
2022-02-01 21:26   ` Shannon Nelson
2022-02-03  3:24     ` Brady, Alan
2022-02-03  3:40       ` Brady, Alan
2022-02-03  5:26         ` Shannon Nelson
2022-02-03 13:13       ` Alexander Lobakin
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 05/19] iecm: add vport alloc and virtchnl messages Alan Brady
2022-01-28  4:19   ` kernel test robot
2022-01-28  4:19     ` kernel test robot
2022-01-28 12:39     ` Alexander Lobakin
2022-01-28 12:39       ` Alexander Lobakin
2022-02-02 22:23       ` Brady, Alan
2022-02-02 22:23         ` Brady, Alan
2022-01-28 12:32   ` Alexander Lobakin
2022-02-02 22:21     ` Brady, Alan
2022-02-03 13:23       ` Alexander Lobakin
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 06/19] iecm: add virtchnl messages for queues Alan Brady
2022-01-28 13:03   ` Alexander Lobakin
2022-02-02 22:48     ` Brady, Alan
2022-02-03 10:08       ` Maciej Fijalkowski
2022-02-03 14:09       ` Alexander Lobakin
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 07/19] iecm: finish virtchnl messages Alan Brady
2022-01-28 13:19   ` Alexander Lobakin
2022-02-02 23:06     ` Brady, Alan
2022-02-03 15:05       ` Alexander Lobakin
2022-02-03 15:16         ` Maciej Fijalkowski
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 08/19] iecm: add interrupts and configure netdev Alan Brady
2022-01-28 13:34   ` Alexander Lobakin
2022-02-02 23:17     ` Brady, Alan
2022-02-03 15:55       ` Alexander Lobakin
2022-01-28  0:09 ` [Intel-wired-lan] [PATCH net-next 09/19] iecm: alloc vport TX resources Alan Brady
2022-02-02 23:45   ` Brady, Alan
2022-02-03 17:56     ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 10/19] iecm: alloc vport RX resources Alan Brady
2022-01-28 14:16   ` Alexander Lobakin
2022-02-03  0:13     ` Brady, Alan
2022-02-03 18:29       ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 11/19] iecm: add start_xmit and set_rx_mode Alan Brady
2022-01-28 16:35   ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 12/19] iecm: finish netdev_ops Alan Brady
2022-01-28 17:06   ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 13/19] iecm: implement splitq napi_poll Alan Brady
2022-01-28  5:21   ` kernel test robot
2022-01-28  5:21     ` kernel test robot
2022-01-28 17:44     ` Alexander Lobakin [this message]
2022-01-28 17:44       ` Alexander Lobakin
2022-02-03  1:15       ` Brady, Alan
2022-02-03  1:15         ` Brady, Alan
2022-01-28 17:38   ` Alexander Lobakin
2022-02-03  1:07     ` Brady, Alan
2022-02-04 11:50       ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 14/19] iecm: implement singleq napi_poll Alan Brady
2022-01-28 17:57   ` Alexander Lobakin
2022-02-03  1:45     ` Brady, Alan
2022-02-03 19:05       ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 15/19] iecm: implement ethtool callbacks Alan Brady
2022-01-28 18:13   ` Alexander Lobakin
2022-02-03  2:13     ` Brady, Alan
2022-02-03 19:54       ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 16/19] iecm: implement flow director Alan Brady
2022-01-28 19:04   ` Alexander Lobakin
2022-02-03  2:41     ` Brady, Alan
2022-02-04 10:08       ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 17/19] iecm: implement cloud filters Alan Brady
2022-01-28 19:38   ` Alexander Lobakin
2022-02-03  2:53     ` Brady, Alan
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 18/19] iecm: add advanced rss Alan Brady
2022-01-28 19:53   ` Alexander Lobakin
2022-02-03  2:55     ` Brady, Alan
2022-02-03 10:46       ` Maciej Fijalkowski
2022-02-04 10:22       ` Alexander Lobakin
2022-01-28  0:10 ` [Intel-wired-lan] [PATCH net-next 19/19] idpf: introduce idpf driver Alan Brady
2022-01-28 20:08   ` Alexander Lobakin
2022-02-03  3:07     ` Brady, Alan
2022-02-04 10:35       ` Alexander Lobakin
2022-02-04 12:05 ` [Intel-wired-lan] [PATCH net-next 00/19] Add iecm and idpf Alexander Lobakin

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=20220128174401.28054-1-alexandr.lobakin@intel.com \
    --to=alexandr.lobakin@intel.com \
    --cc=intel-wired-lan@osuosl.org \
    /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.