lkml.org 
[lkml]   [2009]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: this_cpu_xx's patchset effect on SLUB cycle counts
On Tue, 13 Oct 2009, David Rientjes wrote:

> I benchmarked this patchset both with and without the irqless patch from
> http://marc.info/?l=linux-kernel&m=125503037213262 on several of my
> machines. The results were good for the most part, but I found a very
> reproducible regression on my 4-core 8G Xeon 5500 with HyperThreading for
> objects of smaller size (8, 16, and 64 bytes) without the irqless patch:

Hmmm... Strange. Maybe different icache cacheline code placement? There is
no change in data structures without the irqless patch.

Can you change some kernel config options that impact memory and code
layout and rerun? Just to make sure that this is not a freak thing due to
code placement. Are sure sure that the kernel tested had the patches
applied?

> But "Kernel C" (with the irqless patch) shows a major improvement in the
> single threaded tests:

C changes per cpu layout a bit as well as does code changes.

> 2. Kmalloc: alloc/free test
> 10000 times kmalloc(8)/kfree -> 132 cycles

Was the kernel compiled with preemption on? I get cycle numbers with two
digits on these tests using quad nehalems.

> "Kernel C" hangs on my netserver machine during netperf -t TCP_RR -l 60,
> though, so hopefully I'll be able to obtain results for that benchmark
> with the irqless patch and see if there's any noticable improvement once
> it's debugged.

irqless is a risky patch. There may still be issues there. Thanks for
testing it.




\
 
 \ /
  Last update: 2009-10-14 17:47    [W:0.331 / U:0.268 seconds]
©2003-2014 Jasper Spaans. Advertise on this site