On 2018年09月14日 12:46, Willem de Bruijn wrote:
I'm not sure I get this. If we don't enable tx napi, we tend to delay TX
interrupt if we found the ring is about to full to avoid interrupt
storm, so we're probably ok in this case.
I'm only concerned about the transition state when converting from
napi to no-napi when the queue is stopped and tx interrupt disabled.

With napi mode the interrupt is only disabled if napi is scheduled,
in which case it will eventually reenable the interrupt. But when
switching to no-napi mode in this state no progress will be made.

But it seems this cannot happen. When converting to no-napi
mode, set_coalesce waits for napi to complete in napi_disable.
So the interrupt should always start enabled when transitioning
into no-napi mode.

An update, I meet a hang in napi_disalbe(). But it's hard to be reproduced. I tend to choose a easy way like V1 that only allow the switching when device is down.

I will post the patch after a vacation. (or you can post if it was urgent for you).

Thanks

Reply via email to