On 18.5.2022. 17:31, Alexander Bluhm wrote:
> Hi,
> 
> For parallel IP forwarding I had put kernel lock around arpresolve()
> as a quick workaround for crashes.  Moving the kernel lock inside
> the function makes the hot path lock free.  I see slight prerformace
> increase in my test and no lock contention in kstack flamegraph.
> 
> http://bluhm.genua.de/perform/results/latest/2022-05-16T00%3A00%3A00Z/btrace/tcpbench_-S1000000_-t10_-n100_10.3.45.35-btrace-kstack.0.svg
> http://bluhm.genua.de/perform/results/latest/patch-sys-arpresolve-kernel-lock.1/btrace/tcpbench_-S1000000_-t10_-n100_10.3.45.35-btrace-kstack.0.svg
> 
> Search for kernel_lock.  Matched goes from 0.6% to 0.2%
> 
> We are running such a diff in our genua code for a while.  I think
> route flags need more love.  I doubt that all flags and fields are
> consistent when run on multiple CPU.  But this diff does not make
> it worse and increases MP pressure.

Hi,

I'm running this diff on messy network with lots of
"arp: attempt to add entry" and sometimes
"arpresolve: XXX: route contains no arp information" logs and everything
seems fine ..


Reply via email to