Side note: On 01.12.2016 20:51, Tom Herbert wrote: >> > E.g. "mini-skb": Even if we assume that this provides a speedup >> > (where does that come from? should make no difference if a 32 or >> > 320 byte buffer gets allocated). >> > > It's the zero'ing of three cache lines. I believe we talked about that > as netdev.
Jesper and me played with that again very recently: https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/lib/time_bench_memset.c#L590 In micro-benchmarks we saw a pretty good speed up not using the rep stosb generated by gcc builtin but plain movq's. Probably the cost model for __builtin_memset in gcc is wrong? When Jesper is free we wanted to benchmark this and maybe come up with a arch specific way of cleaning if it turns out to really improve throughput. SIMD instructions seem even faster but the kernel_fpu_begin/end() kill all the benefits. Bye, Hannes