ath10k.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC v4 00/18] ath10k high latency
@ 2017-12-31 17:29 Erik Stromdahl
  2017-12-31 17:29 ` [RFC v4 01/18] ath10k: add inlined wrappers for htt tx ops Erik Stromdahl
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: Erik Stromdahl @ 2017-12-31 17:29 UTC (permalink / raw)
  To: kvalo, linux-wireless, ath10k; +Cc: Erik Stromdahl

This is the fourth version of the high latency patches (stuff common for
usb and sdio).

Most of Kalles comments have been addressed, except the start_once patch
which is identical to the previous version. I need to investigate more
how this feature affects the case where the interface is brought up and
down several times.

The first two patches adds inline wrappers to the newly introduced htt
ops. I think these patches could have been submitted separately (as
PATCH and not RFC) but I decided to include them in this RFC series
instead.
Adding them separately would have reduced the size of the patchset
somewhat, but since the rest of the patches are depending on the first
two, I decided not to submit them separately.

I have tested USB support and the performance is similar to previous
versions.

Below are the results from iperf with a WUSB6100M:

192.168.1.190: WUSB6100M
192.168.1.244: other computer

Uplink test results (WUSB6100M -> other computer):

# iperf-client.sh 192.168.1.244
/usr/bin/iperf
------------------------------------------------------------
Client connecting to 192.168.1.244, TCP port 1234
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.190 port 50524 connected with 192.168.1.244 port
1234
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  10.8 MBytes  8.95 Mbits/sec

The result is not so good (I expect more from an 11ac device),
but hopefully it is configuration related.

Downlink test results (other computer -> WUSB6100M):

# iperf-server.sh
/usr/bin/iperf
------------------------------------------------------------
Server listening on TCP port 1234
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.190 port 1234 connected with 192.168.1.244 port
44824
[  349.641149] usb 1-1: failed to transmit packet, dropping: -12
[  349.643246] usb 1-1: failed to submit frame: -12
[  349.643644] usb 1-1: failed to push frame: -12
[  349.663267] usb 1-1: failed to transmit packet, dropping: -12
[  349.664250] usb 1-1: failed to submit frame: -12
[  349.665405] usb 1-1: failed to push frame: -12
[  349.670244] usb 1-1: failed to transmit packet, dropping: -12
[  349.670907] usb 1-1: failed to submit frame: -12
[  349.671419] usb 1-1: failed to push frame: -12
[  349.671887] usb 1-1: failed to transmit packet, dropping: -12
[  350.703418] random: crng init done
[  354.877329] ath10k_warn: 10661 callbacks suppressed
[  354.877331] usb 1-1: failed to transmit packet, dropping: -12
[  354.879931] usb 1-1: failed to submit frame: -12
[  354.880307] usb 1-1: failed to push frame: -12
[  354.940557] usb 1-1: failed to transmit packet, dropping: -12
[  354.942516] usb 1-1: failed to submit frame: -12
[  354.943062] usb 1-1: failed to push frame: -12
[  355.134808] usb 1-1: failed to transmit packet, dropping: -12
[  355.136463] usb 1-1: failed to submit frame: -12
[  355.137425] usb 1-1: failed to push frame: -12
[  355.159841] usb 1-1: failed to transmit packet, dropping: -12
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec   225 MBytes   188 Mbits/sec

As you can see, there are a lot of ENOMEM errors in the TX path.
I think they could be related to patch 16 (that removes the pending
TX counter), but since I don't know how to configure the device
to generate HTT_T2H_MSG_TYPE_TX_COMPL_IND's the sw flow control had
to be disabled.

Since I no longer have access to any SDIO hardware I have not been able
to try the SDIO stuff, so it might be broken.

Erik Stromdahl (18):
  ath10k: add inlined wrappers for htt tx ops
  ath10k: add inlined wrappers for htt rx ops
  ath10k: add struct ath10k_bus_params
  ath10k: high_latency detection
  ath10k: add bus type check in ath10k_init_hw_params
  ath10k: per target config of max_num_peers
  ath10k: DMA related fixes for high latency devices
  ath10k: various fixes for high latency devices
  ath10k: add start_once support
  ath10k: add HTT TX HL ops
  ath10k: add HTT RX HL ops
  ath10k: htt: RX ring config HL support
  ath10k: htt: High latency TX support
  ath10k: htt: High latency RX support
  ath10k: wmi: disable softirq's while calling ieee80211_rx
  ath10k: remove htt pending TX count for high latency
  ath10k: add QCA9377 usb hw_param item
  ath10k: add QCA9377 sdio hw_param item

 drivers/net/wireless/ath/ath10k/ahb.c     |   9 +-
 drivers/net/wireless/ath/ath10k/core.c    | 108 ++++++++++++++++---
 drivers/net/wireless/ath/ath10k/core.h    |  19 ++--
 drivers/net/wireless/ath/ath10k/htc.c     |  19 ++--
 drivers/net/wireless/ath/ath10k/htt.c     |   4 +-
 drivers/net/wireless/ath/ath10k/htt.h     | 136 +++++++++++++++++++++++
 drivers/net/wireless/ath/ath10k/htt_rx.c  | 150 +++++++++++++++++++++++---
 drivers/net/wireless/ath/ath10k/htt_tx.c  | 173 ++++++++++++++++++++++++++++--
 drivers/net/wireless/ath/ath10k/hw.h      |  20 ++++
 drivers/net/wireless/ath/ath10k/mac.c     |   2 +-
 drivers/net/wireless/ath/ath10k/pci.c     |  13 +--
 drivers/net/wireless/ath/ath10k/rx_desc.h |  15 +++
 drivers/net/wireless/ath/ath10k/sdio.c    |   8 +-
 drivers/net/wireless/ath/ath10k/txrx.c    |   5 +-
 drivers/net/wireless/ath/ath10k/usb.c     |   7 +-
 drivers/net/wireless/ath/ath10k/wmi-tlv.c |   3 +-
 drivers/net/wireless/ath/ath10k/wmi.c     |   3 +-
 17 files changed, 622 insertions(+), 72 deletions(-)

-- 
2.15.1


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-12-31 17:41 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-31 17:29 [RFC v4 00/18] ath10k high latency Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 01/18] ath10k: add inlined wrappers for htt tx ops Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 02/18] ath10k: add inlined wrappers for htt rx ops Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 03/18] ath10k: add struct ath10k_bus_params Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 04/18] ath10k: high_latency detection Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 05/18] ath10k: add bus type check in ath10k_init_hw_params Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 06/18] ath10k: per target config of max_num_peers Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 07/18] ath10k: DMA related fixes for high latency devices Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 08/18] ath10k: various " Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 09/18] ath10k: add start_once support Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 10/18] ath10k: add HTT TX HL ops Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 11/18] ath10k: add HTT RX " Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 12/18] ath10k: htt: RX ring config HL support Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 13/18] ath10k: htt: High latency TX support Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 14/18] ath10k: htt: High latency RX support Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 15/18] ath10k: wmi: disable softirq's while calling ieee80211_rx Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 16/18] ath10k: remove htt pending TX count for high latency Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 17/18] ath10k: add QCA9377 usb hw_param item Erik Stromdahl
2017-12-31 17:29 ` [RFC v4 18/18] ath10k: add QCA9377 sdio " Erik Stromdahl
2017-12-31 17:41 ` [RFC v4 00/18] ath10k high latency Steve deRosier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).