<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Intrepid Blog &#187; kernel</title>
	<atom:link href="http://blog.affien.com/archives/tag/kernel/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.affien.com</link>
	<description>A few thoughts</description>
	<lastBuildDate>Mon, 23 Jan 2012 08:47:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ulrich Drepper on Memory</title>
		<link>http://blog.affien.com/archives/2007/10/13/ulrich-drepper-on-memory/</link>
		<comments>http://blog.affien.com/archives/2007/10/13/ulrich-drepper-on-memory/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 18:54:59 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[lwn]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[ulrich drepper]]></category>

		<guid isPermaLink="false">http://blog.w-nz.com/archives/2007/10/13/ulrich-drepper-on-memory/</guid>
		<description><![CDATA[Kernel hacker Ulrich Drepper has written a lengthy pape [...]]]></description>
			<content:encoded><![CDATA[<p>Kernel hacker Ulrich Drepper has written a lengthy paper on the design and especially performance characteristics of memory of modern consumer hardware and it&#8217;s written for programmers. A great read so far (it&#8217;s published in parts by LWN):</p>
<p><a href="http://lwn.net/Articles/250967/">What every programmer should know about memory</a> by Ulrich Drepper.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2007/10/13/ulrich-drepper-on-memory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syslets and other untrusted kernelspace programming</title>
		<link>http://blog.affien.com/archives/2007/06/11/syslets-and-other-untrusted-kernelspace-programming/</link>
		<comments>http://blog.affien.com/archives/2007/06/11/syslets-and-other-untrusted-kernelspace-programming/#comments</comments>
		<pubDate>Mon, 11 Jun 2007 00:39:04 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[Intermediate Languages]]></category>
		<category><![CDATA[The Linux kernel]]></category>
		<category><![CDATA[jit]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[syslet]]></category>
		<category><![CDATA[systemcall]]></category>

		<guid isPermaLink="false">http://blog.w-nz.com/archives/2007/06/11/syslets-and-other-untrusted-kernelspace-programming/</guid>
		<description><![CDATA[In the wake of creating true async. IO in the linux ker [...]]]></description>
			<content:encoded><![CDATA[<p>In the wake of creating true async. IO in the linux kernel Ingo worked on so called syslets.  A syslet is nothing more than one async system call to chain together a few arbitrary system calls.  An example syslet would be:</p>
<blockquote><p>1. Read from file descriptor 123<br />
2. If 1 returned with error, break<br />
3. Write which was read to file descriptor 321<br />
4. If 3 succeeded jump to 1 otherwise break</p></blockquote>
<p>This is represented by a few struct&#8217;s linked together of which the first is passed on to the kernel with the syslet system call.  The systemcall returns practically directly and eventually the application can be notified (or can wait) on the syslet to complete.  This could safe an enormous amount of system calls.  This means way less context switches, which is very good for performance.</p>
<p>Syslets dawn, in a very primitive manner, kernelspace scripting. But hey, wasn&#8217;t kernelside scripting the thing that all linux dev&#8217;s dreaded?  Wasn&#8217;t it Linus who joked that he would be in a mental institute whilst releasing Linux 3 with a VB message pump?  Yes, they&#8217;re afraid of putting untrusted programs/scripts in kernelspace and they&#8217;ll barely acknowledge that syslets is the first step.</p>
<p>The problem with the current full-featured scripting languages is that they are, well, full-features gone wrong: they&#8217;re bloated and not really secure.  In kernelspace you can&#8217;t allow any memory except for the scripts&#8217; own to be accessed, not to mention the restrictions on resources and virtual memory won&#8217;t help you there.  Most scripting languages weren&#8217;t developed with these restrictions in mind.  Most languages have got evil functions in dark corners of the standard library that will allow you to do really evil stuff with memory.</p>
<p>As far as I know only .net (thus mono) have got a quite rigorous trust framework build in. .Net is bloated and proprietary and Mono is still (and probably will never be) feature complete though still being very bloated.</p>
<p>A very simple safe language is what we need, of which a compiler daemon is running as a system service, with which untrusted userspace programs can have scripts running in the kernel.  I&#8217;m tempted to use one of the brainf*ck JIT&#8217;s, they&#8217;re small enough to thoroughly review <img src='http://blog.affien.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>A kernelspace interpreter would do to, though, as a PoC.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2007/06/11/syslets-and-other-untrusted-kernelspace-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reiser4 for linux 2.6.20</title>
		<link>http://blog.affien.com/archives/2007/02/25/reiser4-for-linux-2620/</link>
		<comments>http://blog.affien.com/archives/2007/02/25/reiser4-for-linux-2620/#comments</comments>
		<pubDate>Sun, 25 Feb 2007 22:27:37 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reiser4]]></category>

		<guid isPermaLink="false">http://blog.w-nz.com/archives/2007/02/25/reiser4-for-linux-2620/</guid>
		<description><![CDATA[reiser4-for-2.6.20-0.patch.gz

Big fat warning, when  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://w-nz.com/~darkshines/projects/reiser4-for-2.6.20-0.patch.gz">reiser4-for-2.6.20-0.patch.gz</a></p>
<p><strong>Big fat warning</strong>, when hibernating using suspend2 it seems to corrupt some memory here and there. So don&#8217;t hibernate.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2007/02/25/reiser4-for-linux-2620/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reiser4 for 2.6.19</title>
		<link>http://blog.affien.com/archives/2006/12/09/reiser4-for-2619/</link>
		<comments>http://blog.affien.com/archives/2006/12/09/reiser4-for-2619/#comments</comments>
		<pubDate>Sat, 09 Dec 2006 15:23:23 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reiser4]]></category>

		<guid isPermaLink="false">http://blog.w-nz.com/archives/2006/12/09/reiser4-for-2619/</guid>
		<description><![CDATA[I found this patch: reiser4-for-2.6.19.patch.gz. [...]]]></description>
			<content:encoded><![CDATA[<p>I found this patch: <a href="http://laurent.riffard.free.fr/reiser4/reiser4-for-2.6.19.patch.gz">reiser4-for-2.6.19.patch.gz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2006/12/09/reiser4-for-2619/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reiser4 on 2.6.18</title>
		<link>http://blog.affien.com/archives/2006/10/27/reiser4-on-2618/</link>
		<comments>http://blog.affien.com/archives/2006/10/27/reiser4-on-2618/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 23:41:31 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reiser4]]></category>

		<guid isPermaLink="false">http://blog.w-nz.com/archives/2006/10/27/reiser4-on-2618/</guid>
		<description><![CDATA[Try this patch: 
http://vipernicus.evolution-mission.o [...]]]></description>
			<content:encoded><![CDATA[<p>Try this patch: <a href="http://vipernicus.evolution-mission.org/patches/2.6.18/emission1/patches/04-reiser4-2.6.18-mm2.patch"></p>
<p>http://vipernicus.evolution-mission.org/&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2006/10/27/reiser4-on-2618/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bcmap 0.1</title>
		<link>http://blog.affien.com/archives/2006/08/13/bcmap-01/</link>
		<comments>http://blog.affien.com/archives/2006/08/13/bcmap-01/#comments</comments>
		<pubDate>Sun, 13 Aug 2006 17:41:33 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bcmap]]></category>
		<category><![CDATA[broadcom]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.w-nz.com/archives/2006/08/13/bcmap-01/</guid>
		<description><![CDATA[bcmap is a simply program to be linked against klibc to [...]]]></description>
			<content:encoded><![CDATA[<p><code>bcmap</code> is a simply program to be linked against klibc to map Broadcom RAIDCORE disks to more sensible and stable device nodes.</p>
<p>Currently the bcraid drivers assign the next available <code>sd</code> node to a detected disk, which is very inconvenient when you have a usb stick inserted on boot which pushes your root disk from <code>sda</code> to <code>sdb</code>.</p>
<p>bcmap ensures that your first array will always be <code>/dev/bca</code>, which is a nice thing.</p>
<p>&gt;&gt;&gt; <a href="http://w-nz.com/~darkshines/projects/bcmap-0.1.tar.bz2">bcmap-0.1.tar.bz2</a> (source code)</p>
<p>Licensed under the (holy) GNU GPL v.2</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2006/08/13/bcmap-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bcraid drivers part two</title>
		<link>http://blog.affien.com/archives/2006/08/05/bcraid-drivers-part-two/</link>
		<comments>http://blog.affien.com/archives/2006/08/05/bcraid-drivers-part-two/#comments</comments>
		<pubDate>Sat, 05 Aug 2006 13:31:12 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bcraid]]></category>
		<category><![CDATA[broadcom]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.w-nz.com/archives/2006/08/05/bcraid-drivers-part-two/</guid>
		<description><![CDATA[Here's a small patch that tweak the broadcom raid drive [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a small patch that tweak the broadcom raid drivers for the bc4000 series to run on the latest kernels:</p>
<p>http://w-nz.com/~darkshines/projects/bcraid-2.1.0-bw1.patch</p>
<p>Note that it is everything but complete. Some other pointers getting the bcraid to work:</p>
<ul>
<li>Use sparse memory or conitguous memory instead of incontiguous memory in the memory layout configuration in the kernel. (<code>CONFIG_SPARSEMEM=y</code>)</li>
<li>Enable the magic sysrq key (<code>CONFIG_MAGIC_SYSRQ=y</code>)</li>
</ul>
<p>At the moment I&#8217;m trying to get the bcraid module working in an initrd to allow the root partition on the raid drivers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2006/08/05/bcraid-drivers-part-two/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

