Search Linux Wireless

[PATCH 0/5] rtw88: TX path update for latency and efficiency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Yan-Hsuan Chuang <yhchuang@xxxxxxxxxxx>

This patchset makes the driver transmit with less CPU latency and
higher efficiency. Originally, the TX path hold an IRQ lock that
will disable all of the IRQs, to wait for the PS state transition.
It may sometimes cause the CPU to delay for a long enough time,
like several milliseconds. This could lead to some time-sensitive
programs to lose their immediacy. We can just use *_bh() locks to
not to block the IRQs, and only use *_irqsafe() locks to the ISR
related settings.

And, the TX path includes to send reserved pages to the device.
But the old reserved page routine did not consider that the driver
could possibly run multiple vifs at the same time. So, update the
reserved page routine of the TX path to generate reserved pages
and associate them to each vif, so we can take multi-vif into
consideration.

For the data packets come from TX queue, the driver used to kick
off them one by one, while we can do better to kick a bunch of
them at once to save some time to access to the IO register and
the DMA engine transition


Brian Norris (1):
  rtw88: don't hold all IRQs disabled for PS operations

Yan-Hsuan Chuang (4):
  rtw88: extract alloc rsvd_page and h2c skb routines
  rtw88: associate reserved pages with each vif
  rtw88: pci: define a mask for TX/RX BD indexes
  rtw88: kick off TX packets once for higher efficiency

 drivers/net/wireless/realtek/rtw88/fw.c       | 265 ++++++++++++++----
 drivers/net/wireless/realtek/rtw88/fw.h       |  25 +-
 drivers/net/wireless/realtek/rtw88/hci.h      |  20 +-
 drivers/net/wireless/realtek/rtw88/mac80211.c |  22 +-
 drivers/net/wireless/realtek/rtw88/main.c     |   9 +-
 drivers/net/wireless/realtek/rtw88/main.h     |   1 +
 drivers/net/wireless/realtek/rtw88/pci.c      | 199 ++++++++-----
 drivers/net/wireless/realtek/rtw88/pci.h      |   7 +-
 drivers/net/wireless/realtek/rtw88/tx.c       | 131 +++++++--
 drivers/net/wireless/realtek/rtw88/tx.h       |  10 +-
 drivers/net/wireless/realtek/rtw88/wow.c      |  39 +--
 11 files changed, 516 insertions(+), 212 deletions(-)

-- 
2.17.1




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux