Message ID | 20231023230826.531858-6-jacob.e.keller@intel.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Intel Wired LAN Driver Updates for 2023-10-23 (iavf) | expand |
On Mon, 23 Oct 2023 16:08:21 -0700 Jacob Keller wrote: > From: Michal Schmidt <mschmidt@redhat.com> > > In iavf_down, we're skipping the scheduling of certain operations if > the driver is being removed. However, the IAVF_FLAG_AQ_DISABLE_QUEUES > request must not be skipped in this case, because iavf_close waits > for the transition to the __IAVF_DOWN state, which happens in > iavf_virtchnl_completion after the queues are released. > > Without this fix, "rmmod iavf" takes half a second per interface that's > up and prints the "Device resources not yet released" warning. > > Fixes: c8de44b577eb ("iavf: do not process adminq tasks when __IAVF_IN_REMOVE_TASK is set") This looks like a 6.6 regression, why send it for net-next?
On Wed, Oct 25, 2023 at 1:42 AM Jakub Kicinski <kuba@kernel.org> wrote: > On Mon, 23 Oct 2023 16:08:21 -0700 Jacob Keller wrote: > > From: Michal Schmidt <mschmidt@redhat.com> > > > > In iavf_down, we're skipping the scheduling of certain operations if > > the driver is being removed. However, the IAVF_FLAG_AQ_DISABLE_QUEUES > > request must not be skipped in this case, because iavf_close waits > > for the transition to the __IAVF_DOWN state, which happens in > > iavf_virtchnl_completion after the queues are released. > > > > Without this fix, "rmmod iavf" takes half a second per interface that's > > up and prints the "Device resources not yet released" warning. > > > > Fixes: c8de44b577eb ("iavf: do not process adminq tasks when __IAVF_IN_REMOVE_TASK is set") > > This looks like a 6.6 regression, why send it for net-next? Hi Jakub, At first I thought I had a dependency on the preceding patch in the series, but after rethinking and retesting it, it's actually fine to put this patch in net.git. Can you please do that, or will you require resending? Thanks, Michal
On Wed, 25 Oct 2023 17:24:59 +0200 Michal Schmidt wrote: > > This looks like a 6.6 regression, why send it for net-next? > > Hi Jakub, > At first I thought I had a dependency on the preceding patch in the > series, but after rethinking and retesting it, it's actually fine to > put this patch in net.git. > Can you please do that, or will you require resending? I'd prefer if Jake could resend just the fix for net, after re-testing that it indeed works right. I'll make sure that it makes tomorrow's PR from net, in case the net-next stuff would conflict.
On 10/25/2023 9:25 AM, Jakub Kicinski wrote: > On Wed, 25 Oct 2023 17:24:59 +0200 Michal Schmidt wrote: >>> This looks like a 6.6 regression, why send it for net-next? >> >> Hi Jakub, >> At first I thought I had a dependency on the preceding patch in the >> series, but after rethinking and retesting it, it's actually fine to >> put this patch in net.git. >> Can you please do that, or will you require resending? > > I'd prefer if Jake could resend just the fix for net, after re-testing > that it indeed works right. I'll make sure that it makes tomorrow's PR > from net, in case the net-next stuff would conflict. > Will do, thanks.
On 10/25/2023 10:23 AM, Jacob Keller wrote: > > > On 10/25/2023 9:25 AM, Jakub Kicinski wrote: >> On Wed, 25 Oct 2023 17:24:59 +0200 Michal Schmidt wrote: >>>> This looks like a 6.6 regression, why send it for net-next? >>> >>> Hi Jakub, >>> At first I thought I had a dependency on the preceding patch in the >>> series, but after rethinking and retesting it, it's actually fine to >>> put this patch in net.git. >>> Can you please do that, or will you require resending? >> >> I'd prefer if Jake could resend just the fix for net, after re-testing >> that it indeed works right. I'll make sure that it makes tomorrow's PR >> from net, in case the net-next stuff would conflict. >> > > Will do, thanks. > I tested this on one of my dev systems with 128 VFs. Without the fix applied: $ time rmmod iavf real 1m19.132s user 0m0.007s sys 0m1.974s With the fix applied: $ time rmmod iavf real 0m17.951s user 0m0.006s sys 0m0.827s I'll send this out to net shortly. Thanks, Jake
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c index b30d703e26a1..7ca19dfea109 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_main.c +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -1440,9 +1440,9 @@ void iavf_down(struct iavf_adapter *adapter) adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER; if (!list_empty(&adapter->adv_rss_list_head)) adapter->aq_required |= IAVF_FLAG_AQ_DEL_ADV_RSS_CFG; - adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES; } + adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES; mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); }