Thread (16 messages) 16 messages, 2 authors, 2013-08-14

Re: [PATCH 2/4] ath10k: fix HTC endpoint worker starvation

From: Michal Kazior <hidden>
Date: 2013-08-08 10:12:05

On 8 August 2013 10:16, Michal Kazior [off-list ref] wrote:
quoted hunk ↗ jump to hunk
HTC used a worker for each endpoint. This worked
until a slow host machine was flooded with massive
number of TX requests. HTT related worker would
remain active while WMI worker was starved. This
ended up with "could not send beacon" in AP mode.
It was even possible to see userspace being
starved.

The patch switches from using workers to using
tasklets for processing and submitting HTC frames
to HIF.

Signed-off-by: Michal Kazior <redacted>

(...)
@@ -602,7 +602,8 @@ static void ath10k_htc_reset_endpoint_states(struct ath10k_htc *htc)
                skb_queue_head_init(&ep->tx_queue);
                ep->htc = htc;
                ep->tx_credit_flow_enabled = true;
-               INIT_WORK(&ep->send_work, ath10k_htc_send_work);
+               tasklet_init(&ep->send_task, ath10k_htc_send_task,
+                             (unsigned long)ep);
        }
 }
Indentation is off by one here. Is it okay if I just resend this
single patch or is it easier for applying if I resend the whole
patchset?


Pozdrawiam / Best regards,
Michał Kazior.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help