[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1324162600.3323.54.camel@edumazet-laptop>
Date: Sat, 17 Dec 2011 23:56:40 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Christoph Lameter <cl@...ux.com>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
Pekka Enberg <penberg@...nel.org>,
David Rientjes <rientjes@...gle.com>,
"Alex,Shi" <alex.shi@...el.com>, Shaohua Li <shaohua.li@...el.com>,
Matt Mackall <mpm@...enic.com>
Subject: Re: [PATCH] slub: prefetch next freelist pointer in slab_alloc()
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists