<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
>

  <channel rdf:about="http://lwn.net/headlines/281029/">
    <title>LWN: Comments on "The last things through the 2.6.26 merge window"</title>
    <link>http://lwn.net/Articles/281029/</link>
    <description>
This is a special feed containing comments posted
to the individual LWN article titled &quot;The last things through the 2.6.26 merge window&quot;.

    </description>

    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>2</syn:updateFrequency>
    <items>
      <rdf:Seq>
	<rdf:li resource="http://lwn.net/Articles/282495/rss" />
	<rdf:li resource="http://lwn.net/Articles/282465/rss" />
	<rdf:li resource="http://lwn.net/Articles/281546/rss" />
	<rdf:li resource="http://lwn.net/Articles/281543/rss" />
	<rdf:li resource="http://lwn.net/Articles/281535/rss" />
	<rdf:li resource="http://lwn.net/Articles/281474/rss" />
	<rdf:li resource="http://lwn.net/Articles/281466/rss" />
	<rdf:li resource="http://lwn.net/Articles/281450/rss" />
	<rdf:li resource="http://lwn.net/Articles/281397/rss" />
	<rdf:li resource="http://lwn.net/Articles/281387/rss" />
      
      </rdf:Seq>
    </items>

  </channel>
    <item rdf:about="http://lwn.net/Articles/282495/rss">
      <title>4k/8k stacks</title>
      <link>http://lwn.net/Articles/282495/rss</link>
      <dc:date>2008-05-15T14:01:28+00:00</dc:date>
      <dc:creator>mcortese</dc:creator>
      <description>
      &lt;p&gt;Kernel address space maps 1-to-1 to physical memory (at least for less than 1 GiB of RAM).
The argument is 1 page vs. 2 pages of stack.
Having just 1 page of stack plus 1 &lt;em&gt;guard&lt;/em&gt; page just doesn't save anything.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/282465/rss">
      <title>4k/8k stacks</title>
      <link>http://lwn.net/Articles/282465/rss</link>
      <dc:date>2008-05-15T11:37:09+00:00</dc:date>
      <dc:creator>cras</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
Maybe a small (32bit?) canary at the end of the stack would help a bit? Although if an
overflow 
happens I guess by the time it's noticed the kernel might have crashed already.


&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/281546/rss">
      <title>4k/8k stacks</title>
      <link>http://lwn.net/Articles/281546/rss</link>
      <dc:date>2008-05-09T00:57:50+00:00</dc:date>
      <dc:creator>corbet</dc:creator>
      <description>
      All memory is virtual memory when the kernel is running.  But kernel-space addresses are a sort of special case, in that they are mapped as one big page using a single page table entry.  So it's not possible to insert inaccessible guard pages after the kernel stacks - at least, not without dropping the big mapping, which would have a significant performance cost.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/281543/rss">
      <title>4k/8k stacks</title>
      <link>http://lwn.net/Articles/281543/rss</link>
      <dc:date>2008-05-09T00:48:08+00:00</dc:date>
      <dc:creator>jmspeex</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
I believe we're talking non-virtual memory, so an overflow would just end up on the next
physical page with no way to detect it. Or maybe I'm just talking through my ass (I'm not a
kernel dev).
&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/281535/rss">
      <title>4k/8k stacks</title>
      <link>http://lwn.net/Articles/281535/rss</link>
      <dc:date>2008-05-08T23:12:13+00:00</dc:date>
      <dc:creator>kbob</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
I'm asking this from a position of ignorance -- I haven't looked at kernel code in a long
time.  But wouldn't it be possible to allocate 4k stacks with guard pages between them, thus
(a) saving memory and (b) generating a loud exception on stack overflow?

Or is there some kind of overhead in leaving holes into the kernel address space that I'm not
aware of?


&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/281474/rss">
      <title>The last things through the 2.6.26 merge window</title>
      <link>http://lwn.net/Articles/281474/rss</link>
      <dc:date>2008-05-08T16:47:36+00:00</dc:date>
      <dc:creator>jzbiciak</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
Well, there's chop() and there's chomp().  Methinks chomp() is more appropriate to handle
optional newlines.  :-)
&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/281466/rss">
      <title>The last things through the 2.6.26 merge window</title>
      <link>http://lwn.net/Articles/281466/rss</link>
      <dc:date>2008-05-08T16:37:44+00:00</dc:date>
      <dc:creator>bronson</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
As of this year, I think chop is 20 years old (+/- 1 year).  So this is what the future looks
like...  not very impressive.  I thought we'd all be using CORBA-connected dataflow languages
by now!
&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/281450/rss">
      <title>The last things through the 2.6.26 merge window</title>
      <link>http://lwn.net/Articles/281450/rss</link>
      <dc:date>2008-05-08T15:16:35+00:00</dc:date>
      <dc:creator>jzbiciak</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
Hmm... It seems like removing optional trailing newlines early ought to be more general and
robust.  After all, perl has had chomp() for what, a decade or more?
&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/281397/rss">
      <title>The last things through the 2.6.26 merge window</title>
      <link>http://lwn.net/Articles/281397/rss</link>
      <dc:date>2008-05-08T09:25:16+00:00</dc:date>
      <dc:creator>johill</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
I'd think that the function isn't all that generic, when would you want to use it (outside of
the sysfs braindamage)? Sure, its definition might sound generic, but I wouldn't think you
should use it often anyway.
&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/281387/rss">
      <title>The last things through the 2.6.26 merge window</title>
      <link>http://lwn.net/Articles/281387/rss</link>
      <dc:date>2008-05-08T08:06:33+00:00</dc:date>
      <dc:creator>cventers</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
bool sysfs_streq(const char *s1, const char *s2);

Shouldn't such a generic function be named something like streqnl()? 
&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
</rdf:RDF>

