Re: [PATCH v1 1/3] net: hisilicon: make hip04_tx_reclaim non-reentrant

2019-08-05 Thread Jakub Kicinski
On Tue, 6 Aug 2019 10:00:52 +0800, Jiangfeng Xiao wrote: > If hip04_tx_reclaim is interrupted while it is running, and then > __irq_svc->gic_handle_irq->hip04_mac_interrupt->__napi_schedule->hip04_rx_poll->hip04_tx_reclaim Ah right, obviously you can't do stuff after napi_complete_done(), that ma

Re: [PATCH v1 1/3] net: hisilicon: make hip04_tx_reclaim non-reentrant

2019-08-05 Thread Jiangfeng Xiao
On 2019/8/6 8:46, Jakub Kicinski wrote: > 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

Re: [PATCH v1 1/3] net: hisilicon: make hip04_tx_reclaim non-reentrant

2019-08-05 Thread Jakub Kicinski
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_rec

[PATCH v1 1/3] net: hisilicon: make hip04_tx_reclaim non-reentrant

2019-08-03 Thread Jiangfeng Xiao
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. The kernel oops exception stack is as follows: Unable t