On 1/7/21 8:38 PM, Jakub Kicinski wrote:
On Thu, 7 Jan 2021 15:43:25 -0600 Alex Elder wrote:
@@ -743,21 +743,21 @@ static void gsi_channel_freeze(struct gsi_channel
*channel)
set_bit(GSI_CHANNEL_FLAG_STOPPING, channel->flags);
smp_mb__after_atomic(); /* Ensure gsi_channel_poll(
On Thu, 7 Jan 2021 15:43:25 -0600 Alex Elder wrote:
> @@ -743,21 +743,21 @@ static void gsi_channel_freeze(struct gsi_channel
> *channel)
> set_bit(GSI_CHANNEL_FLAG_STOPPING, channel->flags);
> smp_mb__after_atomic(); /* Ensure gsi_channel_poll() sees new value */
>
> - napi_dis
When we stop or suspend a channel, we first "freeze" it. The last
part of that involves disabling NAPI, and disabling the IEOB
interrupt that schedules NAPI when it occurs. On resume, a "thaw"
does the inverse of these activities, in reverse order. Currently
these are ordered such that NAPI is d