On Mon, Feb 8, 2021 at 11:11 PM Ping-Ke Shih <pkshih@xxxxxxxxxxx> wrote: > > From: Po-Hao Huang <phhuang@xxxxxxxxxxx> > > Use napi to reduce overhead on rx interrupts. > > Driver used to interrupt kernel for every Rx packet, this could > affect both system and network performance. NAPI is a mechanism that > uses polling when processing huge amount of traffic, by doing this > the number of interrupts can be decreased. > > Network performance can also benefit from this patch. Since TCP > connection is bidirectional and acks are required for every several > packets. These ack packets occupie the PCI bus bandwidth and could > lead to performance degradation. > > When napi is used, GRO receive is enabled by default in the mac80211 > stack. So mac80211 won't pass every RX TCP packets to the kernel TCP > network stack immediately. Instead an aggregated large length TCP packet > will be delivered. > > This reduces the tx acks sent and gains rx performance. After the patch, > the Rx throughput increases about 25Mbps in 11ac. > > Signed-off-by: Po-Hao Huang <phhuang@xxxxxxxxxxx> > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> I think this version handles my review comments and straightens up the locking situation: Reviewed-by: Brian Norris <briannorris@xxxxxxxxxxxx> Tested-by: Brian Norris <briannorris@xxxxxxxxxxxx> Thanks.