<?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 - x86-64</title>
 <link>http://kerneltrap.org/taxonomy/term/580/0</link>
 <description></description>
 <language>en-local</language>
<item>
 <title>Removing the i386 and x86_64 Directories</title>
 <link>http://kerneltrap.org/Linux/Removing_the_i386_and_x86_64_Directories</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;This series kill the old i386 and x86_64 directories.  The relevant files are moved and adapted and Kconfig.debug was consolidated (thanks to Randy),&lt;/i&gt;&quot; Sam Ravnborg said, describing a set of 6 patches to finish the migration of physical files into the new x86 architecture directory.  He described it as &quot;&lt;i&gt;a nice patch series that deletes more lines than it adds,&lt;/i&gt;&quot; going on to explain:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;I had to modify both the top-level Makefile and the kconfig Makefile to accomplish this. It was done in such a way that it is trivial for other archs to use the same mechanism should they have the need.&lt;/p&gt;
&lt;p&gt;&quot;To solve the defconfig issue (i386 and x86_64 cannot share one) the arch/x86/configs/ directory were introduced. This has been used by other archs for some time now but x86 had not had the need until now.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Removing_the_i386_and_x86_64_Directories&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Removing_the_i386_and_x86_64_Directories#comments</comments>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/Sam_Ravnborg">Sam Ravnborg</category>
 <category domain="http://kerneltrap.org/x86">x86</category>
 <category domain="http://kerneltrap.org/x86_unification">x86 unification</category>
 <category domain="http://kerneltrap.org/x86-64">x86-64</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Fri, 26 Oct 2007 06:26:56 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14681 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Unified x86 Architecture Code Quality</title>
 <link>http://kerneltrap.org/Linux/Unified_x86_Architecture_Code_Quality</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;Can we please finish up this merge a little more before we freeze 2.6.24?  The way we currently have leftovers of arch/i386/ and arch/x86_64/ is quite a nightmare and not how the other architectures were merged,&quot; Christoph Hellwig asked, leading to an insightful reply by Ingo Molnar.  Ingo began by noting, &quot;&lt;i&gt;to answer that question one should first be aware of the fundamental code quality problems that the unified x86 architecture has inherited from the split i386 and x86_64 architectures.&lt;/i&gt;&quot;  He then utilized the &lt;code&gt;checkpatch&lt;/code&gt; script to generate a table of &quot;&lt;i&gt;coding style errors per one thousand lines of source code&lt;/i&gt;&quot;.  In his table, &lt;code&gt;arch/i386/&lt;/code&gt; rated 77.3 errors per thousand lines of source, with &lt;code&gt;arch/x86_64/&lt;/code&gt; rating 96.0.  The new unified &lt;code&gt;arch/x86/&lt;/code&gt; rated a lower but still very high 74.1.   He summarized, &quot;&lt;i&gt;it is plainly obvious that the x86_64 and i386 architectures were in a dreadful state of code quality before the unification. Their code quality was almost an order of magnitude worse than that of the core kernel (!) - and their code quality was significantly worse than that of a couple of other, comparable architectures.&lt;/i&gt;&quot;  Ingo continued:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;So to answer your question: full unification is no easy task and it is not automatic at all. The x86_64 tree has diverged from the i386 tree in the past 5 years due to their illogical, forced separation and a resulting bitrot. The two architectures have grown different sets of cleanliness problems and different sets of functions with arbitrary differences that often cover the same functionality. It&#039;s all compounded by the fact that the 64-bit code is in worse shape than the 32-bit - so it&#039;s not like we could just pick the 64-bit code and use that as the unified code. The 32-bit code is also used about 8-10 times more frequently than the 64-bit code. So there is no easy &#039;just unify it&#039; path.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Unified_x86_Architecture_Code_Quality&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Unified_x86_Architecture_Code_Quality#comments</comments>
 <category domain="http://kerneltrap.org/Christoph_Hellwig">Christoph Hellwig</category>
 <category domain="http://kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/x86">x86</category>
 <category domain="http://kerneltrap.org/x86_unification">x86 unification</category>
 <category domain="http://kerneltrap.org/x86-64">x86-64</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Wed, 24 Oct 2007 20:12:42 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14668 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Discussing the x86 Merge</title>
 <link>http://kerneltrap.org/Linux/Discussing_the_x86_Merge</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;Sam Ravnborg took a look at the &lt;a href=&quot;http://kerneltrap.org/node/13984&quot;&gt;x86 unification patches&lt;/a&gt; and &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/9/11/230699&quot;&gt;commented&lt;/a&gt;, &quot;&lt;i&gt;from the mails and discussions I expected it be be obvious what was i386 only, what was shared and what was x86_64 only.&lt;/i&gt;&quot;  He listed 16 files in &lt;code&gt;x86/pci&lt;/code&gt; and noted, &quot;&lt;i&gt;in the filename there is NOTHING for most of the non-shared code that tell that this file is used by only i386 or x86_64.&lt;/i&gt;&quot; Andi Kleen concurred, &quot;&lt;i&gt;exactly my point from KS. The big mash-up will not really make much difference in terms of Makefile clarity or whatever Thomas&#039; point was. Apparently he wanted to eliminate a few lines of code from the Makefile and merge the header files completely?&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;Linus Torvalds disagreed saying, &quot;&lt;i&gt;the problem right now is the *reverse* - even though they are in different  subdirectories (and thus *look* like they are all separate), they aren&#039;t.  So the merged end result is much better: at a first approximation everything is shared (largely true), and the ones that aren&#039;t shared can be made more obvious.&lt;/i&gt;&quot;  He added, &quot;&lt;i&gt;at least things like &quot;grep&quot; will work sanely, and people will be  *aware* that &#039;Oh, this touches a file that may be used by the other word-size&#039;.&lt;/i&gt;&quot;  Linus continued:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;Right now, we have people changing &#039;i386-only&#039; files that turn out to be used by x86-64 too - through very subtle Makefile things that the person who only looks into the i386 Makefile will never even *see*.&lt;/p&gt;
&lt;p&gt;&quot;THAT is the problem (well, at least part of it).&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Discussing_the_x86_Merge&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Discussing_the_x86_Merge#comments</comments>
 <category domain="http://kerneltrap.org/Andi_Kleen">Andi Kleen</category>
 <category domain="http://kerneltrap.org/Linus_Torvalds">Linus Torvalds</category>
 <category domain="http://kerneltrap.org/Sam_Ravnborg">Sam Ravnborg</category>
 <category domain="http://kerneltrap.org/x86">x86</category>
 <category domain="http://kerneltrap.org/x86_unification">x86 unification</category>
 <category domain="http://kerneltrap.org/x86-64">x86-64</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Sat, 15 Sep 2007 12:08:22 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14383 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux: Unified x86 Architecture</title>
 <link>http://kerneltrap.org/node/13984</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;Thomas Gleixner described an effort to create a unified x86 architecture tree, &quot;&lt;i&gt;the core idea behind our project is simple to describe: we introduce a new arch/x86/ and include/asm-x86/ file hierarchy that includes all the existing 32-bit and 64-bit x86 code and allows the building of either a 32-bit (i386) kernel or a 64-bit (x86_64) kernel.&lt;/i&gt;&quot;  Andi Kleen expressed some concern, &quot;&lt;i&gt;I think it&#039;s a bad idea because it means we can never get rid of any old junk. IMNSHO arch/x86_64 is significantly cleaner and simpler in many ways than arch/i386 and I would like to preserve that. Also in general arch/x86_64 is much easier to hack than arch/i386 because it&#039;s easier to regression test and in general has to care about much less junk. And I don&#039;t know of any way to ever fix that for i386 besides splitting the old stuff off completely.&lt;/i&gt;&quot;  Additional concerns about legacy issues were countered by Linus Torvalds, &quot;&lt;i&gt;there really isn&#039;t that much legacy crud. There are things like random quirks, but every time I hear the (theoretical) argument about how much time and effort we save by having it duplicated somewhere else, I think about all the time we definitely waste by fixing the same bug twice (and worry about the cases where we don&#039;t).&lt;/i&gt;&quot;  Among the justifications for a unified architecture, Thomas noted:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;We believe that the whole x86 CPU family is very much related and should be supported in a single architecture tree. All 64-bit CPUs implement the ability to execute pure 32-bit kernels, and will probably do so for the next couple of decades. So it&#039;s not like it will ever be possible to get rid of our legacies: for example even the latest 64-bit CPUs implement the legacy &#039;A20 line&#039; feature that was already a weird outdated hack in the days of 16-bit x8086 CPUs.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/node/13984&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/node/13984#comments</comments>
 <category domain="http://kerneltrap.org/Andi_Kleen">Andi Kleen</category>
 <category domain="http://kerneltrap.org/Linus_Torvalds">Linus Torvalds</category>
 <category domain="http://kerneltrap.org/Thomas_Gleixner">Thomas Gleixner</category>
 <category domain="http://kerneltrap.org/x86">x86</category>
 <category domain="http://kerneltrap.org/x86_unification">x86 unification</category>
 <category domain="http://kerneltrap.org/x86-64">x86-64</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Tue, 24 Jul 2007 00:28:00 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">13984 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  Reviewing the Tickless Kernel for x86-64</title>
 <link>http://kerneltrap.org/node/11751</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;Included in Andrew Morton&#039;s potential 2.6.23 merge list [&lt;a href=&quot;http://kerneltrap.org/node/11736&quot;&gt;story&lt;/a&gt;] were a series of patches to make the x86-64 architecture tickless.  Andi Kleen, the x86-64 maintainer replied, &quot;&lt;i&gt;I&#039;m sceptical about the dynticks code. It just rips out the x86-64 timing code completely, whic