<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.kerneltrap.org"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>KernelTrap - benchmark</title>
 <link>http://www.kerneltrap.org/taxonomy/term/512/0</link>
 <description></description>
 <language>en-local</language>
<item>
 <title>bonnie HDS benchmark</title>
 <link>http://www.kerneltrap.org/node/45583</link>
 <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Recently installed a new backup server with &lt;a href=&quot;http://www.bacula.org/&quot;&gt;Bacula&lt;/a&gt; and connected to our SAN based on Brocade switches and HDS (DF700XS unit type, microprogram rev. 0781/A-X). We&#039;ve never tested this HDS unit, but I was interested, so pasting results here.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/node/45583&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/node/45583#comments</comments>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/3343">bonnie</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/3333">HDS</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/23">Linux</category>
 <pubDate>Mon, 26 Oct 2009 09:30:22 +0000</pubDate>
 <dc:creator>mator</dc:creator>
 <guid isPermaLink="false">45583 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Large Blocksize Performance</title>
 <link>http://www.kerneltrap.org/Linux/Large_Blocksize_Performance</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;&lt;i&gt;I&#039;ve finally got some numbers to go along with the Btrfs variable blocksize feature.  The basic idea is to create a read/write interface to map a range of bytes on the address space, and use it in Btrfs for all metadata operations (file operations have always been extent based),&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-fsdevel/2007/10/15/343969&quot;&gt;explained Chris Mason&lt;/a&gt; in a recent posting to the Linux Filesystem Development mailing list.  He linked to some &lt;a href=&quot;http://oss.oracle.com/~mason/blocksizes/&quot;&gt;benchmark results&lt;/a&gt; and summarized, &quot;&lt;i&gt;the first round of benchmarking shows that larger block sizes do consume more CPU, especially in metadata intensive workloads, but overall read speeds are much better.&lt;/i&gt;&quot;  Chris then noted, &quot;&lt;i&gt;Dave reported that XFS saw much higher write throughput with large blocksizes, but so far I&#039;m seeing the most benefits during reads.&lt;/i&gt;&quot;  David Chinner replied, &quot;&lt;i&gt;the basic conclusion is that different filesystems will benefit in different ways with large block sizes....&lt;/i&gt;&quot; explaining:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;Btrfs linearises writes due to it&#039;s COW behaviour and this is trades off read speed. i.e. we take more seeks to read data so we can keep the write speed high. By using large blocks, you&#039;re reducing the number of seeks needed to find anything, and hence the read speed will increase. Write speed will be pretty much unchanged because btrfs does linear writes no matter the block size.&lt;/p&gt;
&lt;p&gt;&quot;XFS doesn&#039;t linearise writes and optimises it&#039;s layout for a large number of disks and a low number of seeks on reads - the opposite of btrfs. Hence large block sizes reduce the number of writes XFS needs to write a given set of data+metadata and hence write speed increases much more than the read speed (until you get to large tree traversals).&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/Linux/Large_Blocksize_Performance&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Large_Blocksize_Performance#comments</comments>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/Btrfs">Btrfs</category>
 <category domain="http://www.kerneltrap.org/Chris_Mason">Chris Mason</category>
 <category domain="http://www.kerneltrap.org/David_Chinner">David Chinner</category>
 <category domain="http://www.kerneltrap.org/filesystem">filesystem</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/performance">performance</category>
 <category domain="http://www.kerneltrap.org/XFS">XFS</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Tue, 16 Oct 2007 10:07:47 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14596 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Measuring Process Scheduler Performance</title>
 <link>http://www.kerneltrap.org/Linux/Measuring_Process_Scheduler_Performance</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;&lt;i&gt;As far as my testsystem goes, v2.6.23 beats v2.6.22.9 in sysbench,&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/10/10/333939&quot;&gt;explained Ingo Molnar&lt;/a&gt; in response to a posting showing the &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/10/10/333803&quot;&gt;opposite results&lt;/a&gt;.  He referred to his &lt;a href=&quot;http://people.redhat.com/mingo/misc/sysbench.jpg&quot;&gt;own testing results&lt;/a&gt; and explained:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;As you can see it in the graph, v2.6.23 schedules much more consistently too. [ v2.6.22 has a small (but potentially statistically insignificant) edge at 4-6 clients, and CFS has a slightly better peak (which is statistically insignificant).&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ingo noted that he was nuable to find information as to how the other benchmark was generated, &quot;&lt;i&gt;there are no .configs or other testing details at or around that URL that i could use to reproduce their result precisely, so at least a minimal bugreport would be nice.&lt;/i&gt;&quot;  He then offered some tips on how sysbench works and some suggested tunings, &quot;&lt;i&gt;sysbench is a pretty &#039;batched&#039; workload: it benefits most from batchy scheduling: the client doing as much work as it can, then server doing as much work as it can - and so on. The longer the client can work the more cache-efficient the workload is. Any round-trip to the server due to pesky preemption only blows up the cache footprint of the workload and gives lower throughput.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/Linux/Measuring_Process_Scheduler_Performance&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Measuring_Process_Scheduler_Performance#comments</comments>
 <category domain="http://www.kerneltrap.org/2.6.23">2.6.23</category>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/CFS">CFS</category>
 <category domain="http://www.kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://www.kerneltrap.org/performance">performance</category>
 <category domain="http://www.kerneltrap.org/scheduler">scheduler</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1059">sysbench</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Wed, 10 Oct 2007 13:02:52 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14551 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Threading Benchmarks, NetBSD versus FreeBSD</title>
 <link>http://www.kerneltrap.org/FreeBSD/Threading_Benchmarks_NetBSD_versus_FreeBSD</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/freebsd&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kt1.osuosl.org/files/category_pictures/K-FreeBSD_0.gif&quot; alt=&quot;FreeBSD news&quot; title=&quot;FreeBSD news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Andrew Doran posted some &lt;a href=&quot;http://kerneltrap.org/mailarchive/netbsd-tech-kern/2007/10/4/329788&quot;&gt;threading benchmark results&lt;/a&gt; to NetBSD&#039;s tech-kern mailing list, following up to some benchmarks he&#039;d &lt;a href=&quot;http://kerneltrap.org/mailarchive/netbsd-tech-kern/2007/9/28/327638&quot;&gt;posted earlier&lt;/a&gt;.  The results compared NetBSD -current with FreeBSD -current, and the Linux 2.6.21 kernel.   Kris Kennaway was surprised by the results, and ran his own benchmarks with minimal configuration changes, summarizing, &quot;&lt;i&gt;this measurement shows that FreeBSD is performing 70-80% better than NetBSD in this 4 CPU configuration.  This is in contrast to Andrew&#039;s findings which seem to show NetBSD performing 10% better than FreeBSD on a 4 CPU system (a very old one though).&lt;/i&gt;&quot;  He added, &quot;&lt;i&gt;the drop-off above 8 threads on FreeBSD is due to non-scalability of mysql itself.  i.e. it comes from pthread mutex contention in userland.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;Kris ran additional benchmarks with PostgreSQL instead of MySQL, showing much improved scalability above 8 threads, &quot;&lt;i&gt;postgresql is much more scalable than mysql on this workload and doesn&#039;t have silly scaling bottlenecks inside the application (cf the tail of the FreeBSD curve for mysql which is where pthread mutex contention kicked in).&lt;/i&gt;&quot;  He continued his testing, and found that on older 4CPU P3 hardware NetBSD did outperform FreeBSD, &quot;&lt;i&gt;but only by 3-4% (in particular I am not seeing the ~10% difference that Andrew observes on his 4*p3 700MHz).  Given the age of the hardware and the fact that I am not seeing it on other workloads or on modern hardware it might just be due to a small scheduling difference on this configuration.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/FreeBSD/Threading_Benchmarks_NetBSD_versus_FreeBSD&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/FreeBSD/Threading_Benchmarks_NetBSD_versus_FreeBSD#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1051">Andrew Doran</category>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/BSD">BSD</category>
 <category domain="http://www.kerneltrap.org/FreeBSD">FreeBSD</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1053">Kris Kennaway</category>
 <category domain="http://www.kerneltrap.org/NetBSD">NetBSD</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1052">threads</category>
 <category domain="http://www.kerneltrap.org/news/freebsd">FreeBSD news</category>
 <pubDate>Mon, 08 Oct 2007 00:24:54 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14533 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Finding Bugs With CFS</title>
 <link>http://www.kerneltrap.org/Linux/Finding_Bugs_With_CFS</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;A potential bug &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/9/26/322789&quot;&gt;reported against the Completely Fair Scheduler&lt;/a&gt; suggested that it was causing a network slowdown, measured with the &#039;Iperf&#039; bandwidth performance benchmarking tool.  The performance hit was quickly tracked to the &lt;a href=&quot;http://kerneltrap.org/Linux/CFS_and_sched_yield&quot;&gt;previously discussed&lt;/a&gt; changes in how CFS handles &lt;a href=&quot;http://kerneltrap.org/man/linux/man2/sched_yield.2&quot;&gt;sched_yield()&lt;/a&gt;.  When it was suggested that this was a bug in the new process scheduler, Ingo explained:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;I had a quick look at the source code, and the reason for that weird yield usage was that there&#039;s a locking bug in iperf&#039;s &#039;Reporter thread&#039; abstraction and apparently instead of fixing the bug it was worked around via a horrible yield() based user-space lock.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;He then submit a small patch to fix the bug and remove the call to sched_yield() resulting in, &quot;&lt;i&gt;iperf uses _much_ less CPU time. On my Core2Duo test system, before the patch it used up 100% CPU time to saturate 1 gigabit of network traffic to another box. With the patch applied it now uses 9% of CPU time.&lt;/i&gt;&quot;  He added playfully, &quot;&lt;i&gt;sched_yield() is almost always the symptom of broken locking or other bug. In that sense CFS does the right thing by exposing such bugs =B-)&lt;/i&gt;&quot;  Stephen Hemminger pointed out that a similar patch had been submitted to the Iperf project last month as it caused an identical problem with FreeBSD&#039;s scheduler.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/Linux/Finding_Bugs_With_CFS&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Finding_Bugs_With_CFS#comments</comments>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/CFS">CFS</category>
 <category domain="http://www.kerneltrap.org/FreeBSD">FreeBSD</category>
 <category domain="http://www.kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1005">iperf</category>
 <category domain="http://www.kerneltrap.org/sched_yield">sched_yield</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/321">Stephen Hemminger</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Thu, 27 Sep 2007 00:25:31 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14463 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Additional CFS Benchmarks</title>
 <link>http://www.kerneltrap.org/Linux/Additional_CFS_Benchmarks</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;&lt;i&gt;After posting some benchmarks involving cfs, I got some feedback, so I decided to do a follow-up that&#039;ll hopefully fill in the gaps many people wanted to see filled,&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/9/17/261647&quot;&gt;Rob Hussey began&lt;/a&gt;.  He added, &quot;&lt;i&gt;this time around I&#039;ve done the benchmarks against 2.6.21, 2.6.22-ck1, and 2.6.23-rc6-cfs-devel (latest git as of 12 hours ago).&lt;/i&gt;&quot;  Rob briefly summarized, &quot;&lt;i&gt;the only analysis I&#039;ll offer is that both sd and cfs are improvements, and I&#039;m glad that there is a lot of work being done in this area of linux development.  Much respect to Con Kolivas, Ingo Molnar, and Roman Zippel, as well all the others who have contributed.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;Referring to a chart in which the blue line represented the CFS process scheduler, and the green line represented the SD &quot;staircase&quot; process scheduler, Ingo Molnar noted, &quot;&lt;i&gt;heh - am i the only one impressed by the consistency of the blue line in this graph? :-) [ and the green line looks a bit like a .. staircase? ]&lt;/i&gt;&quot;  He acknowledged some slowdown in CFS compared to SD in one of the benchmarks, &quot;&lt;i&gt;-ck1 is 0.8% faster in this particular test.&lt;/i&gt;&quot;  Ingo then explained, &quot;&lt;i&gt;many things happened between 2.6.22-ck1 and 2.6.23-cfs-devel that could affect performance of this test. My initial guess would be sched_clock() overhead.&lt;/i&gt;&quot;  In further testing he applied a low-res-sched-clock that resulted in better performance for CFS leading him to conclude, &quot;&lt;i&gt;the performance difference between -ck and -cfs-devel seems to be mostly down to the more precise (but slower) sched_clock() introduced in v2.6.23 and to the startup penalty of freshly created tasks.&lt;/i&gt;&quot;  When asked if the low-res-sched-clock was likely to be merged, Ingo replied:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;I don&#039;t think so - we want precise/accurate scheduling before performance. (otherwise tasks working off the timer tick could steal away cycles without being accounted for them fairly, and could starve out all other tasks.) Unless the difference was really huge in real life - but it isn&#039;t.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/Linux/Additional_CFS_Benchmarks&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Additional_CFS_Benchmarks#comments</comments>
 <category domain="http://www.kerneltrap.org/2.6.21">2.6.21</category>
 <category domain="http://www.kerneltrap.org/2.6.22">2.6.22</category>
 <category domain="http://www.kerneltrap.org/2.6.23">2.6.23</category>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/CFS">CFS</category>
 <category domain="http://www.kerneltrap.org/Con_Kolivas">Con Kolivas</category>
 <category domain="http://www.kerneltrap.org/hackbench">hackbench</category>
 <category domain="http://www.kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://www.kerneltrap.org/Rob_Hussey">Rob Hussey</category>
 <category domain="http://www.kerneltrap.org/Roman_Zippel">Roman Zippel</category>
 <category domain="http://www.kerneltrap.org/scheduler">scheduler</category>
 <category domain="http://www.kerneltrap.org/SD_scheduler">SD scheduler</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Mon, 17 Sep 2007 14:59:12 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14391 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Benchmarking CFS</title>
 <link>http://www.kerneltrap.org/Linux/Benchmarking_CFS</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;&lt;i&gt;Looking at these graphs (and the fixed one from your second  email), it sure looks a lot like CFS is doing at *least* as well as the old scheduler in every single test, and doing much better in most of them (in addition it&#039;s much more consistent between runs),&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/9/14/259697&quot;&gt;Kyle Moffett noted&lt;/a&gt; regarding recent benchmarks run against the Completely Fair Scheduler by Rob Hussey.  Kyle continued:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;This seems to jive with all the other benchmarks and overall empirical testing that everyone has been doing.  Overall I have to say a job well done for Ingo, Peter, Con, and all the other major contributors to this impressive endeavor.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/Linux/Benchmarking_CFS&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Benchmarking_CFS#comments</comments>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/CFS">CFS</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/758">Kyle Moffett</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/Rob_Hussey">Rob Hussey</category>
 <category domain="http://www.kerneltrap.org/scheduler">scheduler</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Fri, 14 Sep 2007 15:35:30 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14381 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Linux: Tuning CFS</title>
 <link>http://www.kerneltrap.org/node/14055</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Nick Piggin used &#039;&lt;a href=&quot;http://kerneltrap.org/node/11753&quot;&gt;git bisect&lt;/a&gt;&#039; to track a lmbench regression to the main &lt;a href=&quot;http://kerneltrap.org/taxonomy/term/191&quot;&gt;CFS&lt;/a&gt; commit, leading to an interesting discussion between Nick and Ingo Molnar.  Ultimately the regression was tracked down to the temporary configurability of the scheduler while it is tuned for optimal performance, &quot;&lt;i&gt;one reason for the extra overhead is the current tunability of CFS, but that is not fundamental, it&#039;s caused by the many knobs that CFS has at the moment.&lt;/i&gt;&quot;  The solution, already coded but not yet merged in the mainline kernel &quot;&lt;i&gt;changes those knobs to constants, allowing the compiler to optimize the math better and reduce code size,&lt;/i&gt;&quot; and as a result result, &quot;&lt;i&gt;CFS can be faster at micro-context-switching than 2.6.22.&lt;/i&gt;&quot;  &lt;/p&gt;
&lt;p&gt;Ingo described the lmbench configuration in question as a &quot;micro-benchmark&quot;, and noted that with a macro-benchmark better performance was more pronounced, &quot;&lt;i&gt;because with CFS the _quality_ of scheduling decisions has increased. So even if we had increased micro-costs (which we wont have once the current tuning period is over and we cast the CFS parameters into constants), the quality of macro-scheduling can offset that, and not only on the desktop!&lt;/i&gt;&quot;  He summarized, &quot;&lt;i&gt;that&#039;s why our main focus in CFS was on the macro-properties of scheduling _first_, and then the micro-properties are adjusted to the macro-constraints as a second layer.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/node/14055&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/node/14055#comments</comments>
 <category domain="http://www.kerneltrap.org/2.6.22">2.6.22</category>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/bisect">bisect</category>
 <category domain="http://www.kerneltrap.org/CFS">CFS</category>
 <category domain="http://www.kerneltrap.org/hackbench">hackbench</category>
 <category domain="http://www.kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/lmbench">lmbench</category>
 <category domain="http://www.kerneltrap.org/Nick_Piggin">Nick Piggin</category>
 <category domain="http://www.kerneltrap.org/scheduler">scheduler</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Sun, 05 Aug 2007 05:09:20 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14055 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  CFS and 3D Gaming</title>
 <link>http://www.kerneltrap.org/node/14023</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Some of the concerns expressed about the &lt;a href=&quot;http://kerneltrap.org/taxonomy/term/191&quot;&gt;Completely Fair Scheduler&lt;/a&gt; were reports that it might not handle 3D games as well as the &lt;a href=&quot;http://kerneltrap.org/taxonomy/term/363&quot;&gt;SD scheduler&lt;/a&gt;.  In a recent thread, Ingo Molnar noted, &quot;&lt;i&gt;people are regularly testing 3D smoothness, and they find CFS &lt;a href=&quot;http://bhhdoa.org.au/pipermail/ck/2007-June/007816.html&quot;&gt;good enough&lt;/a&gt; and that matches my experience as well (as limited as it may be). In general my impression is that CFS and SD are roughly on par when it comes to 3D smoothness.&lt;/i&gt;&quot;  He noted that all known regressions were reported against earlier versions of CFS that had long since been fixed, and that he was very interested in any new reports of regressions against the current version of the code, &quot;&lt;i&gt;what is more interesting (to me) is not the positive CFS feedback but negative CFS feedback (although positive feedback certain _feels_ good so don&#039;t hold it back intentionally ;-),&lt;/i&gt;&quot; adding, &quot;&lt;i&gt;there are no open 3D related regressions for CFS at the moment.&lt;/i&gt;&quot;  Ingo then offered benchmarks illustrating the improved 3D performance of CFS, with numbers showing it to perform as well and in some cases considerably better than the SD scheduler.&lt;/p&gt;
&lt;p&gt;Linus Torvalds noted, &quot;&lt;i&gt;I don&#039;t think _any_ scheduler is perfect, and almost all of the time, the RightAnswer(tm) ends up being not &#039;one or the other&#039;, but &#039;somewhere in between&#039;.&lt;/i&gt;&quot;  He noted that he was confident that he&#039;d made the right decision in merging CFS, then added, &quot;&lt;i&gt;but at the same time, no technical decision is ever written in stone. It&#039;s all a balancing act. I&#039;ve replaced the scheduler before, I&#039;m 100% sure we&#039;ll replace it again. Schedulers are actually not at all that important in the end: they are a very very small detail in the kernel.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/node/14023&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/node/14023#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/796">3D</category>
 <category domain="http://www.kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://www.kerneltrap.org/CFS">CFS</category>
 <category domain="http://www.kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://www.kerneltrap.org/Linus_Torvalds">Linus Torvalds</category>
 <category domain="http://www.kerneltrap.org/scheduler">scheduler</category>
 <category domain="http://www.kerneltrap.org/SD_scheduler">SD scheduler</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Tue, 31 Jul 2007 12:55:20 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14023 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  Syslets, Generic Asynchronous System Call Support</title>
 <link>http://www.kerneltrap.org/node/7728</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Ingo Molnar [&lt;a href=&quot;http://kerneltrap.org/node/view/517&quot;&gt;interview&lt;/a&gt;] posted a &lt;a href=&quot;http://redhat.com/~mingo/syslet-patches/&quot;&gt;set of 11 patches&lt;/a&gt; introducing &quot;&lt;i&gt;the first release of the &#039;Syslet&#039; kernel feature  and kernel subsystem, which provides generic asynchrous system call support&lt;/i&gt;&quot;.  Ingo explains:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;Syslets are small, simple, lightweight programs (consisting of system-calls, &#039;atoms&#039;) that the kernel can execute autonomously (and, not the least, asynchronously), without having to exit back into user-space. Syslets can be freely constructed and submitted by any unprivileged user-space context - and they have access to all the resources (and only those resources) that the ori