Thread (7 messages) 7 messages, 4 authors, 2017-07-24

Re: WARN_ON_ONCE(work > weight) in napi_poll()

From: Igor Mitsyanko <hidden>
Date: 2017-07-12 01:20:10
Also in: linux-wireless, lkml

Possibly related (same subject, not in this thread)

On 07/11/2017 10:28 AM, Andrey Ryabinin wrote:
It gave me this:

[118648.825347] #1 quota too big 72 64 16
[118648.825351] #2 quota too big 72 64 16
[118648.825471] ------------[ cut here ]------------
[118648.825484] WARNING: CPU: 0 PID: 0 at ../net/core/dev.c:5274 net_rx_action+0x258/0x360

So this means that we didn't met the condition bellow, i.e. skb_queue_empty() returned true.

         ath10k_htt_txrx_compl_task():

                 if ((quota > ATH10K_NAPI_QUOTA_LIMIT) &&
                     !skb_queue_empty(&htt->rx_in_ord_compl_q)) {
                         resched_napi = true;
                         goto exit;
                 }
quoted
Also WLAN.RM.2.0-00180-QCARMSWPZ-1 firmware is a bit old, could you also update firmware to give it a try?
https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0/4.4
Will try.
Maybe ath10k_htt_rx_in_ord_ind() has to accept "budget_left" parameter 
and use it to limit number of processed MSDUs in queued AMSDU and saving 
rest for later (NAPI has to be rescheduled in this case).
It seems natural that this problem happens with current logic, in case 
AMSDU in Rx queue has more elements then left in budget.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help