Messages in this thread | | | Subject | Re: [PATCH] slub: prefetch next freelist pointer in slab_alloc() | From | Eric Dumazet <> | Date | Sat, 17 Dec 2011 23:56:40 +0100 |
| |
Le vendredi 16 décembre 2011 à 18:18 +0100, Eric Dumazet a écrit :
> I wouldnt expect TCP being a huge win (most of cpu is consumed in tcp > stack, not really memory allocations), but still... > > [I expect much better gain on an UDP load, where memory allocator costs > are higher ]
Update on benches. UDP results are really good.
UDP test : One cpu (cpu0) handling NIC irqs, one cpu (cpu1) running a mono threaded UDP receiver (only receives UDP messages, no xmits)
NUMA machine, feeded with 1.000.000 64bytes packets per second (from another pktgen machine)
cpu0/cpu1 are on different sockets, to force cache line bouncings and stress SLUB (allocations done on cpu0, frees on cpu1)
bnx2x adapter (using new build_skb() service for low memory latencies, available in net-next tree)
Before slub prefetch patch : 590.000 messages received per second by application, 410.000 drops per second.
After slub prefetch patch : 740.000 messages received per second by application, 260.000 drops per second.
[ If application runs on cpu2 (same socket than cpu0), it can receive 920.000 pps (after patch) instead of 890.000 pps (before patch) ]
Thanks
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |