From: Jesse Brandeburg <jesse.brandeburg@intel.com>
To: kerneljasonxing@gmail.com
Cc: anthony.l.nguyen@intel.com, davem@davemloft.net, kuba@kernel.org,
ast@kernel.org, daniel@iogearbox.net, hawk@kernel.org,
john.fastabend@gmail.com, andrii@kernel.org, kafai@fb.com,
songliubraving@fb.com, yhs@fb.com, kpsingh@kernel.org,
intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, bpf@vger.kernel.org,
Jason Xing <xingwanli@kuaishou.com>,
Shujin Li <lishujin@kuaishou.com>
Subject: Re: [PATCH] i40e: fix the panic when running bpf in xdpdrv mode
Date: Mon, 12 Apr 2021 14:52:29 -0700 [thread overview]
Message-ID: <20210412145229.00003e5d@intel.com> (raw)
In-Reply-To: <20210412065759.2907-1-kerneljasonxing@gmail.com>
kerneljasonxing@gmail.com wrote:
> From: Jason Xing <xingwanli@kuaishou.com>
>
> Re: [PATCH] i40e: fix the panic when running bpf in xdpdrv mode
Please use netdev style subject lines when patching net kernel to
indicate which kernel tree this is targeted at, "net" or "net-next"
[PATCH net v2] i40e: ...
> Fix this by add more rules to calculate the value of @rss_size_max which
Fix this panic by adding ...
> could be used in allocating the queues when bpf is loaded, which, however,
> could cause the failure and then triger the NULL pointer of vsi->rx_rings.
trigger
> Prio to this fix, the machine doesn't care about how many cpus are online
> and then allocates 256 queues on the machine with 32 cpus online
> actually.
>
> Once the load of bpf begins, the log will go like this "failed to get
> tracking for 256 queues for VSI 0 err -12" and this "setup of MAIN VSI
> failed".
>
> Thus, I attach the key information of the crash-log here.
>
> BUG: unable to handle kernel NULL pointer dereference at
> 0000000000000000
> RIP: 0010:i40e_xdp+0xdd/0x1b0 [i40e]
> Call Trace:
> [2160294.717292] ? i40e_reconfig_rss_queues+0x170/0x170 [i40e]
> [2160294.717666] dev_xdp_install+0x4f/0x70
> [2160294.718036] dev_change_xdp_fd+0x11f/0x230
> [2160294.718380] ? dev_disable_lro+0xe0/0xe0
> [2160294.718705] do_setlink+0xac7/0xe70
> [2160294.719035] ? __nla_parse+0xed/0x120
> [2160294.719365] rtnl_newlink+0x73b/0x860
>
> Signed-off-by: Jason Xing <xingwanli@kuaishou.com>
> Signed-off-by: Shujin Li <lishujin@kuaishou.com>
if you send to "net" - I suspect you should supply a Fixes: line, above
the sign-offs.
In this case however, this bug has been here since the beginning of the
driver, but the patch will easily apply, so please supply
Fixes: 41c445ff0f48 ("i40e: main driver core")
> ---
> drivers/net/ethernet/intel/i40e/i40e_main.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 521ea9d..4e9a247 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -11867,6 +11867,7 @@ static int i40e_sw_init(struct i40e_pf *pf)
> {
> int err = 0;
> int size;
> + u16 pow;
>
> /* Set default capability flags */
> pf->flags = I40E_FLAG_RX_CSUM_ENABLED |
> @@ -11885,6 +11886,11 @@ static int i40e_sw_init(struct i40e_pf *pf)
> pf->rss_table_size = pf->hw.func_caps.rss_table_size;
> pf->rss_size_max = min_t(int, pf->rss_size_max,
> pf->hw.func_caps.num_tx_qp);
> +
> + /* find the next higher power-of-2 of num cpus */
> + pow = roundup_pow_of_two(num_online_cpus());
> + pf->rss_size_max = min_t(int, pf->rss_size_max, pow);
> +
The fix itself is fine, and is correct as far as I can tell, thank you
for sending the patch!
> if (pf->hw.func_caps.rss) {
> pf->flags |= I40E_FLAG_RSS_ENABLED;
> pf->alloc_rss_size = min_t(int, pf->rss_size_max,
next prev parent reply other threads:[~2021-04-12 21:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-12 6:57 [PATCH] i40e: fix the panic when running bpf in xdpdrv mode kerneljasonxing
2021-04-12 21:52 ` Jesse Brandeburg [this message]
2021-04-13 2:17 ` Jason Xing
2021-04-13 2:50 ` [PATCH net v2] " kerneljasonxing
2021-04-13 16:18 ` Jesse Brandeburg
2021-04-14 1:37 ` Jason Xing
2021-04-15 1:12 ` Jason Xing
2021-04-15 2:08 ` Jesse Brandeburg
2021-04-15 5:16 ` Jason Xing
2021-04-14 2:34 ` [PATCH net v3] " kerneljasonxing
2021-04-15 2:06 ` Jesse Brandeburg
2021-04-15 10:31 ` Jesper Dangaard Brouer
2021-04-15 21:40 ` patchwork-bot+netdevbpf
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=20210412145229.00003e5d@intel.com \
--to=jesse.brandeburg@intel.com \
--cc=andrii@kernel.org \
--cc=anthony.l.nguyen@intel.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=hawk@kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kerneljasonxing@gmail.com \
--cc=kpsingh@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lishujin@kuaishou.com \
--cc=netdev@vger.kernel.org \
--cc=songliubraving@fb.com \
--cc=xingwanli@kuaishou.com \
--cc=yhs@fb.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).