Re: [PATCH net-next v2 0/7] net: ipa: don't disable NAPI in suspend

From: Willem de Bruijn
Date: Mon Feb 01 2021 - 13:46:46 EST


On Mon, Feb 1, 2021 at 12:28 PM Alex Elder <elder@xxxxxxxxxx> wrote:
>
> This is version 2 of a series that reworks the order in which things
> happen during channel stop and suspend (and start and resume), in
> order to address a hang that has been observed during suspend.
> The introductory message on the first version of the series gave
> some history which is omitted here.
>
> The end result of this series is that we only enable NAPI and the
> I/O completion interrupt on a channel when we start the channel for
> the first time. And we only disable them when stopping the channel
> "for good." In other words, NAPI and the completion interrupt
> remain enabled while a channel is stopped for suspend.
>
> One comment on version 1 of the series suggested *not* returning
> early on success in a function, instead having both success and
> error paths return from the same point at the end of the function
> block. This has been addressed in this version.
>
> In addition, this version consolidates things a little bit, but the
> net result of the series is exactly the same as version 1 (with the
> exception of the return fix mentioned above).
>
> First, patch 6 in the first version was a small step to make patch 7
> easier to understand. The two have been combined now.
>
> Second, previous version moved (and for suspend/resume, eliminated)
> I/O completion interrupt and NAPI disable/enable control in separate
> steps (patches). Now both are moved around together in patch 5 and
> 6, which eliminates the need for the final (NAPI-only) patch.
>
> I won't repeat the patch summaries provided in v1:
> https://lore.kernel.org/netdev/20210129202019.2099259-1-elder@xxxxxxxxxx/
>
> Many thanks to Willem de Bruijn for his thoughtful input.
>
> -Alex
>
> Alex Elder (7):
> net: ipa: don't thaw channel if error starting
> net: ipa: introduce gsi_channel_stop_retry()
> net: ipa: introduce __gsi_channel_start()
> net: ipa: kill gsi_channel_freeze() and gsi_channel_thaw()
> net: ipa: disable interrupt and NAPI after channel stop
> net: ipa: don't disable interrupt on suspend
> net: ipa: expand last transaction check
>
> drivers/net/ipa/gsi.c | 138 ++++++++++++++++++++++++++----------------
> 1 file changed, 85 insertions(+), 53 deletions(-)

Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx>