RE: iflib_timer() vs ixl_admin_timer() race

From: Galazka, Krzysztof <krzysztof.galazka_at_intel.com>
Date: Fri, 14 Jan 2022 23:28:55 UTC
> -----Original Message-----
> From: Alexander Motin <mavbsd@gmail.com> On Behalf Of Alexander Motin
> Sent: Wednesday, January 12, 2022 6:16 PM
> Subject: Re: iflib_timer() vs ixl_admin_timer() race
[snip]
> Grepping now for iflib_admin_intr_deferred() through the sources I see
> the same issue in other Intel NIC drivers, plus bnxt(4).  So the main
> controversy I see is this: either admin intr should not stop and restart
> the callouts (and then question is why it does that now), or if it
> should be so heavy-weight, it should not be called so regularly (and
> then question why so many drivers do it).

I think the reason for stopping the callouts is the queue hang check,
which is done in them. Running IFDI_UPDATE_ADMIN_STATUS(ctx)
or IFDI_WATCHDOG_RESET(ctx) in parallel could lead to false positives.

As for the second part, not all cases, when admin task is scheduled
by timers, look justified. 
 
> In few drivers I've found it even more interesting: iflib_timer() calls
> IFDI_TIMER(), which calls ixgbe_if_timer(), which calls
> iflib_admin_intr_deferred(), which in its turn restart the
> iflib_timer().  Ouroboros. ;)

Yeah, that does not look right. I guess the intention was to fire off
the task only when link state change is detected, but I need to
double check that.

Thanks,
Krzysiek

---------------------------------------------------------------------
Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | Kapital zakladowy 200.000 PLN.
Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i moze zawierac informacje poufne. W razie przypadkowego otrzymania tej wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). If you are not the intended recipient, please contact the sender and delete all copies; any review or distribution by others is strictly prohibited.