Wen Gong <wgong@xxxxxxxxxxxxxx> writes: > For RX, it has two parts, one is to read data from sdio, another > is to indicate the packets to upper stack. Recently it has only > one thread to do all RX things, it results that it is sequential > for RX and low throughout, change RX to parallel for the two parts > will increase throughout. > > This patch move the indication to a workqueue, it results in > significant performance improvement on RX path. > > Udp rx throughout is 200Mbps without this patch, and it arrives > 400Mbps with this patch. > > Tested with QCA6174 SDIO with firmware > WLAN.RMH.4.4.1-00017-QCARMSWPZ-1 > > Signed-off-by: Wen Gong <wgong@xxxxxxxxxxxxxx> [...] > --- a/drivers/net/wireless/ath/ath10k/sdio.h > +++ b/drivers/net/wireless/ath/ath10k/sdio.h > @@ -98,6 +98,12 @@ > #define ATH10K_FIFO_TIMEOUT_AND_CHIP_CONTROL_DISABLE_SLEEP_OFF 0xFFFEFFFF > #define ATH10K_FIFO_TIMEOUT_AND_CHIP_CONTROL_DISABLE_SLEEP_ON 0x10000 > > +struct ath10k_sdio_rx_request { > + struct list_head list; > + struct sk_buff *skb; > + struct ath10k_htc_ep *ep; > +}; This is not used anymore, I removed it in the pending branch. -- https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches