<?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>jcm&#039;s blog &#187; Linux Kernel</title>
	<atom:link href="http://www.jonmasters.org/blog/category/general/linux-kernel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonmasters.org/blog</link>
	<description>World Organi[sz]ation Of Broken Dreams</description>
	<lastBuildDate>Thu, 02 Sep 2010 21:00:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The risk of upgrades</title>
		<link>http://www.jonmasters.org/blog/2010/08/21/the-risk-of-upgrades/</link>
		<comments>http://www.jonmasters.org/blog/2010/08/21/the-risk-of-upgrades/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 09:38:47 +0000</pubDate>
		<dc:creator>jcm</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux Kernel]]></category>

		<guid isPermaLink="false">http://www.jonmasters.org/blog/?p=775</guid>
		<description><![CDATA[Sometimes it seems like we&#8217;re living in a world of two kinds of Open Source. On the one hand, we have those who like to run unstable/rawhide type of systems, with the latest kernels, and who feel that anything older than ten minutes is still in the stone age. These people are usually paid to [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes it seems like we&#8217;re living in a world of two kinds of Open Source. On the one hand, we have those who like to run unstable/rawhide type of systems, with the latest kernels, and who feel that anything older than ten minutes is still in the stone age. These people are usually paid to work on such things, have a lot of free time not spent doing other stuff, etc. The very notion that you might not upgrade every system the moment &#8211; nay the femtosecond &#8211; that the new version is out obviously means you&#8217;re not cool enough for school, even if what you have is working well enough for you right now. That means that the desktop on which you only surf the web &#8211; not the system you actually do kernel compiles on &#8211; must be running the latest possible stuff released 2 hours ago, &#8220;just because&#8221; (insert no useful reason here).</p>
<p>On the other hand, we have &#8220;Enterprise&#8221; types who install something to solve a problem, and then have to pay real, tangible, money to upgrade/change. Testing costs money and takes time (and I mean of the non-throw it over the wall and hope &#8211; but hey, it&#8217;s new so it must be better and worth breakage, right?), and if it aint broke, why fix it? Seriously. If an older version of a Linux distribution with an older kernel works for you, and you can still get essential security fixes, then great. More power to you. This is where Open Source should be offering a compelling choice not to upgrade, if you don&#8217;t want to. Incidentally, that&#8217;s the reason you don&#8217;t see updates for lots of older embedded gadgets &#8211; as I pointed out at Linux Symposium when explaining how the average (non-geek) consumer doesn&#8217;t necessarily &#8220;need&#8221; Android 2.2 the moment it is first built in beta. Doing an OTA upgrade for something that already works introduces the risk of bricking many units and incurring cost. It doesn&#8217;t mean it&#8217;s not fun to upgrade your phone to the latest Android test build, or that some manufacturers won&#8217;t choose to do it as a value-add, but it does means it&#8217;s something you can do on your own dime. If it breaks because they upgraded it for you, they pay. If it breaks because you couldn&#8217;t leave it alone, it&#8217;s your fault. Keep both pieces.</p>
<p>I used to fall more into the camp of wanting the latest and greatest on every machine. Back when I enjoyed spending a weekend configuring APS to make my printer work with just the most ultra-pointlessly geeky layout for text files sent to lpr, I enjoyed re-installing, upgrading, and generally playing around. After all, this was before I really finally realized there is more to life than computers all the time. Over time, like many others, I grew up and realized that some things which work can appropriately be left alone without the universe exploding. Sure, we don&#8217;t want 40-year-old unmaintainable software disasters driving our government infrastructure of tomorrow, but there&#8217;s a medium somewhere in there too. I hope that, as the Open Source community matures, more people will come to appreciate this fact. By all means develop using the latest and greatest, but spare a thought for accepting that not everyone out there in the user community is as excited about wasting a day/weekend doing an upgrade unless or until they have to.</p>
<p>Jon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonmasters.org/blog/2010/08/21/the-risk-of-upgrades/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Intel/AMD CPU catchup</title>
		<link>http://www.jonmasters.org/blog/2010/03/28/intelamd-cpu-catchup/</link>
		<comments>http://www.jonmasters.org/blog/2010/03/28/intelamd-cpu-catchup/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 04:32:43 +0000</pubDate>
		<dc:creator>jcm</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux Kernel]]></category>

		<guid isPermaLink="false">http://www.jonmasters.org/blog/?p=742</guid>
		<description><![CDATA[So I decided roughly a decade too late that the POWER/PowerPC/SPARC RISC fanboy in me probably needed to (reluctantly) accept that x86 won the war, which means I&#8217;ve been brushing up on my x86-64 assembler (by poking in head_*.S, which is correctly written in AT&#038;T syntax, and not that other syntax I shall not name) [...]]]></description>
			<content:encoded><![CDATA[<p>So I decided roughly a decade too late that the POWER/PowerPC/SPARC RISC fanboy in me probably needed to (reluctantly) accept that x86 won the war, which means I&#8217;ve been brushing up on my x86-64 assembler (by poking in head_*.S, which is correctly written in AT&#038;T syntax, and not that <i>other</i> syntax I shall not name) and trying to catch up on what the heck Intel and AMD are working on in terms of roadmaps, etc. I now know how REX prefixes work on &#8220;Intel 64&#8243;, for example. And I&#8217;ve read the recent changes to the ABI (Fortran support included!). I shall poke at the recent SVM/nested page tables stuff sometime for fun. Oh, and I don&#8217;t care that I&#8217;m not an IA32 assembly guru, I shall focus on flat 86-64 and forget about last century&#8217;s segmentation and other ye olde bank switching inspired hacks.</p>
<p>This weekend, I&#8217;ve gone over all of the recent models and public announcements, read some IDF bits, and learned about Intel&#8217;s QPI (as opposed to the one I knew, AMD HT &#8211; QPI is basically trying to throw off the FSB, but it does some nice failover things HT does not include AFAIK). I&#8217;ve concluded that the model numbers used by these guys these days are way, way too confusing. Even more so than when I last really cared about this stuff &#8211; determining which &#8220;Xeon&#8221; has Intel-VT or AMD-V is a game of looking up lots of 4 digit model numbers where a simple naming formula somehow including reference to the microarchitecture used in the model &#8220;name&#8221; would suffice to convey far more useful information). But, none of this stuff is your grandfather&#8217;s x86. It&#8217;s every bit as capable (in x86-64 anyway) of taking on the other Big Endian arches I have always personally preferred.</p>
<p>I expect to do a lot more to keep up with x86 development rather than letting my own personal academic fondness for cleaner ISAs limit my exposure. I&#8217;m thinking about getting another older Xeon build/test box for playing with x86 stuff and for speeding up kernel compiles at home &#8211; perhals a used Dell PE1950 or Precision 490 as these have the best bang for buck ratio at the moment. What I would like to know, from anyone who bothered to read this far, is where should I be going to get the very latest information on x86 developments? I&#8217;m on the k.o lists, and I am specifically not a game playing weenie who cares about that stuff &#8211; I want to know about roadmaps, things like the new AES extensions, etc. I don&#8217;t care that the &#8220;whizzbang X1234 blah blah would look uber l33t in this plexiglass case I just bought on eBay&#8221;.</p>
<p>Jon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonmasters.org/blog/2010/03/28/intelamd-cpu-catchup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remote kgdb target debugging via the Cyclades TS-3000 Terminal Server</title>
		<link>http://www.jonmasters.org/blog/2010/02/12/remote-kgdb-target-debugging-via-the-cyclades-ts-3000-terminal-server/</link>
		<comments>http://www.jonmasters.org/blog/2010/02/12/remote-kgdb-target-debugging-via-the-cyclades-ts-3000-terminal-server/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 09:12:46 +0000</pubDate>
		<dc:creator>jcm</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux Kernel]]></category>

		<guid isPermaLink="false">http://www.jonmasters.org/blog/?p=718</guid>
		<description><![CDATA[So I&#8217;ve been poking at Jason Wessel&#8217;s kgdb patches recently (specifically, the ones in kgdb-next &#8211; you do believe in kernel debuggers, right? Good). They came in very handy when trying to track down an obscure netfilter brokenness last week that was causing Fedora kernels to fall over reproducibly when running KVM. That particular issue [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been poking at Jason Wessel&#8217;s <a href="http://git.kernel.org/?p=linux/kernel/git/jwessel/linux-2.6-kgdb.git;a=summary">kgdb patches</a> recently (specifically, the ones in kgdb-next &#8211; you do believe in kernel debuggers, right? Good). They came in very handy when trying to track down an obscure netfilter brokenness last week that was causing Fedora kernels to fall over reproducibly when running KVM. That particular issue was caused by libvirt&#8217;s namespace code that attempts to create additional network namespaces on startup, just to see if it&#8217;s possible (for optional containers support). After a very long weekend, I pointed out a number of bugs that got fixed. But it got me thinking about kgdb and being able to easily debug stuff that rolls over and plays dead.</p>
<p>Traditionally, I have used a (somewhat loud, and sometimes therefore unfortunately annoying) PC attached to my debugging target via a serial crossover cable. Actually, it&#8217;s the inverse of the usual setup in which said other PC is intended to be the target of experimental test kernels, with my desktop generally not being anticipated to fall over with kernel bugs (as it has been doing increasingly of late). In any case, it&#8217;s not optimal to leave that PC running and I prefer it being used for evil test experiments. An opportunity to buy random crap on eBay presented itself in the form of an awesome <a href="http://www.cyclades.com/">Cyclades</a> (now some other random company) terminal server. I bought a TS-3000 for $115, which is less than a tenth of what they used to go for retail. 48 ports of serial terminal server goodness for the home.</p>
<p><img src="http://farm5.static.flickr.com/4046/4350222707_41ccd531df.jpg" /></p>
<p><strong>Photo</strong>: My Cyclades TS-3000 sitting atop an APC Masterswitch Plus</p>
<p>I was never very good at waiting for santa. I was tracking this damned thing several times a day for the two days it was in transit. And when it arrived &#8211; shock! &#8211; it might not have the latest firmware! Quick! Time to fix that. I hadn&#8217;t even used it in anger before I managed to brick the thing with an update not intended for this model. Cursing myself, I figured I would just rescue it via TFTP. But that requires a special console cable (not quite the same as some others) in order to interrupt the standard boot. Obviously I had none of these cables, and all of the ones here were useless. And I wasn&#8217;t prepared to wait ten minutes to order another one. So I went to Microcenter, and bought two RJ45-DB9 generic converters you can click together to wire yourself.</p>
<p>I followed a diagram online to make the RJ45-DB9 cable for the Cyclades &#8211; twice. But all of the posted diagrams were incorrect (this is nothing like a Cisco cable, even if you&#8217;re a moron and think that it is when you incorrectly make a website with the wrong pinouts, especially if you&#8217;re Cyclades and write a manual with the wrong information contained within it&#8230;thanks a bunch!). Not to be discouraged, the soldering iron came out, and I rummaged around in a box of parts to find some serial connectors. Fortunately, I had a female DB9 and plenty of old crappyish network cables. I soldered, desoldered, and resoldered this thing about 4 times before finding the <a href="http://www.conserver.com/consoles/Cyclades/cycladescons.html">correct Cyclades console cable pinout (ADB0036 female DB9)</a> (repeated below, for the benefit of others who read this). Finally, I reflashed the unit with the same firmware it had had when it arrived (zImage_ts_140-3.bin) &#8211; the &#8220;new&#8221; firmware was only for specific other units of which mine was not one thereof, there is a newer &#8220;GPL&#8221; kit I will poke at sometime &#8211; and booted it up.</p>
<p><img src="http://farm5.static.flickr.com/4019/4350222299_e9c3c1d150.jpg" /></p>
<p><strong>Photo</strong>: A homebrew Cyclades ADB0036 Cable</p>
<table border="1">
<tr>
<th>RJ45 pin</th>
<th>DB9 pin</th>
</tr>
<tr>
<td>1</td>
<td>8 (CTS)</td>
</tr>
<tr>
<td>2</td>
<td>1 (DCD) and 6 (DSR)</td>
</tr>
<tr>
<td>3</td>
<td>2 (RD)</td>
</tr>
<tr>
<td>4</td>
<td>5 (SGND)</td>
</tr>
<tr>
<td>5</td>
<td>7 (RTS)</td>
</tr>
<tr>
<td>6</td>
<td>3 (TD)</td>
</tr>
<tr>
<td>7</td>
<td>4 (DTR)</td>
</tr>
<tr>
<td>8</td>
<td>4 (DTR)</td>
</tr>
</table>
<p><strong>Figure</strong>: The correct pinout for a Cyclades ADB0036 console cable (RJ45 to Female DB9 connector)</p>
<p>Cyclades made good (fanless) hardware, but they were hardly the most adept at making configuration straightforward. Sure, you can configure the network easily (this one is called &#8220;morse&#8221; after the inventor &#8211; in the US &#8211; of the coding used for telegraphs, which are an ancient precursor to the RS232 standard used on modern serial ports), but when it comes to the port setup&#8230;what you want to know is that you&#8217;re looking for the &#8220;Socket SSH&#8221; option, set to increment (e.g. from &#8220;1&#8243; &#8211; no need to use the &#8220;7001&#8243; example, you&#8217;re not directly sshing into the port anyway, as with telnet), and based upon a simple &#8220;CAS profile&#8221; with local authentication (make sure you add a new &#8220;system&#8221; user for those SSH logins), unless you want to use RADIUS (I have home KRB5, but haven&#8217;t deployed RADIUS at the moment). Always make sure you &#8220;Run Configuration&#8221; before flashing &#8211; it seems the former writes to the actual config files that the latter will use, so you cannot necessarily flash and then &#8220;Run Configuration&#8221; that way around, depending upon the particular operation you are performing.</p>
<p>Once you have the terminal server running, you can talk to it:</p>
<p><code>$ ssh user_name:port_number@terminal_server.address</code></p>
<p>More importantly perhaps, you can use the gdb remote target:</p>
<p><code>(gdb) target remote | ssh -t -t user_name:port_number@terminal_server.address</code></p>
<p>Remember to tell ssh not to ruin the day (fail to allocate a pty for your friendly conversation) by specifying the &#8220;-t -t&#8221;, then you can talk to Jason&#8217;s kgdb stub.</p>
<p>Next steps? I need to make some more of these damned ADB0036 cables (or find some more on eBay &#8211; anyone want some useless Cisco cables I bought thinking they were the same?) and hook them up to all of my systems at home. They will then constantly log via the awesomeness of GNU screen to a remote VM, and I can jump in if something rolls over and catch it so I won&#8217;t miss panic/debug opportunities.</p>
<p>Kernel debuggers FTW.</p>
<p>Jon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonmasters.org/blog/2010/02/12/remote-kgdb-target-debugging-via-the-cyclades-ts-3000-terminal-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remote fencing with an APC Masterswitch Plus (with an AP9606)</title>
		<link>http://www.jonmasters.org/blog/2009/06/28/remote-fencing-with-apc-masterswitch-plus-with-an-ap9606/</link>
		<comments>http://www.jonmasters.org/blog/2009/06/28/remote-fencing-with-apc-masterswitch-plus-with-an-ap9606/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 19:23:53 +0000</pubDate>
		<dc:creator>jcm</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux Kernel]]></category>

		<guid isPermaLink="false">http://www.jonmasters.org/blog/?p=713</guid>
		<description><![CDATA[
Photo: APC Masterswitch Plus (with an AP9606)
As I mentioned before, I&#8217;ve been fencing most of my home/office systems (and even lights) these days. The problem is that cheaper power switches like the IP Power 9258 can be damaged quite easily. Two of mine have failed under a particular load element and I&#8217;m not saying in [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm3.static.flickr.com/2582/3669271204_c4ac1c36b7.jpg"/></p>
<p><b>Photo</b>: APC Masterswitch Plus (with an AP9606)</p>
<p>As I mentioned before, I&#8217;ve been fencing most of my home/office systems (and even lights) these days. The problem is that cheaper power switches like the IP Power 9258 can be damaged quite easily. Two of mine have failed under a particular load element and I&#8217;m not saying in that case that it&#8217;s not my fault (I still like those units), but it&#8217;s clear that having something more &#8220;household name&#8221; can be a good idea. So I looked on ebay and discovered that old APC Masterswitches now often go for similar money to other more expensive kit.</p>
<p>I bought an 8-port Masterswitch Plus (with an AP9606) this week. Previously these went for up to $1000, but can now be had for even a tenth of that much. And they do telnet/SNMP (and ssh, if you upgrade them &#8211; not so much of a concern in this particular out-of-band configuration). I looked around for fencing scripts and obviously found the Red Hat Cluster Suite fence_apc stuff but I don&#8217;t want to install lots of stuff, and I don&#8217;t want to talk over telnet if I&#8217;ve got a private SNMP community configured and am reasonably comfortable with that. So I updated my previous script to talk to APC Masterswitch units.</p>
<p><a href="http://www.jonmasters.org/downloads/scripts/masterswitch_example">APC Masterswitch Plus (with an AP9606) fencing script</a>.</p>
<p>Jon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonmasters.org/blog/2009/06/28/remote-fencing-with-apc-masterswitch-plus-with-an-ap9606/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing kernelpodcast.org</title>
		<link>http://www.jonmasters.org/blog/2009/06/16/announcing-kernelpodcastorg/</link>
		<comments>http://www.jonmasters.org/blog/2009/06/16/announcing-kernelpodcastorg/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 21:11:14 +0000</pubDate>
		<dc:creator>jcm</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux Kernel]]></category>

		<guid isPermaLink="false">http://www.jonmasters.org/blog/?p=711</guid>
		<description><![CDATA[
I recently registered and setup kernelpodcast.org, where you can find links to the RSS feeds (podcast, and the transcripts), comment, and a lot more besides.
Jon.
]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.kernelpodcast.org/images/headphones.png"/></p>
<p>I recently registered and setup <a href="http://www.kernelpodcast.org/">kernelpodcast.org</a>, where you can find links to the RSS feeds (podcast, and the transcripts), comment, and a lot more besides.</p>
<p>Jon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonmasters.org/blog/2009/06/16/announcing-kernelpodcastorg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
