Messages in this thread | | | Date | Mon, 5 Aug 2019 17:46:18 -0700 | From | Jakub Kicinski <> | Subject | Re: [PATCH v1 1/3] net: hisilicon: make hip04_tx_reclaim non-reentrant |
| |
On Sat, 3 Aug 2019 20:31:39 +0800, Jiangfeng Xiao wrote: > If hip04_tx_reclaim is interrupted while it is running > and then __napi_schedule continues to execute > hip04_rx_poll->hip04_tx_reclaim, reentrancy occurs > and oops is generated. So you need to mask the interrupt > during the hip04_tx_reclaim run.
Napi poll method for the same napi instance can't be run concurrently. Could you explain a little more what happens here?
Also looking at hip04_rx_poll() I don't think the interrupt re-enabling logic guarantees the interrupt is not armed when NAPI is scheduled. Please note that NAPI is no longer scheduled if napi_complete_done() returned false.
| |