Linksys EA4500 sta mode max out at 38 Mbps with 99% sirq

I have a EA4500 set to STA mode acting as a wireless client for a PC.

I have a wrt1900acv1 as a wireless AP and iw wlan1 station dump gives:

    signal:         -60 dBm
    signal avg:     -58 dBm
    tx bitrate:     364.5 MBit/s MCS 22 40MHz
    rx bitrate:     405.0 MBit/s MCS 23 40MHz

From the EA4500, I get

    signal:         -39 dBm
    signal avg:     -38 dBm
    beacon signal avg:      218 dBm
    tx bitrate:     6.0 MBit/s
    rx bitrate:     450.0 MBit/s MCS 23 40MHz short GI

A laptop is hooked up to the wrt1900ac via gigabit ethernet cable with a iperf3 server running.
I then do a iperf3 -c 192.168.1.10 on my desktop, here's the result:

Connecting to host 192.168.1.10, port 5201
[ 4] local 192.168.5.203 port 57342 connected to 192.168.1.10 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 4.62 MBytes 38.8 Mbits/sec
[ 4] 1.00-2.00 sec 3.12 MBytes 26.2 Mbits/sec
[ 4] 2.00-3.00 sec 4.62 MBytes 38.8 Mbits/sec
[ 4] 3.00-4.00 sec 4.50 MBytes 37.7 Mbits/sec
[ 4] 4.00-5.00 sec 4.50 MBytes 37.7 Mbits/sec
[ 4] 5.00-6.00 sec 4.62 MBytes 38.8 Mbits/sec
[ 4] 6.00-7.00 sec 4.50 MBytes 37.7 Mbits/sec
[ 4] 7.00-8.00 sec 4.38 MBytes 36.7 Mbits/sec
[ 4] 8.00-9.00 sec 3.25 MBytes 27.3 Mbits/sec
[ 4] 9.00-10.00 sec 4.12 MBytes 34.6 Mbits/sec


[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 42.2 MBytes 35.4 Mbits/sec sender
[ 4] 0.00-10.00 sec 42.2 MBytes 35.4 Mbits/sec receiver

iperf Done.

I monitor the sirq on the ea4500 and wrt1900ac at the same time.
EA4500 sirq max out at 99% when iperf is going on, and the wrt1900ac sirq jumps around 3x~4x% (which I think is still too high but a separate issue..)

Now when I use the EA4500 as a access point, with PC acting as a iperf3 server, I used a phone to iperf it and got the following result:


Server listening on 5201

Accepted connection from 192.168.5.222, port 57305
[ 5] local 192.168.5.203 port 5201 connected to 192.168.5.222 port 57306
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 14.7 MBytes 123 Mbits/sec
[ 5] 1.00-2.00 sec 17.0 MBytes 142 Mbits/sec
[ 5] 2.00-3.00 sec 16.7 MBytes 140 Mbits/sec
[ 5] 3.00-4.00 sec 15.8 MBytes 132 Mbits/sec
[ 5] 4.00-5.00 sec 15.6 MBytes 131 Mbits/sec
[ 5] 5.00-6.00 sec 14.3 MBytes 120 Mbits/sec
[ 5] 6.00-7.00 sec 17.1 MBytes 143 Mbits/sec
[ 5] 7.00-8.00 sec 17.2 MBytes 144 Mbits/sec
[ 5] 8.00-9.00 sec 17.1 MBytes 144 Mbits/sec
[ 5] 9.00-10.00 sec 17.2 MBytes 144 Mbits/sec
[ 5] 10.00-10.04 sec 692 KBytes 129 Mbits/sec


[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.04 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.04 sec 163 MBytes 136 Mbits/sec receiver

All while the ea4500 cpu sirq is still hovering around 6x-7x%.

What is wrong?

add: I did iperf using an android phone using the same setup (except that ea4500+pc replaced by phone), and has gotten ~ 200 Mbps with wrt1900ac sitting at ~70% sirq.