On Mon 09/09/2019 16:37, Stefan Sperling wrote:
> On Mon, Sep 09, 2019 at 03:10:04PM +0200, Stefan Sperling wrote:
> > The wifi stack currently calls if_input once per packet instead of once
> > per interrupt. To make the wifi layer play nicely with the network stack
> > we can split ieee80211_input() into two parts:
> 
> Updated diff which avoids purging the input queue at every state
> change, e.g. even during SCAN->SCAN. With this we only purge the
> queue if we're leaving RUN state or going back to INIT state.

I tested the updated diff by downloading a 400M file and looking at the
throughput and Idrop before, and after each run. I also tried different
values for net.link.ifrxq.pressure_drop.

$ dmesg | grep iwn
iwn0 at pci2 dev 0 function 0 "Intel Centrino Advanced-N 6205" rev 0x34:
msi, MIMO 2T2R, MoW, address

Before applying your diff:
pressure_drop   MB/s            Idrop before    Idrop after
8               3.0             2194            4117
32              4.3             4117            4345
128             4.1             4345            4345

After applying your diff:
pressure_drop   MB/s            Idrop before    Idrop after
8               5.4             3354            3606
32              6.2             3606            3606
128             6.2             3606            3606

It seems that your diff improves throughput, and reduces number of
Idrops. At higher values of net.link.ifrxq.pressure_drop throughput is
even higher and delta Idrop is 0.

Reply via email to