From: Petr Oros <poros@redhat.com>
To: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: netdev@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
Tony Nguyen <anthony.l.nguyen@intel.com>,
Aleksandr Loktionov <aleksandr.loktionov@intel.com>,
Michal Schmidt <mschmidt@redhat.com>,
edumazet@kernel.org, horms@kernel.org, pabeni@redhat.com,
davem@davemloft.net, Jiri Pirko <jiri@resnulli.us>,
andrew+netdev@lunn.ch, jacob.e.keller@intel.com,
jedrzej.jagielski@intel.com, anzaki@gmail.com,
brett.creeley@amd.com
Subject: Re: [PATCH net-next v5 10/15] iavf: use new opcodes to request more than 16 queues
Date: Thu, 12 Nov 2026 13:57:52 +0100 [thread overview]
Message-ID: <20261112125752.825409-1-poros@redhat.com> (raw)
In-Reply-To: <20261110141534.95614-11-przemyslaw.kitszel@intel.com>
On Tue, 10 Nov 2026 15:07:19 +0100, Przemek Kitszel wrote:
> + adapter->rss_key_size = adapter->vf_res->rss_key_size;
> + adapter->rss_lut_size = adapter->vf_res->rss_lut_size;
> + iavf_init_rss(adapter);
This divides by zero when a VF comes back from a reset that timed out
and the PF reports a different rss_lut_size than before.
iavf_disable_vf() leaves num_active_queues at 0, and
iavf_fill_rss_lut() uses it as the modulus:
iavf 0000:04:01.0: Reset never finished (0)
iavf 0000:04:01.0: Reset task did not complete, VF disabled
iavf 0000:04:01.0: Hardware came out of reset. Attempting reinit.
Oops: divide error: 0000 [#1] SMP KASAN PTI
Workqueue: iavf iavf_watchdog_task [iavf]
RIP: 0010:iavf_fill_rss_lut+0x14a/0x2c0 [iavf]
Call Trace:
iavf_init_rss+0xfa/0x1d0 [iavf]
iavf_parse_vf_resource_msg+0x7d6/0xeb0 [iavf]
iavf_watchdog_task+0x8c8/0x2e30 [iavf]
Reproducer on an E810, two VFs of 0000:04:00.0 bound to iavf on the
host. Run a PFR every 7 seconds
ethtool --reset enp4s0f0np0 flags 0x1e
and meanwhile, once a second,
devlink resource set pci/0000:04:00.0 path rss/lut_512 size 1
devlink resource set pci/0000:04:01.0 path rss/lut_512 size 1
devlink resource set pci/0000:04:01.1 path rss/lut_512 size $((i % 2))
devlink resource set pci/0000:04:00.0 path rss/lut_512 size 0
with the LUT of the first VF released again on every fourth round.
One of the PFRs takes long enough for both VFs to give up on their
reset, and both oops on reinit, as the PFR also took their 512 entry
LUT away.
Sashiko reported this for v4 ("iavf: divide-by-zero in
iavf_fill_rss_lut() on reinit after iavf_disable_vf()"), it is not in
the v5 changelog.
Regards,
Petr
next prev parent reply other threads:[~2026-11-12 12:58 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-10 14:07 [PATCH net-next v5 00/15] devlink, mlx5, iavf, ice: XLVF for iavf Przemek Kitszel
2026-11-10 14:07 ` [PATCH net-next v5 01/15] devlink, mlx5: add init/fini ops for shared devlink Przemek Kitszel
2026-11-10 14:47 ` Jiri Pirko
2026-11-10 14:07 ` [PATCH net-next v5 02/15] ice: use shared devlink to store ice_adapters instead of custom xarray Przemek Kitszel
2026-11-10 14:07 ` [PATCH net-next v5 03/15] ice: add VF queue ena/dis helper functions Przemek Kitszel
2026-11-10 14:07 ` [PATCH net-next v5 04/15] ice: add helpers for Global RSS LUT alloc, free, vsi_update Przemek Kitszel
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-10 14:07 ` [PATCH net-next v5 05/15] ice: rename ICE_MAX_RSS_QS_PER_VF to ICE_MAX_QS_PER_VF_VCV1 Przemek Kitszel
2026-11-10 14:07 ` [PATCH net-next v5 06/15] ice: bump to 256qs for VF Przemek Kitszel
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-10 14:07 ` [PATCH net-next v5 07/15] iavf: extend iavf_configure_queues() to support more queues Przemek Kitszel
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-10 14:07 ` [PATCH net-next v5 08/15] iavf: temporary rename of IAVF_MAX_REQ_QUEUES to IAVF_MAX_REQ_QUEUES_VCV1 Przemek Kitszel
2026-11-10 14:07 ` [PATCH net-next v5 09/15] iavf: increase max number of queues to 256 Przemek Kitszel
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-10 14:07 ` [PATCH net-next v5 10/15] iavf: use new opcodes to request more than 16 queues Przemek Kitszel
2026-11-12 12:57 ` Petr Oros [this message]
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-10 14:07 ` [PATCH net-next v5 11/15] ice: introduce handling of virtchnl LARGE VF opcodes Przemek Kitszel
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-10 14:07 ` [PATCH net-next v5 12/15] devlink: give user option to allocate resources Przemek Kitszel
2026-11-10 14:07 ` [PATCH net-next v5 13/15] ice: represent RSS LUTs as devlink resources Przemek Kitszel
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-10 14:07 ` [PATCH net-next v5 14/15] devlink: add devlink_alloc_drv() Przemek Kitszel
2026-11-10 14:48 ` Jiri Pirko
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-10 14:07 ` [PATCH net-next v5 15/15] ice: support up to 256 VF queues Przemek Kitszel
2026-11-12 23:07 ` netdev-bot+sashiko
2026-11-12 12:57 ` [PATCH net-next v5 00/15] devlink, mlx5, iavf, ice: XLVF for iavf Petr Oros
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=20261112125752.825409-1-poros@redhat.com \
--to=poros@redhat.com \
--cc=aleksandr.loktionov@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=anzaki@gmail.com \
--cc=brett.creeley@amd.com \
--cc=davem@davemloft.net \
--cc=edumazet@kernel.org \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=jedrzej.jagielski@intel.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=mschmidt@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.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