>Synopsis: poor dwge performance
>Category: <PR category (one line)>
>Environment:
System : OpenBSD 6.6
Details : OpenBSD 6.6 (GENERIC.MP) #0: Sun Oct 6 17:02:09 PDT 2019
buhman@mitis:/usr/src/sys/arch/arm64/compile/GENERIC.MP
Architecture: OpenBSD.arm64
Machine : arm64
>Description:
dwge performance is much lower than the hardware's capabilities
I did testing with curl to internet hosts, comparing with other
operating systems running on the same network. With curl->internet, the effect
of net.link.ifrxq.pressure_drop was profound, the default of 8 yielded
1.89Mbyte/s, while 128 yielded 12.5Mbyte/s. Expected: >60Mbyte/s.
To improve reproducibility, I also did testing with iperf with both UDP
and TCP, to other hosts on the same network switch. No test result was higher
than ~320Mbit/s. Expected: >900Mbit/s.
>How-To-Repeat:
- Hardkernel ODROID-N2
- install the latest snapshot (or compile -current with the
"ifq_restart() in dwxe/dwge" patch, which is what was booted for this sendbug)
- run iperf in client or server mode
- sysctl net.link.ifrxq.pressure_drop=8
- observe consistent ~290Mbit/s to/from a host on the same segment
- sysctl net.link.ifrxq.pressure_drop=128
- observe consistent ~320Mbit/s to/from a host on the same segment
- expected: >900Mbit/s
>Fix:
unknown
dmesg:
OpenBSD 6.6 (GENERIC.MP) #0: Sun Oct 6 17:02:09 PDT 2019
buhman@mitis:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem = 4043051008 (3855MB)
avail mem = 3846066176 (3667MB)
mainbus0 at root: Hardkernel ODROID-N2
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 256KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.8
efi0: Das U-Boot rev 0x20191000
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.0, SMCCC 1.1
"audio-controller-1" at mainbus0 not configured
"efuse" at mainbus0 not configured
"reserved-memory" at mainbus0 not configured
"secure-monitor" at mainbus0 not configured
simplebus0 at mainbus0: "soc"
ampintc0 at simplebus0 nirq 256, ncpu 8 ipi: 0, 1: "interrupt-controller"
dwge0 at simplebus0: address 92:0e:3a:0a:27:c2
rgephy0 at dwge0 phy 0: RTL8169S/8110S/8211 PHY, rev. 6
simplebus1 at simplebus0: "bus"
"hdmi-tx" at simplebus1 not configured
simplebus2 at simplebus1: "bus"
amlrng0 at simplebus2
simplebus3 at simplebus1: "bus"
amlpinctrl0 at simplebus3
amlusbphy0 at simplebus1
simplebus4 at simplebus1: "bus"
"video-lut" at simplebus4 not configured
amlusbphy1 at simplebus1
simplebus5 at simplebus1: "bus"
syscon0 at simplebus5: "system-controller"
amlclock0 at syscon0
simplebus6 at simplebus1: "bus"
"clock-controller" at simplebus6 not configured
"audio-controller" at simplebus6 not configured
"audio-controller" at simplebus6 not configured
"audio-controller" at simplebus6 not configured
"reset-controller" at simplebus6 not configured
"audio-controller" at simplebus6 not configured
"audio-controller" at simplebus6 not configured
amlpciephy0 at simplebus1
"mdio-multiplexer" at simplebus1 not configured
simplebus7 at simplebus0: "bus"
syscon1 at simplebus7: "sys-ctrl"
"clock-controller" at syscon1 not configured
"power-controller-vpu" at syscon1 not configured
"pinctrl" at syscon1 not configured
syscon2 at simplebus7: "ao-secure"
"cec" at simplebus7 not configured
amluart0 at simplebus7: console
"ir" at simplebus7 not configured
"vpu" at simplebus0 not configured
simplebus8 at simplebus0: "bus"
amlreset0 at simplebus8
"interrupt-controller" at simplebus8 not configured
"clock-measure" at simplebus8 not configured
amlmmc0 at simplebus0
sdmmc0 at amlmmc0: 4-bit, sd high-speed, dma
amlmmc1 at simplebus0
sdmmc1 at amlmmc1: 8-bit, mmc high-speed, dma
amldwusb0 at simplebus0: "usb"
"usb" at amldwusb0 not configured
xhci0 at amldwusb0, xHCI 1.10
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00
addr 1
"gpu" at simplebus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
"xtal-clk" at mainbus0 not configured
"emmc-pwrseq" at mainbus0 not configured
"leds" at mainbus0 not configured
"regulator-tflash_vdd" at mainbus0 not configured
"gpio-regulator-tf_io" at mainbus0 not configured
"regulator-flash_1v8" at mainbus0 not configured
"regulator-main_12v" at mainbus0 not configured
"regulator-vcc_5v" at mainbus0 not configured
"regulator-vcc_1v8" at mainbus0 not configured
"regulator-vcc_3v3" at mainbus0 not configured
"regulator-hub_5v" at mainbus0 not configured
"regulator-usb_pwr_en" at mainbus0 not configured
"regulator-vddao_1v8" at mainbus0 not configured
"regulator-vddao_3v3" at mainbus0 not configured
"hdmi-connector" at mainbus0 not configured
"sound" at mainbus0 not configured
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 256KB 64b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 100: ARM Cortex-A73 r0p2
cpu2: 64KB 64b/line 4-way L1 VIPT I-cache, 32KB 64b/line 8-way L1 D-cache
cpu2: 1024KB 64b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 101: ARM Cortex-A73 r0p2
cpu3: 64KB 64b/line 4-way L1 VIPT I-cache, 32KB 64b/line 8-way L1 D-cache
cpu3: 1024KB 64b/line 16-way L2 cache
cpu4 at mainbus0 mpidr 102: ARM Cortex-A73 r0p2
cpu4: 64KB 64b/line 4-way L1 VIPT I-cache, 32KB 64b/line 8-way L1 D-cache
cpu4: 1024KB 64b/line 16-way L2 cache
cpu5 at mainbus0 mpidr 103: ARM Cortex-A73 r0p2
cpu5: 64KB 64b/line 4-way L1 VIPT I-cache, 32KB 64b/line 8-way L1 D-cache
cpu5: 1024KB 64b/line 16-way L2 cache
scsibus0 at sdmmc1: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <Samsung, CJTD4R, 0000> removable
sd0: 59640MB, 512 bytes/sector, 122142720 sectors
uhub1 at uhub0 port 1 configuration 1 interface 0 "GenesysLogic USB2.1 Hub" rev
2.10/93.04 addr 2
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (ae346f4589526e56.a) swap on sd0b dump on sd0b
WARNING: CHECK AND RESET THE DATE!
usbdevs:
Controller /dev/usb0:
addr 01: 0000:0000 Generic, xHCI root hub
super speed, self powered, config 1, rev 1.00
driver: uhub0
addr 02: 05e3:0610 GenesysLogic, USB2.1 Hub
high speed, self powered, config 1, rev 93.04
driver: uhub1