lkml.org 
[lkml]   [2011]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] slub: prefetch next freelist pointer in slab_alloc()
From
Date
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/

\
 
 \ /
  Last update: 2011-12-17 23:59    [W:0.126 / U:0.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site