Re: iwlwifi(4) and AX210 performance as receiver and sender.

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Mon, 21 Apr 2025 23:50:25 UTC
On Tue, 22 Apr 2025, Li-Wen Hsu wrote:

> First, sorry if the experiment is not accurate or even doesn't make
> sense. Performance test is hard, anyway.
>
> I found that it seems the iwlwifi(4) performance has a noticeable
> difference when acting as iperf receiver or sender.

I believe I have reported assymetric numbers before.

Questions:
- which FreeBSD version and kernel are you running?
- what's your AP thinking about your rates?
- and what does sysctl compat.linuxkpi.80211.wlan0 think
   while running iperf?  (*)
- are you using TCP or UDP for testing?
- if you are doing TCP did you clear your hostcache first or keep an
   eye on TCP stats?
- how clean is your radio environment?
- are you simply running the same tests from one place adding -R
   (assuming iperf3 and not iperf) or do you actually swap client
   and server?


(*) I am asking as my pesky AP at VHT160 (which is not yet in the tree)
goes back to nss=1;  while this should translate to the same rate as
VHT80 with nss=2 in practise it does not seem to (below with TCP and a
DEBUG kernel):

  rxrate: flags 6<VHT_MCS,SGI> bw 5(160) legacy 0 kbit/s mcs 9 nss 1
          he_dcm 0 he_gi 0 he_ru_alloc 0 eht_gi 0
  txrate: flags 6<VHT_MCS,SGI> bw 5(160) legacy 0 kbit/s mcs 9 nss 2
          he_dcm 0 he_gi 0 he_ru_alloc 0 eht_gi 0

AP says in this case:
1733.3 Mbit/s, 160 MHz, VHT-MCS 9, VHT-NSS 2, Short GI
  866.7 Mbit/s, 160 MHz, VHT-MCS 9, VHT-NSS 1, Short GI

I can do TX:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   498 MBytes   417 Mbits/sec    0            sender
[  5]   0.00-10.01  sec   498 MBytes   417 Mbits/sec                  receiver
and RX:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.02  sec   434 MBytes   363 Mbits/sec    0            sender
[  5]   0.00-10.01  sec   432 MBytes   362 Mbits/sec                  receiver

Doing UDP TX see here:
https://lists.freebsd.org/archives/freebsd-wireless/2025-April/003150.html

So you notice that my TX is better than my RX in this case.

That said we still have a lot of air to go faster, but first let's get
stable where we are.  Removing the taskqs, doing RSS, TSO offload, checksum
offload handling in LinuxKPI,  yadda yadda, is all different stories.
Going from 5 to 50 to 500 Mbit/s likely an improvement in the last
few months ;-)


> My setup is straightforward: laptop  - AP - router.
> Laptop: AX210 with iwlwifi(4)
> Router: Intel I226-V with igc(4)
>
> When iwlwifi(4) being the receiver:
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.00  sec   614 MBytes   515 Mbits/sec   94            sender
> [  5]   0.00-10.01  sec   614 MBytes   514 Mbits/sec                  receiver
>
> When iwlwifi(4) being the sender:
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.02  sec   166 MBytes   139 Mbits/sec  464            sender
> [  5]   0.00-10.02  sec   166 MBytes   139 Mbits/sec                  receiver

-- 
Bjoern A. Zeeb                                                     r15:7