On Tue, 2003-09-16 at 22:08, Andrew Morton wrote: > But I would like to see some evidence that prefetch ever provides any > performance gain in-kernel. I spent some time fiddling a while back and > was unable to demonstrate any difference. For SDET on the NUMA-Q, it's pretty small. Looks like well less than 1%. Mostly lost in the noise, though. DISCLAIMER: SPEC(tm) and the benchmark name SDET(tm) are registered trademarks of the Standard Performance Evaluation Corporation. This benchmarking was performed for research purposes only, and the run results are non-compliant and not-comparable with any published results. Prefetch on: Scripts | Average Throughput | Standard Deviation ----------+---------------------+--------------------- 16 | 15795.9100 | 711.3221 32 | 16450.5800 | 292.6028 64 | 15800.2400 | 126.2358 Prefetch off: Scripts | Average Throughput | Standard Deviation ----------+---------------------+--------------------- 16 | 15672.8600 | 438.5506 32 | 16376.4100 | 364.5610 64 | 15744.8100 | 208.9217 For those of you who care, I generated this with a neat little tool that some interns cooked up for us this summer. You hand it a little file like this and it throws back a wealth of information back at you. There's a central machine to which has a database of other machines and figures out the best fit for the job (can be more than 1 machine requested). In this case it's easy because there are very few 16x machines in the database. Oh, and like good interns, they stole a lot of code from Steve Pratt's "autobench". class host num_cpus=16 +$mytest sdet "1 4 16 32 64" -l /tmp/sdet disuseprofiler sar # build the kernel with prefaulting off build stock 2.6.0-test5 \ -p http://elm3b114.beaverton.ibm.com/patches/prefetch-off.patch \ -m -j8 boot # sdet runs fast on ramfs fs -mountramfs /tmp/sdet run "sdet" $mytest setup umount /tmp/sdet build stock 2.6.0-test5 -m -j8 boot fs -mountramfs /tmp/sdet run "sdet" $mytest setup umount /tmp/sdet -- Dave Hansen haveblue@us.ibm.com