From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Kazior Date: Wed, 29 May 2013 08:00:13 +0200 Subject: [ath9k-devel] [PATCH 6/7] ath10k: introduce proper htt tx flow control In-Reply-To: <87obbv6t4j.fsf@kamboji.qca.qualcomm.com> References: <1368695347-18467-1-git-send-email-michal.kazior@tieto.com> <1368695347-18467-7-git-send-email-michal.kazior@tieto.com> <87obbv6t4j.fsf@kamboji.qca.qualcomm.com> Message-ID: <51A5996D.4020102@tieto.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org On 28/05/13 17:06, Kalle Valo wrote: > Michal Kazior writes: > >> There were cases where we'd run out of msdu_ids. >> This can be fixed by telling mac80211 to stop >> sending us more frames if we run out of resources. >> >> It was possible to trigger with massive TCP RX >> ~300mbps (e.g. using iperf). >> >> Signed-off-by: Michal Kazior > > [...] > >> +void __ath10k_htt_tx_dec_pending(struct ath10k_htt *htt) >> +{ >> + htt->num_pending_tx--; >> + if (htt->num_pending_tx == HTT_MAX_NUM_PENDING_TX - 1) >> + ieee80211_wake_queues(htt->ar->hw); >> +} > > How often is this function called? I'm wondering if it should be an > inline function. > > But that can be done in a followup patch (if needed). It's called after each tx completion, so it might be a good idea to make it an inline function. -- Pozdrawiam / Best regards, Michal Kazior.