<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://kerneltrap.org"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>KernelTrap - bisect</title>
 <link>http://kerneltrap.org/taxonomy/term/584/0</link>
 <description></description>
 <language>en-local</language>
<item>
 <title>Quote: Bisection At 3AM</title>
 <link>http://kerneltrap.org/Quote/Bisection_At_3AM</link>
 <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;Have you ever been an hour and a half into a bisection at 3AM then hit a massive oops deep in the TCP code which was spread across a large number of commits?  I have and it wasn&#039;t fun.  If I remember correctly I gave up and went to bed.&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
 <comments>http://kerneltrap.org/Quote/Bisection_At_3AM#comments</comments>
 <category domain="http://kerneltrap.org/Andrew_Morton">Andrew Morton</category>
 <category domain="http://kerneltrap.org/bisect">bisect</category>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/quote">quote</category>
 <category domain="http://kerneltrap.org/taxonomy/term/1093">Andrew Morton</category>
 <category domain="http://kerneltrap.org/taxonomy/term/1094">linux-kernel</category>
 <pubDate>Sat, 17 May 2008 15:24:02 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">16148 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Memory Corruption Bug Solved, 2.6.25 Expected Today</title>
 <link>http://kerneltrap.org/Linux/Memory_Corruption_Bug_Solved_2.6.25_Expected_Today</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;Finally found it ... the patch below solves the sparsemem crash and the test system boots up fine now,&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2008/4/16/1443244&quot;&gt;announced Ingo Molnar&lt;/a&gt;.  He described the patch as fixing a &quot;&lt;i&gt;memory corruption and crash on 32-bit x86 systems.  If a !PAE x86 kernel is booted on a 32-bit system with more than 4GB of RAM, then we call memory_present() with a start/end that goes outside the scope of MAX_PHYSMEM_BITS.&lt;/i&gt;&quot;  He included a source snippet with the loop that could corrupt memory, &quot;&lt;i&gt;depending on what that memory is, we might crash, misbehave or just not notice the bug.&lt;/i&gt;&quot;  Ingo went on to note that the bug was first introduced with sparsemem support in the 2.6.16 kernel:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;I believe this was the reason why my many bisection attempts were unsuccessful: the bug pattern was not stable and seemingly working kernels had the memory corruption too. It was pure luck that v2.6.24 &#039;worked&#039; and v2.6.25-rc9 broke visibly.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Linux creator Linus Torvalds replied, &quot;&lt;i&gt;good job. I&#039;ve pushed this out, and will let this simmer at least  overnight to see if there are any brown-paper-bag issues (either with this or with some last changes from Andrew), but I&#039;m happy, and I think I&#039;ll do the real 2.6.25 tomorrow.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Memory_Corruption_Bug_Solved_2.6.25_Expected_Today&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Memory_Corruption_Bug_Solved_2.6.25_Expected_Today#comments</comments>
 <category domain="http://kerneltrap.org/2.6.25">2.6.25</category>
 <category domain="http://kerneltrap.org/bisect">bisect</category>
 <category domain="http://kerneltrap.org/bug">bug</category>
 <category domain="http://kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://kerneltrap.org/Linus_Torvalds">Linus Torvalds</category>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/memory">memory</category>
 <category domain="http://kerneltrap.org/PAE">PAE</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Wed, 16 Apr 2008 12:55:42 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">16002 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux: Tuning CFS</title>
 <link>http://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://kerneltrap.org/node/14055&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/node/14055#comments</comments>
 <category domain="http://kerneltrap.org/2.6.22">2.6.22</category>
 <category domain="http://kerneltrap.org/benchmark">benchmark</category>
 <category domain="http://kerneltrap.org/bisect">bisect</category>
 <category domain="http://kerneltrap.org/CFS">CFS</category>
 <category domain="http://kerneltrap.org/hackbench">hackbench</category>
 <category domain="http://kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/lmbench">lmbench</category>
 <category domain="http://kerneltrap.org/Nick_Piggin">Nick Piggin</category>
 <category domain="http://kerneltrap.org/scheduler">scheduler</category>
 <category domain="http://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://kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  Debugging With &quot;git bisect&quot;</title>
 <link>http://kerneltrap.org/node/11753</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&