<?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 - patch</title>
 <link>http://www.kerneltrap.org/taxonomy/term/583/0</link>
 <description></description>
 <language>en-local</language>
<item>
 <title>Linux: Properly Creating And Testing Patches</title>
 <link>http://www.kerneltrap.org/Linux/Properly_Creating_And_Testing_Patches</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;If you&#039;re wondering why I&#039;m taking a long time to respond to your patches,&lt;/i&gt;&quot;, began &lt;a href=&quot;http://kerneltrap.org/Theodore_Tso&quot;&gt;Theodore Ts&#039;o&lt;/a&gt; on the linux-ext4 mailing list, &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-ext4/2010/4/6/6884054/thread&quot;&gt;in a thread&lt;/a&gt; that offered much insight into how and why to properly submit and test patches. &quot;&lt;i&gt;Patches that are accepted into mainline should do one and only one thing,&lt;/i&gt;&quot; Ted continued, &quot;&lt;i&gt;so if someone suggests that you make changes to your submitted patch, ideally what you should do is to resubmit the patch with the fixes --- and not submit a patch which is a delta to the previous one.&lt;/i&gt;&quot;  He also noted that patch submitters often greatly outnumber maintainers dictating a higher standard of quality, &quot;&lt;i&gt;consider that for some maintainers, there may be 10 or 20 or 30 or more patch submitters in their subsystem.  With that kind of submitter-to-maintainer ratio, the patch submitter simply has to do much more of the work, since otherwise the subsystem maintainer simply can&#039;t keep up.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;Ted went on to acknowledge, &quot;&lt;i&gt;I happen to believe that we need to encourage newcomers to the kernel developer community, and so I spend more time mentoring people who are new to the process.&lt;/i&gt;&quot;  He noted that his time was finite however, and that patches are accepted more quickly when they are easy to review and integrate.  Regarding the filesystem for which the patches had been submitted, he added, &quot;&lt;i&gt;&lt;a href=&quot;http://kerneltrap.org/ext4&quot;&gt;Ext4&lt;/a&gt; is actually quite stable at this point.  Very large numbers of people are using it, and most users are quite happy.&lt;/i&gt;&quot;  For this reason, he pointed out that it is even more critical that the patches merged be of high quality.  That said, he continued, &quot;&lt;i&gt;there is no such thing as code which is not buggy.  For any non-trivial program, it&#039;s almost certain there are bugs. [...] Ext4 is not exempt from these fundamental laws of software engineering.  &#039;Code is always buggy until the last user of the program dies&#039;.&lt;/i&gt;&quot;  He tied this back to the importance of testing patches before submitting, &quot;&lt;i&gt;keep in mind that the maxim that code which is not buggy also applies to your patches.&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/Properly_Creating_And_Testing_Patches&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Properly_Creating_And_Testing_Patches#comments</comments>
 <category domain="http://www.kerneltrap.org/bugs">bugs</category>
 <category domain="http://www.kerneltrap.org/development_process">development process</category>
 <category domain="http://www.kerneltrap.org/ext4">ext4</category>
 <category domain="http://www.kerneltrap.org/HOWTO">HOWTO</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/583">patch</category>
 <category domain="http://www.kerneltrap.org/Theodore_Tso">Theodore Ts&#039;o</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Fri, 09 Apr 2010 20:18:27 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">56223 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Linux: Memory Compaction </title>
 <link>http://www.kerneltrap.org/Linux/Memory_Compaction</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;&lt;a href=&quot;http://kerneltrap.org/Mel_Gorman&quot;&gt;Mel Gorman&lt;/a&gt; posted the &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2010/4/2/4554850&quot;&gt;seventh version&lt;/a&gt; of his Memory Compaction patches asking, &quot;&lt;i&gt;are there any further obstacles to merging?&lt;/i&gt;&quot;  The patches, &lt;a href=&quot;http://kerneltrap.org/node/8292&quot;&gt;first posted&lt;/a&gt; in May of 2007, provide a mechanism for moving GFP_MOVABLE pages into a smaller number of pageblocks, reducing externally fragmented memory.  Mel explains that &#039;compaction&#039; is another method of defragmenting memory, &quot;&lt;i&gt;for example, lumpy reclaim is a form of defragmentation as was slub &#039;defragmentation&#039; (really a form of targeted reclaim). Hence, this is called &#039;compaction&#039; to distinguish it from other forms of defragmentation.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;The core compaction patch explains that memory is compacted in a zone by relocating movable pages towards the end of the zone:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;A single compaction run involves a migration scanner and a free scanner.  Both scanners operate on pageblock-sized areas in the zone. The migration scanner starts at the bottom of the zone and searches for all movable pages within each area, isolating them onto a private list called migratelist.  The free scanner starts at the top of the zone and searches for suitable areas and consumes the free pages within making them available for the migration scanner. The pages isolated for migration are then migrated to the newly isolated free pages.&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/Memory_Compaction&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Memory_Compaction#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/251">compacting memory</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/866">defragmentation</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/mel_gorman">Mel Gorman</category>
 <category domain="http://www.kerneltrap.org/memory">memory</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/583">patch</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/477">RAM</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Sat, 03 Apr 2010 00:11:38 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">55793 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Dealing with Linux kernel configuration&#039;s diffs</title>
 <link>http://www.kerneltrap.org/node/41863</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;We&#039;re using a lot of different kernel configurations on our servers running Gentoo Linux and Linux VServer. Kernels&#039; configs depend on hardware and functions of every server. Every time new kernel is released and/or we need to enable/disable some features for all servers&#039; kernels we have to update .config&#039;s manually.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/node/41863&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/node/41863#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1883">config</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1893">diff</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/189">Kernel</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/171">Linux kernel</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/583">patch</category>
 <pubDate>Fri, 11 Sep 2009 16:22:31 +0000</pubDate>
 <dc:creator>Dmitry Shurupov</dc:creator>
 <guid isPermaLink="false">41863 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Quote: Ugliest Patch Ever</title>
 <link>http://www.kerneltrap.org/Quote/Ugliest_Patch_Ever</link>
 <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;Or, we could just do the ugliest patch ever, namely&lt;/p&gt;
&lt;pre&gt;	-#define pcibus_to_node(node)   (-1)
	+#define pcibus_to_node(node)   ((int)(long)(node),-1)&lt;/pre&gt;&lt;p&gt;Wow. It&#039;s so ugly it&#039;s almost wraps around and comes out the other side and looks pretty.&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
 <comments>http://www.kerneltrap.org/Quote/Ugliest_Patch_Ever#comments</comments>
 <category domain="http://www.kerneltrap.org/Linus_Torvalds">Linus Torvalds</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/583">patch</category>
 <category domain="http://www.kerneltrap.org/quote">quote</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1092">Linus Torvalds</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1094">linux-kernel</category>
 <pubDate>Tue, 12 Feb 2008 13:01:10 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">15478 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Quote: That Patch Fell Out Of The Ugly Tree</title>
 <link>http://www.kerneltrap.org/Quote/That_Patch_Fell_Out_Of_The_Ugly_Tree</link>
 <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;I bow down before you. I thought I had done some rather horrible things with gcc built-ins and macros, but I hereby hand over my crown to you. As my daughter would say: that patch fell out of the ugly tree, and hit every branch on the way down. Very impressive.&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
 <comments>http://www.kerneltrap.org/Quote/That_Patch_Fell_Out_Of_The_Ugly_Tree#comments</comments>
 <category domain="http://www.kerneltrap.org/Linus_Torvalds">Linus Torvalds</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/583">patch</category>
 <category domain="http://www.kerneltrap.org/quote">quote</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1092">Linus Torvalds</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1094">linux-kernel</category>
 <pubDate>Tue, 22 Jan 2008 00:51:30 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">15290 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Quote: The Best Patches Are Small And Insignificant</title>
 <link>http://www.kerneltrap.org/Quote/The_Best_Patches_Are_Small_And_Insignificant</link>
 <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;&#039;Too small&#039; and &#039;too insignificant&#039; is not a patch attribute that is in my vocabulary - by definition the best patches are very small and very insignificant (they just happen to end up doing something cool a 1000 steps later ;-) 99% of our problems come from &#039;too large&#039; and &#039;too intrusive&#039; patches.&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
 <comments>http://www.kerneltrap.org/Quote/The_Best_Patches_Are_Small_And_Insignificant#comments</comments>
 <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/taxonomy/term/583">patch</category>
 <category domain="http://www.kerneltrap.org/quote">quote</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1127">Ingo Molnar</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1094">linux-kernel</category>
 <pubDate>Fri, 18 Jan 2008 15:26:21 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">15259 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Deprecating __deprecated</title>
 <link>http://www.kerneltrap.org/Linux/Deprecating___deprecated</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;The __deprecated marker is quite useful in highlighting the remnants of old APIs that want removing.  However, it is quite normal for one or more years to pass, before the (usually ancient, bitrotten) code in question is either updated or deleted,&lt;/i&gt;&quot; explained Jeff Garzik, posting a small patch to make it possible to silence &quot;&lt;i&gt;warning: &#039;foo&#039; is deprecated&lt;/i&gt;&quot; type messages.  &lt;/p&gt;
&lt;p&gt;Andrew Morton wasn&#039;t impressed, suggesting, &quot;&lt;i&gt;Sigh.  Can&#039;t we just fix the dud code?  Or mark it BROKEN and see what happens?&lt;/i&gt;&quot;  Linus Torvalds added, &quot;&lt;i&gt;I think removing __deprecated is the better option.  Quite frankly, some people add &#039;__deprecated&#039; *way* too eagerly.&lt;/i&gt;&quot;  Jeff agreed that &lt;code&gt;__deprecated&lt;/code&gt; is over used, &quot;&lt;i&gt;__deprecated has spread to just about every API that people don&#039;t consider fresh and up-to-date.&lt;/i&gt;&quot;  He then added ,&quot;&lt;i&gt;like I noted in the patch description, rewriting grotty ISA/MCA/etc. probe code is a thankless, boring task that few are crazy enough to attempt :)  As you can see from the patch flood recently I /have/ been working through the dud code, but it will still take years.  The changes required for each are on average ~200 LOC changed, if not more.&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/Deprecating___deprecated&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Deprecating___deprecated#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/386">API</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/528">deprecated</category>
 <category domain="http://www.kerneltrap.org/Jeff_Garzik">Jeff Garzik</category>
 <category domain="http://www.kerneltrap.org/Linus_Torvalds">Linus Torvalds</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/583">patch</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Fri, 26 Oct 2007 13:03:19 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14684 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Cleaning Up irq Handlers</title>
 <link>http://www.kerneltrap.org/Linux/Cleaning_Up_irq_Handlers</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;Jeff Garzik posted a series of nine patchs to the lkml titled to &quot;&lt;i&gt;&lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/10/19/348081&quot;&gt;remove [the] &#039;irq&#039; argument from all irq handlers&lt;/a&gt;&lt;/i&gt;&quot;, explaining, &quot;&lt;i&gt;the overwhelming majority of drivers do not ever bother with the &#039;irq&#039; argument that is passed to each driver&#039;s irq handler.  Of the minority of drivers that do use the arg, the majority of those have the irq number stored in their private-info structure somewhere.&lt;/i&gt;&quot;  He noted that he had no intention to push the patches upstream anytime soon.&lt;/p&gt;
&lt;p&gt;Feedback was entirely positive, with Thomas Gleixner suggesting, &quot;&lt;i&gt;Full ACK.  We should do this right at the edge of -rc1. And let&#039;s do this right now in .24 and not drag it out for no good reason.&lt;/i&gt;&quot;  Ingo Molnar concurred, &quot;&lt;i&gt;full ACK on the concept from me too. Please go ahead! :)&lt;/i&gt;&quot;  Eric Biederman noted that there was still work to be done, &quot;&lt;i&gt;the practical question is how do we make this change without breaking the drivers that use their irq argument.&lt;/i&gt;&quot;  Jeff agreed, explaining why the code won&#039;t be pushed upstream during -rc1, &quot;&lt;i&gt;I am finding a ton of bugs in each get_irqfunc_irq() driver, so I would rather patiently sift through them, and push fixes and cleanups upstream.  Once that effort is done, everything should be in the &#039;trivial&#039; pile and not have the logic that you are worried about (and thus there would be no need to add an additional branch to the irq handling path).&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/Cleaning_Up_irq_Handlers&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Cleaning_Up_irq_Handlers#comments</comments>
 <category domain="http://www.kerneltrap.org/-rc1">-rc1</category>
 <category domain="http://www.kerneltrap.org/2.6.24">2.6.24</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/953">Eric Biederman</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1091">irq</category>
 <category domain="http://www.kerneltrap.org/Jeff_Garzik">Jeff Garzik</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/583">patch</category>
 <category domain="http://www.kerneltrap.org/Thomas_Gleixner">Thomas Gleixner</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Mon, 22 Oct 2007 01:47:54 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14630 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Keeping Ramdisk Pages Dirty</title>
 <link>http://www.kerneltrap.org/Linux/Keeping_Ramdisk_Pages_Dirty</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;We have seen ramdisk based install systems, where some pages of mapped libraries and programs were suddendly zeroed under memory pressure.  This should not happen, as the ramdisk avoids freeing its pages by keeping them dirty all the time,&lt;/i&gt;&quot; Christian Borntraeger began, explaining the need for his &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/10/9/333041&quot;&gt;small patch to the ramdisk driver&lt;/a&gt;.  He continued, &quot;&lt;i&gt;it turns out that there is a case, where the VM makes a ramdisk page clean, without telling the ramdisk driver. On memory pressure shrink_zone runs and it starts to run shrink_active_list.  There is a check for buffer_heads_over_limit, and if true, pagevec_strip is called. pagevec_strip calls try_to_release_page. If the mapping has no releasepage callback, try_to_free_buffers is called. try_to_free_buffers has now a special logic for some file systems to make a dirty page clean, if all buffers are clean. Thats what happened in our test case.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;He provided two methods for duplicating the reported problem, &quot;&lt;i&gt;you have to make buffer_heads_over_limit true&lt;/i&gt;&quot;  This is done by either lowering &lt;code&gt;max_buffer_heads&lt;/code&gt; or having a system with lots of high memory.  &quot;&lt;i&gt;The solution is to provide a noop-releasepage callback for the ramdisk driver. This avoids try_to_free_buffers for ramdisk pages.&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/Keeping_Ramdisk_Pages_Dirty&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Keeping_Ramdisk_Pages_Dirty#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1065">Christian Borntraeger</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/478">high memory</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/583">patch</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/477">RAM</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/1064">ramdisk</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Thu, 11 Oct 2007 20:01:06 +000