<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

<author contact="mailto:zbrown@tumblerings.org">Zack Brown</author>

<headquote>
<a href="http://www.tux.org/lkml/">linux-kernel FAQ</a> |
<a href="http://www.tux.org/lkml/#s3-1">subscribe to linux-kernel</a> | 
<a href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html">linux-kernel Archives</a> | 
<a href="http://www.kernelnotes.org/">kernelnotes.org</a> | 
<a href="http://lxr.linux.no/">LxR Kernel Source Browser</a> |
<a href="http://www.memalpha.cx/Linux/Kernel/">All Kernels</a> | 
<a href="http://perso.wanadoo.es/xose/linux/linux_ports.html">Kernel Ports</a> | 
<a href="http://jungla.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html">Kernel Docs</a> | 
<a href="http://members.aa.net/~swear/pedia/kernel.html">Gary's Encyclopedia: Linux Kernel</a> | 
<a href="http://kernelnewbies.org/">#kernelnewbies</a>
</headquote>

<intro>

<p>For those of you interested in understanding the current
situation in the Middle East, I'd like to recommend some stuff
I've been reading lately. The first is a short, general history, <a
href="http://www1.fatbrain.com/asp/bookinfo/bookinfo.asp?theisbn=0192852582&amp;vm=">The
Arabs In History</a> by Bernard Lewis. Without overwhelming the reader with
too much detail or analysis, it does a very good (and enjoyable) job of
summarizing the social and political history of the Middle East. I chose
to read it first so that I'd be able to follow some of the more profound
analysis that's been written about this stuff, such as the work of Edward Said
(pronounced "Sah-eed"), a Palestinian intellectual.  I'm currently reading <a
href="http://www1.fatbrain.com/asp/bookinfo/bookinfo.asp?theisbn=0679739882&amp;vm=">The
Question Of Palestine</a> by him. It's an incredible book, put together with
such care for the subject. I recommend it very highly. To get a sense of
his style, see <a href="http://www.zmag.org/saidcalam2.htm">this essay</a>
on the September 11 attacks.</p>

<p>Over the past few weeks I've heard many opinions about why the attacks
occurred, from the unlikely to the ludicrous. One very friendly person
told me that Arab people have no sense of humor as a result of their harsh
desert life, and that it is "our" obligation as decent Christian folk to go
there and convert the Arabs to Christianity, so that they can share in our
blessings and learn how to laugh more.</p>

<p>I <i>don't</i> consider myself to have a much deeper understanding
of the situation than that nice person. My misconceptions may feel more
familiar to me, and hence, more justified, but they are still almost entirely
uninformed. For me, learning about the history behind these recent attacks is
crucial to my forming a coherent opinion about them. What do intelligent
Palestinian and other Arab people think about what is going on now? This is
what I want to understand.</p>

</intro>

<issue num="136" date="08 Oct 2001 00:00:00 -0800" />

<stats posts="1422" size="6050" contrib="529" multiples="229" lastweek="192">

<person posts="88" size="210" who="Alan Cox " />
<person posts="28" size="184" who="Ingo Molnar " />
<person posts="23" size="88" who="Andrea Arcangeli " />
<person posts="22" size="117" who="Andreas Dilger " />
<person posts="21" size="66" who="Keith Owens " />
<person posts="18" size="109" who="Mike Fedyk " />
<person posts="17" size="114" who="Pavel Machek " />
<person posts="17" size="61" who="Linus Torvalds " />
<person posts="16" size="45" who="Alexander Viro " />
<person posts="15" size="45" who="Rik van Riel " />
<person posts="14" size="48" who="&quot;Randy.Dunlap&quot; " />
<person posts="14" size="39" who="Greg KH " />
<person posts="14" size="37" who="&quot;David S. Miller&quot; " />
<person posts="13" size="70" who=" (Thomas Hood)" />
<person posts="12" size="31" who="Dave Jones " />
<person posts="11" size="42" who="Stelian Pop " />
<person posts="11" size="37" who="Trond Myklebust " />
<person posts="10" size="62" who="Manfred Spraul " />
<person posts="10" size="33" who="Marcelo Tosatti " />
<person posts="10" size="30" who="Andrew Morton " />
<person posts="10" size="30" who="James Simmons " />
<person posts="9" size="95" who="Robert Love " />
<person posts="9" size="48" who="Thomas Hood " />
<person posts="9" size="31" who="Miles Lane " />
<person posts="8" size="49" who="&quot;M. Edward Borasky&quot; " />
<person posts="8" size="42" who="Ookhoi " />
<person posts="8" size="27" who="Padraig Brady " />
<person posts="8" size="26" who="Pete Zaitcev " />
<person posts="8" size="25" who="Wichert Akkerman " />
<person posts="8" size="25" who="" />
<person posts="8" size="23" who="Benjamin LaHaise " />
<person posts="8" size="22" who="Mikael Pettersson " />
<person posts="8" size="21" who="Richard Gooch " />
<person posts="8" size="19" who="Samium Gromoff " />
<person posts="7" size="45" who="Matt Bernstein " />
<person posts="7" size="26" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="7" size="25" who="=?iso-8859-1?q?Steve=20Kieu?= " />
<person posts="7" size="24" who="Vojtech Pavlik " />
<person posts="7" size="20" who="Ignacio Vazquez-Abrams " />
<person posts="7" size="19" who="Alex Cruise " />
<person posts="6" size="189" who="Alan Cox " />
<person posts="6" size="91" who="Robert Macaulay " />
<person posts="6" size="39" who="Crutcher Dunnavant " />
<person posts="6" size="28" who="Balazs Scheidler " />
<person posts="6" size="25" who="Crispin Cowan " />
<person posts="6" size="23" who="Rob Landley " />
<person posts="6" size="22" who=" (Eric W. Biederman)" />
<person posts="6" size="21" who="Erik Andersen " />
<person posts="6" size="21" who="Russell King " />
<person posts="6" size="16" who="Stephane Dudzinski " />
<person posts="6" size="15" who="Frank Davis " />
<person posts="5" size="87" who="Jean Tourrilhes " />
<person posts="5" size="58" who="&quot;Martin J. Bligh&quot; " />
<person posts="5" size="36" who="&quot;Michael H. Warfield&quot; " />
<person posts="5" size="22" who="Richard Henderson " />
<person posts="5" size="22" who="&quot;Dead2&quot; " />
<person posts="5" size="18" who="Neil Brown " />
<person posts="5" size="18" who="Pau Aliagas " />
<person posts="5" size="17" who="Steven Timm " />
<person posts="5" size="15" who="Mika Liljeberg " />
<person posts="5" size="15" who="John Alvord " />
<person posts="5" size="15" who="Matti Aarnio " />
<person posts="5" size="15" who="Kenneth Johansson " />
<person posts="5" size="14" who="&quot;Albert D. Cahalan&quot; " />
<person posts="5" size="14" who="Alex Bligh - linux-kernel " />
<person posts="5" size="13" who="Nerijus Baliunas " />
<person posts="5" size="13" who="Oliver Xymoron " />
<person posts="5" size="13" who="&quot;Justin T. Gibbs&quot; " />
<person posts="5" size="12" who="Tom Rini " />
<person posts="4" size="67" who="&quot;Oleg A. Yurlov&quot; " />
<person posts="4" size="32" who="jc " />
<person posts="4" size="30" who="Oliver Seemann " />
<person posts="4" size="29" who="" />
<person posts="4" size="26" who="" />
<person posts="4" size="25" who="Mark Henson " />
<person posts="4" size="18" who="Anton Altaparmakov " />
<person posts="4" size="18" who="=?iso-8859-1?Q?Jakob_=D8stergaard?= " />
<person posts="4" size="17" who=" (Linus Torvalds)" />
<person posts="4" size="15" who="Daniel Phillips " />
<person posts="4" size="15" who="Eli Carter " />
<person posts="4" size="15" who="&quot;Henning P. Schmiedehausen&quot; " />
<person posts="4" size="15" who="Ben Greear " />
<person posts="4" size="14" who="Andre Hedrick " />
<person posts="4" size="14" who="Dan Kegel " />
<person posts="4" size="13" who=" (bill davidsen)" />
<person posts="4" size="12" who="Luigi Genoni " />
<person posts="4" size="12" who="Chris Howells " />
<person posts="4" size="12" who="Dave Cinege " />
<person posts="4" size="11" who="Christoph Hellwig " />
<person posts="4" size="11" who="VDA " />
<person posts="4" size="11" who="=?iso-8859-1?Q?Andr=E9?= Dahlqvist " />
<person posts="4" size="10" who="Stephan von Krawczynski " />
<person posts="4" size="10" who="Florian Weimer " />
<person posts="4" size="10" who="David Woodhouse " />
<person posts="4" size="10" who="Chris Mason " />
<person posts="4" size="9" who="Davide Libenzi " />
<person posts="4" size="8" who="&quot;Petr Titera&quot; " />
<person posts="3" size="52" who="&quot;Martin J. Bligh&quot; " />
<person posts="3" size="36" who="Geert Uytterhoeven " />
<person posts="3" size="23" who="Roger Larsson " />
<person posts="3" size="18" who="Evan Harris " />
<person posts="3" size="17" who="Brian Gerst " />
<person posts="3" size="14" who="Martin Diehl " />
<person posts="3" size="14" who="" />
<person posts="3" size="13" who="Matthias Andree " />
<person posts="3" size="13" who="&quot;D. Stimits&quot; " />
<person posts="3" size="12" who="John Gluck " />
<person posts="3" size="12" who="Josh MacDonald " />
<person posts="3" size="12" who="Christian =?iso-8859-1?q?Borntr=E4ger?= " />
<person posts="3" size="12" who="" />
<person posts="3" size="12" who="safemode " />
<person posts="3" size="12" who="Nilmoni Deb " />
<person posts="3" size="12" who="george anzinger " />
<person posts="3" size="11" who="=?iso-8859-2?B?R+Fib3IgTOlu4XJ0?= " />
<person posts="3" size="11" who="Tommy Reynolds " />
<person posts="3" size="11" who="Chris Meadors " />
<person posts="3" size="10" who="&quot;Grover, Andrew&quot; " />
<person posts="3" size="10" who="J Sloan " />
<person posts="3" size="10" who="Rui Ribeiro " />
<person posts="3" size="10" who="Nicholas Knight " />
<person posts="3" size="9" who="Stephen Torri " />
<person posts="3" size="9" who="Roberto Nibali " />
<person posts="3" size="9" who=" (Kai Henningsen)" />
<person posts="3" size="9" who="Steve Lord " />
<person posts="3" size="9" who="Dipankar Sarma " />
<person posts="3" size="9" who="Mikulas Patocka " />
<person posts="3" size="9" who="Steffen Persvold " />
<person posts="3" size="9" who="Jim Treadway " />
<person posts="3" size="9" who="Jan Hudec " />
<person posts="3" size="8" who=" (James D Strandboge)" />
<person posts="3" size="8" who="David Weinehall " />
<person posts="3" size="8" who="Andre Margis " />
<person posts="3" size="8" who="Paul Larson " />
<person posts="3" size="8" who="=?iso-8859-1?q?Etienne=20Lorrain?= " />
<person posts="3" size="8" who="Francois Romieu " />
<person posts="3" size="8" who="&quot;SATHISH.J&quot; " />
<person posts="3" size="8" who="Mark Hahn " />
<person posts="3" size="8" who="Gerold Jury " />
<person posts="3" size="7" who="Ian Stirling " />
<person posts="3" size="7" who="Jesper Juhl " />
<person posts="3" size="7" who="Arjan van de Ven " />
<person posts="3" size="6" who="&quot;Stefan M. Brandl&quot; " />
<person posts="3" size="6" who="Tim Hockin " />
<person posts="3" size="6" who="" />
<person posts="2" size="38" who="Thomas Hood " />
<person posts="2" size="27" who="Gil Disatnik " />
<person posts="2" size="26" who="Jean Marc LACROIX " />
<person posts="2" size="14" who="=?us-ascii?Q?Rog=E9rio?= Brito " />
<person posts="2" size="14" who="hugang " />
<person posts="2" size="14" who="Benjamin Herrenschmidt " />
<person posts="2" size="13" who="George Garvey " />
<person posts="2" size="13" who="&lt;pcg(  )com&gt;" />
<person posts="2" size="12" who="John Levon " />
<person posts="2" size="11" who="Roland Kuhn " />
<person posts="2" size="10" who="Jesse Pollard " />
<person posts="2" size="10" who="Hans Reiser " />
<person posts="2" size="10" who="Ed Tomlinson " />
<person posts="2" size="10" who="Nikita Danilov " />
<person posts="2" size="10" who="Helge Hafting " />
<person posts="2" size="8" who="J Troy Piper " />
<person posts="2" size="8" who="&quot;Bond, Andrew&quot; " />
<person posts="2" size="8" who="&quot;BALBIR SINGH&quot; " />
<person posts="2" size="7" who="Andrey Nekrasov " />
<person posts="2" size="7" who="Tobias Ringstrom " />
<person posts="2" size="7" who="Till Immanuel Patzschke " />
<person posts="2" size="7" who="Erich Focht " />
<person posts="2" size="7" who="&quot;LA Walsh&quot; " />
<person posts="2" size="7" who="&quot;Sujal Shah&quot; " />
<person posts="2" size="7" who="Thomas Davis " />
<person posts="2" size="7" who="Ville Herva " />
<person posts="2" size="7" who="Lars Christensen " />
<person posts="2" size="7" who="&quot;Michael Dr|ing&quot; " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="Joel Jaeggli " />
<person posts="2" size="7" who="Andreas Schwab " />
<person posts="2" size="7" who="Erik Mouw " />
<person posts="2" size="6" who="Gerhard Mack " />
<person posts="2" size="6" who="Simon Kirby " />
<person posts="2" size="6" who="&quot;H. Peter Anvin&quot; " />
<person posts="2" size="6" who="Jan Oravec " />
<person posts="2" size="6" who="Jamie Lokier " />
<person posts="2" size="6" who="jamal " />
<person posts="2" size="6" who="Thomas Hood " />
<person posts="2" size="6" who="Martin Josefsson " />
<person posts="2" size="6" who="Tim Connors " />
<person posts="2" size="6" who="Jan-Benedict Glaw " />
<person posts="2" size="6" who="Josh Myer " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Marvin Justice " />
<person posts="2" size="6" who="Stefan Smietanowski " />
<person posts="2" size="6" who="&quot;Petr Vandrovec&quot; " />
<person posts="2" size="6" who="&quot;J . A . Magallon&quot; " />
<person posts="2" size="6" who="Daniel Caujolle-Bert " />
<person posts="2" size="5" who="Hugh Dickins " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Steven Joerger " />
<person posts="2" size="5" who="&quot;William Scott Lockwood III&quot; " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Carles Pina i Estany " />
<person posts="2" size="5" who="Maurice Volaski " />
<person posts="2" size="5" who="Juha Siltala " />
<person posts="2" size="5" who="Chris Rankin " />
<person posts="2" size="5" who="&quot;Rob MacGregor&quot; " />
<person posts="2" size="5" who="George Greer " />
<person posts="2" size="5" who="=?iso-8859-1?Q?Rasmus_B=F8g_Hansen?= " />
<person posts="2" size="5" who="&quot;Daniela P. R. Magri Squassoni&quot; " />
<person posts="2" size="5" who="Oleg Nesterov " />
<person posts="2" size="5" who="Casey Schaufler " />
<person posts="2" size="5" who="&quot;M.Gopi Krishna&quot; " />
<person posts="2" size="5" who="Daniel Elvin " />
<person posts="2" size="5" who="Anthony " />
<person posts="2" size="5" who="Tim Moore " />
<person posts="2" size="5" who="David Schwartz " />
<person posts="2" size="5" who="&quot;Giacomo A. Catenazzi&quot; " />
<person posts="2" size="5" who="John Jasen " />
<person posts="2" size="5" who="Hristo Grigorov " />
<person posts="2" size="5" who="Ricky Beam " />
<person posts="2" size="4" who="Anders Eriksson " />
<person posts="2" size="4" who="Ion Badulescu " />
<person posts="2" size="4" who="&quot;Dinesh  Gandhewar&quot; " />
<person posts="2" size="4" who="Chris Wedgwood " />
<person posts="2" size="4" who="Karl Pitrich " />
<person posts="2" size="4" who="Kent Borg " />
<person posts="2" size="4" who="&quot;Bobby Hitt&quot; " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Norbert Roos " />
<person posts="2" size="4" who="Cristiano Paris " />
<person posts="2" size="4" who="Xavier Bestel " />
<person posts="2" size="4" who="Pozsar Balazs " />
<person posts="1" size="35" who="Urban Widmark " />
<person posts="1" size="30" who="Bjorn Wesen " />
<person posts="1" size="30" who="James Bottomley " />
<person posts="1" size="27" who="&quot;G. Clark Haynes&quot; " />
<person posts="1" size="22" who="Ryan Mack " />
<person posts="1" size="22" who="Peter Rival " />
<person posts="1" size="20" who="PENG Zhaowang " />
<person posts="1" size="18" who="&quot;Mark Cuss&quot; " />
<person posts="1" size="15" who="Andi Kleen " />
<person posts="1" size="15" who="Christian Schroeder " />
<person posts="1" size="13" who="Brad " />
<person posts="1" size="13" who="" />
<person posts="1" size="12" who="&quot;Manfred H. Winter&quot; " />
<person posts="1" size="11" who="" />
<person posts="1" size="10" who="&quot;Jim Roland&quot; " />
<person posts="1" size="9" who="Paul Menage " />
<person posts="1" size="9" who="Robert Cohen " />
<person posts="1" size="9" who="Lenny Foner " />
<person posts="1" size="9" who="&quot;Dr. David Alan Gilbert&quot; " />
<person posts="1" size="6" who="&quot;Bill Rugolsky Jr.&quot; " />
<person posts="1" size="6" who="Bernd Petrovitsch " />
<person posts="1" size="6" who="Marc SCHAEFER " />
<person posts="1" size="6" who="Craig Kulesa " />
<person posts="1" size="5" who="Atro Tossavainen " />
<person posts="1" size="5" who=" (Eugene Crosser)" />
<person posts="1" size="5" who="Stefan Nobis " />
<person posts="1" size="5" who="Roger Larsson " />
<person posts="1" size="5" who="&quot;Geoffrey Hausheer&quot; " />
<person posts="1" size="5" who="Matthew Dharm " />
<person posts="1" size="5" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="1" size="5" who="Jan Kara " />
<person posts="1" size="5" who="Brian Hatch " />
<person posts="1" size="5" who="Carl Ritson " />
<person posts="1" size="5" who="Jakub Jelinek " />
<person posts="1" size="5" who="Petr Konecny " />
<person posts="1" size="5" who="Byron Stanoszek " />
<person posts="1" size="5" who="Gregory Ade " />
<person posts="1" size="5" who="L A Walsh " />
<person posts="1" size="5" who="clemens " />
<person posts="1" size="5" who="Tsunehiko Baba " />
<person posts="1" size="5" who="Andrey Panin " />
<person posts="1" size="5" who="Riley Williams " />
<person posts="1" size="5" who="Albert Cranford " />
<person posts="1" size="4" who="Fred Jackson " />
<person posts="1" size="4" who="Thomas Zimmerman " />
<person posts="1" size="4" who="James Stevenson " />
<person posts="1" size="4" who="Joachim Weller " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Pierre PEIFFER " />
<person posts="1" size="4" who="David Brown " />
<person posts="1" size="4" who="Bob Proulx " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Adam " />
<person posts="1" size="4" who="Linux Kernel " />
<person posts="1" size="4" who="Gregory Hosler " />
<person posts="1" size="4" who="&quot;Michel A. S. Pereira KIDMumU|ResolveBucha&quot; " />
<person posts="1" size="4" who="Jerome Cornet " />
<person posts="1" size="4" who="Kristian Peters " />
<person posts="1" size="4" who="Jeff DeFouw " />
<person posts="1" size="4" who="Joachim Weller " />
<person posts="1" size="4" who="&quot;KRAMER,STEVEN (HP-USA,ex1)&quot; " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Rusty Russell " />
<person posts="1" size="4" who="Jorge =?ISO-8859-1?Q?Ner=EDn?= " />
<person posts="1" size="4" who="Petr Vandrovec " />
<person posts="1" size="4" who="Jim Meyering " />
<person posts="1" size="4" who="Jerome AUGE " />
<person posts="1" size="4" who="Phil Blecker " />
<person posts="1" size="4" who="Derek Glidden " />
<person posts="1" size="3" who="Glynn Clements " />
<person posts="1" size="3" who="=?us-ascii?Q?Peter_Sandstrom?= " />
<person posts="1" size="3" who="antirez " />
<person posts="1" size="3" who="&quot;Steve Best&quot; " />
<person posts="1" size="3" who="Manfred Spraul " />
<person posts="1" size="3" who="&quot;Rinaldi J. Montessi&quot; " />
<person posts="1" size="3" who="Olaf Titz " />
<person posts="1" size="3" who="Seth Goldberg " />
<person posts="1" size="3" who="Ricardo Ferreira " />
<person posts="1" size="3" who="Juri Haberland " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Jeff Chua " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Greg Ward " />
<person posts="1" size="3" who="Paul Mundt " />
<person posts="1" size="3" who="&quot;End Sp4m&quot; " />
<person posts="1" size="3" who="GOTO Masanori " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="walt " />
<person posts="1" size="3" who="Jim Potter " />
<person posts="1" size="3" who="Frank Dekervel " />
<person posts="1" size="3" who="&quot;David Grant&quot; " />
<person posts="1" size="3" who="Axel Siebenwirth " />
<person posts="1" size="3" who="Magic Phibo " />
<person posts="1" size="3" who="szonyi calin " />
<person posts="1" size="3" who="Eyal Lebedinsky " />
<person posts="1" size="3" who="Petr Baudis " />
<person posts="1" size="3" who="Kurt Garloff " />
<person posts="1" size="3" who="Dave McCracken " />
<person posts="1" size="3" who="Rajeev Kumar " />
<person posts="1" size="3" who="shewp " />
<person posts="1" size="3" who="&quot;Joachim Weller&quot; " />
<person posts="1" size="3" who="&quot;Dan Maas&quot; " />
<person posts="1" size="3" who="Christian Ohm " />
<person posts="1" size="3" who="&quot;Chris Andrews&quot; " />
<person posts="1" size="3" who="Stephen Frost " />
<person posts="1" size="3" who="=?ISO-8859-1?Q?Pasi_K=E4rkk=E4inen?= " />
<person posts="1" size="3" who="Sebastian Benoit " />
<person posts="1" size="3" who="Lorinczy Zsigmond " />
<person posts="1" size="3" who="&quot;Peter Wong&quot; " />
<person posts="1" size="3" who="St?phane List " />
<person posts="1" size="3" who="&quot;Takeo Saito&quot; " />
<person posts="1" size="3" who="Steve Maughan " />
<person posts="1" size="3" who="Jeff Chua " />
<person posts="1" size="3" who="&quot;Christopher Friesen&quot; " />
<person posts="1" size="3" who="Tim Bird " />
<person posts="1" size="3" who="Herbert Xu " />
<person posts="1" size="3" who="&quot;David C. Hansen&quot; " />
<person posts="1" size="3" who="Arnaldo Carvalho de Melo " />
<person posts="1" size="3" who="Martin =?iso-8859-1?q?R=F6der?= " />
<person posts="1" size="3" who="Tachino Nobuhiro " />
<person posts="1" size="3" who="Nigel Gamble " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Mike Kravetz " />
<person posts="1" size="3" who="&quot;Richard B. Johnson&quot; " />
<person posts="1" size="3" who="Tim Waugh " />
<person posts="1" size="3" who="Jeremy Jackson " />
<person posts="1" size="3" who="&quot;John Hawkes&quot; " />
<person posts="1" size="3" who="Pavel Zaitsev " />
<person posts="1" size="3" who="&quot;Dope on Plaztic,,,&quot; " />
<person posts="1" size="3" who="David Madison " />
<person posts="1" size="3" who="Thomas Glanzmann " />
<person posts="1" size="3" who="Jonathan Morton " />
<person posts="1" size="3" who="Martin Maletinsky " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="MAGIC-XXX " />
<person posts="1" size="3" who="Nathan " />
<person posts="1" size="3" who="Hirokazu Nomoto " />
<person posts="1" size="3" who="&quot;Aneesh Kumar K.V&quot; " />
<person posts="1" size="3" who="Bob Dunlop " />
<person posts="1" size="3" who="Stefan Becker " />
<person posts="1" size="3" who="&quot;=?iso-8859-1?q?J.D.=20Hood?=&quot; " />
<person posts="1" size="3" who="Dave McCracken " />
<person posts="1" size="3" who="&quot;mofo&quot; " />
<person posts="1" size="3" who="Geert Uytterhoeven " />
<person posts="1" size="3" who="Jan Harkes " />
<person posts="1" size="3" who="john slee " />
<person posts="1" size="3" who="Josh McKinney " />
<person posts="1" size="3" who="Zakhar Kirpichenko " />
<person posts="1" size="3" who="Toby Dickenson " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="&quot;murthy kn&quot; " />
<person posts="1" size="3" who="Charles Marslett " />
<person posts="1" size="3" who="Anh Lai " />
<person posts="1" size="3" who="Chris Wilson " />
<person posts="1" size="3" who="Tom Eastep " />
<person posts="1" size="3" who="Remco Post " />
<person posts="1" size="3" who="Chad Hanson " />
<person posts="1" size="3" who="Petru Paler " />
<person posts="1" size="3" who="Jeffrey Ingber " />
<person posts="1" size="2" who="Alexandre Hautequest " />
<person posts="1" size="2" who="Andrzej Krzysztofowicz " />
<person posts="1" size="2" who="Mark Hindley " />
<person posts="1" size="2" who="Ian Grant " />
<person posts="1" size="2" who="Paul Gortmaker " />
<person posts="1" size="2" who="&quot;J.H.M. Dassen (Ray)&quot; " />
<person posts="1" size="2" who="Marcus Sundberg " />
<person posts="1" size="2" who="Cyrus " />
<person posts="1" size="2" who="David Lang " />
<person posts="1" size="2" who="&quot;captain smp&quot; " />
<person posts="1" size="2" who="Mark Zealey " />
<person posts="1" size="2" who="David Hollister " />
<person posts="1" size="2" who="Pascal Schmidt " />
<person posts="1" size="2" who="Brad Bozarth " />
<person posts="1" size="2" who="Christoph Rohland " />
<person posts="1" size="2" who="&quot;Heinz J . Mauelshagen&quot; " />
<person posts="1" size="2" who="Gary Aviv " />
<person posts="1" size="2" who="&quot;Udo A. Steinberg&quot; " />
<person posts="1" size="2" who="Richard Henderson " />
<person posts="1" size="2" who="&quot;Edward S. Marshall&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Nathan Straz " />
<person posts="1" size="2" who="&quot;Benjamin S. Scarlet&quot; " />
<person posts="1" size="2" who="Hans-Peter Jansen " />
<person posts="1" size="2" who="&quot;Trever L. Adams&quot; " />
<person posts="1" size="2" who="Shane Wegner " />
<person posts="1" size="2" who="Chip Salzenberg " />
<person posts="1" size="2" who="Peter Svensson " />
<person posts="1" size="2" who="Robert Love " />
<person posts="1" size="2" who="Rick Haines " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Ian Morgan " />
<person posts="1" size="2" who="Rainer Wiener " />
<person posts="1" size="2" who="Wayne Whitney " />
<person posts="1" size="2" who="Dan Creswell " />
<person posts="1" size="2" who="Josh Wyatt " />
<person posts="1" size="2" who="&quot;Roeland Th. Jansen&quot; " />
<person posts="1" size="2" who="Anders Peter Fugmann " />
<person posts="1" size="2" who="Sylvain Ravot " />
<person posts="1" size="2" who="&quot;Lewin A.R.W. Edwards&quot; " />
<person posts="1" size="2" who="&quot;Wilson&quot; " />
<person posts="1" size="2" who="Lawrence Gold " />
<person posts="1" size="2" who="Horst von Brand " />
<person posts="1" size="2" who="Anders Larsen " />
<person posts="1" size="2" who="&quot;Till Immanuel Patzschke&quot; " />
<person posts="1" size="2" who="Jes Sorensen " />
<person posts="1" size="2" who="David Ford " />
<person posts="1" size="2" who="Greg KH " />
<person posts="1" size="2" who="Jonathan Walther " />
<person posts="1" size="2" who="Nick Craig-Wood " />
<person posts="1" size="2" who="John Ruttenberg " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;David L. Parsley&quot; " />
<person posts="1" size="2" who="William Park " />
<person posts="1" size="2" who="=?iso-8859-1?q?willy=20tarreau?= " />
<person posts="1" size="2" who="Alan Ford " />
<person posts="1" size="2" who=" Henrik Stoerner" />
<person posts="1" size="2" who="&quot;Holzrichter, Bruce&quot; " />
<person posts="1" size="2" who="Pekka Savola " />
<person posts="1" size="2" who="Michael Bacarella " />
<person posts="1" size="2" who="Leif Sawyer " />
<person posts="1" size="2" who="Lior Okman " />
<person posts="1" size="2" who="Steve Underwood " />
<person posts="1" size="2" who="&quot;Lamar Seifuddin&quot; " />
<person posts="1" size="2" who="Brian Strand " />
<person posts="1" size="2" who="Tom Vier " />
<person posts="1" size="2" who="Jeff Voskamp " />
<person posts="1" size="2" who="proton " />
<person posts="1" size="2" who="Rainer Keller " />
<person posts="1" size="2" who="Roberto Jung Drebes " />
<person posts="1" size="2" who="Norbert Preining " />
<person posts="1" size="2" who="Andrew Ebling " />
<person posts="1" size="2" who="Manfred Bartz " />
<person posts="1" size="2" who="&quot;H. Peter Anvin&quot; " />
<person posts="1" size="2" who="&quot;Tal Dayan&quot; " />
<person posts="1" size="2" who="&quot;Matt McLaughlin&quot; " />
<person posts="1" size="2" who="Bert Meijs " />
<person posts="1" size="2" who="Alessandro Suardi " />
<person posts="1" size="2" who=" (Klaus Dittrich)" />
<person posts="1" size="2" who="Dag Nygren " />
<person posts="1" size="2" who="&quot;sayamindu dasgupta&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Viktor Rosenfeld " />
<person posts="1" size="2" who="Keith Owens " />
<person posts="1" size="2" who="Michel =?ISO-8859-1?Q?D=E4nzer?= " />
<person posts="1" size="2" who="Keh-Cheng Chu " />
<person posts="1" size="2" who="Pavel Machek " />
<person posts="1" size="2" who="Major A " />
<person posts="1" size="2" who="Bernd Eckenfels " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Kurt Roeckx " />
<person posts="1" size="2" who="Christian Robottom Reis " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Kai Germaschewski " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Giacomo Catenazzi&quot; " />
<person posts="1" size="2" who="&quot;Aaron Tiensivu&quot; " />
<person posts="1" size="2" who="Terry Warner " />
<person posts="1" size="2" who="f5ibh " />
<person posts="1" size="2" who="God " />
<person posts="1" size="2" who="Jeff Dike " />
<person posts="1" size="2" who="=?unknown-8bit?B?RnLpZOlyaWMgTC4gVy4=?= Meunier " />
<person posts="1" size="2" who="Guest section DW " />
<person posts="1" size="2" who="Andreas Steinmetz " />
<person posts="1" size="2" who="Chris Wright " />
<person posts="1" size="2" who="Krzysztof Halasa " />
<person posts="1" size="2" who="Lorenzo Allegrucci " />
<person posts="1" size="2" who="Anil Kumar " />
<person posts="1" size="2" who="DevilKin " />
<person posts="1" size="2" who="Josh Samuelson " />
<person posts="1" size="2" who="Fabbione " />
<person posts="1" size="2" who="Michael Leun " />
<person posts="1" size="2" who="Jordan Breeding " />
<person posts="1" size="2" who="&quot;Dan Mann&quot; " />
<person posts="1" size="2" who=" (Bruce Janson)" />
<person posts="1" size="2" who="Christian Widmer " />
<person posts="1" size="2" who="MOHAMMED AZAD " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Dan Hollis " />
<person posts="1" size="2" who="Subba Rao " />
<person posts="1" size="2" who="Belinda " />
<person posts="1" size="2" who="Alexander Trotsai " />
<person posts="1" size="2" who="Justin A " />
<person posts="1" size="2" who="Alistair Riddell " />
<person posts="1" size="2" who="Murali Ravirala " />
<person posts="1" size="2" who="Robert Szentmihalyi " />
<person posts="1" size="2" who="&quot;Per Jessen&quot; " />
<person posts="1" size="2" who="Jacek =?iso-8859-2?Q?Pop=B3awski?= " />
<person posts="1" size="2" who="Mark Frazer " />
<person posts="1" size="2" who="jalaja devi " />
<person posts="1" size="2" who="&quot;S G&quot; " />
<person posts="1" size="2" who="Wakko Warner " />
<person posts="1" size="2" who="Igor Mozetic " />
<person posts="1" size="2" who="Dax Kelson " />
<person posts="1" size="1" who=" (Andreas Jellinghaus)" />
<person posts="1" size="1" who="Davidovac Zoran " />
<person posts="1" size="1" who="Rok Pergarec " />
<person posts="1" size="1" who="Roy Sigurd Karlsbakk " />
<person posts="1" size="1" who="Yaroslav Popovitch " />

</stats>

<section
  title="Naming Core Dumps"
  subject="[PATCH] core file naming option"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/0507.html"
  posts="8"
  startdate="25 Sep 2001 14:26:49 -0800"
  enddate="28 Sep 2001 11:54:34 -0800"
>
<topic>BSD</topic>
<topic>FS: sysfs</topic>

<p>Eli Carter announced a patch to allow core dumps to be given semi-unique
names. As he put it, <quote who="Eli Carter">when the sky is falling, it's
nice to have more places for it to land.</quote> His patch was against 2.2,
but he said he was willing to port it up to 2.4 if there was interest. Bill
Davidsen replied:</p>

<quote who="Bill Davidsen">

<p>While you're adding this feature, and it seems others are adding similar
things, it is *highly* desirable to allow the build to put all the dumps in
one place of desired (my  first thought is /var/core) so that if you get a
lot you won't run the system out of disk.</p>

<p>The directory name could be set in /proc/sys/coredir (or somesuch) with
an initial value of "." of course.</p>

<p>Other than that I like the idea, although process "name" could get a
lot of clashes on threads, and pid gets reused. There may be a better idea,
but most of mine are cumbersome. This would really simplify certain kinds
of dump analysis.</p>

</quote>

<p>Eli replied that he didn't have time to implement all those features, though
he could see why they'd be useful. Elsewhere, Padraig Brady suggested using
'core.PID' instead of 'core.processname' as Eli had it. He even suggested
allowing 'core.PID' for each thread of a process, and Alan Cox replied,
<quote who="Alan Cox">The -ac tree and latest -linus can use core.pid for
each thread already.</quote> Eli checked this out, but found that the 2.2
series still did not have the feature. He asked if there were plans to port
it back from 2.4, and Don Dugger said, <quote who="Don Dugger">Having the
2.2.x series create `core.pid' is like a 2 line change to `fs/binfmt_elf.c',
just increase the size of the array that holds the file name and `sprintf'
the pid into it.  I've got a patch for the 2.2.x series that dumps core
for all threads and puts them in `core.pid' files.</quote> Eli remarked,
<quote who="Eli Carter">Well, when I asked Alan about it, he said "Doing it
in 2.2 is incredibly hard for internal locking reasons"... I'm not ready to
tackle that.  If you have a patch that does it correctly, submit it to Alan.
I'd still like to have the option I submitted as part of 2.2 *shrug*...
it's just bringing back functionality that was in earlier versions of Linux
as a compile option.  (From what I understand, this is similar to something
done in the BSDs at some time in the past... but being a young whippersnapper,
I don't really know.)</quote></p>

</section>

<p>End of thread.</p>

<section
  title="Benchmarks And Bug Reports In The New 2.4 VM"
  subject="VM in 2.4.10(+tweaks) vs. 2.4.9-ac14/15(+stuff)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/0625.html"
  posts="24"
  startdate="26 Sep 2001 05:38:48 -0800"
  enddate="28 Sep 2001 06:02:18 -0800"
>
<topic>Virtual Memory</topic>

<mention>Linus Torvalds</mention>

<p>Craig Kulesa reported:</p>

<quote who="Craig Kulesa">

<p>As requested, here are a number of tests of the latest VM patches.
Tests are described in a previous post, archived here:</p>

<p><a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/0033.html">http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/0033.html</a></p>

<p>Results:</p>

<p>2.4.10 performance is great compared to 2.4.[7-9], but these tests still
seem to point out some room for improvement in the 2.4.10 VM tree.  2.4.10 and
2.4.10(+00_vm-tweaks-1) performed similarly.  The vm-tweaks patch improved the
swap smoothness, but the number of pages swapped out didn't change measurably,
nor did the large number of swap-ins.  Clogging the system with dirty pages
via 'dd' still causes XMMS to skip badly.</p>

<p>Let's push the aging/list-order code more by driving the system a bit
harder in step d), namely adding mozilla to the common user application test.
We will also stream mp3 audio throughout the entire test. </p>

<p>

2.4.10(+00_vm-tweaks-1)<br />
        48 sec StarOffice load time<br />
        28 sec 2560x2560 GIMP image rotation<br />
        82400 KB swapped out, 92148 KB swapped back in

</p>

<p>

2.4.9-ac14 + aging<br />
        33 sec StarOffice load time<br />
        25 sec GIMP image rotation<br />
        30072 KB swapped out, 22252 KB swapped back in

</p>

<p>

2.4.9-ac15 + aging + launder<br />
        33 sec StarOffice load time<br />
        24 sec GIMP image rotation<br />
        57556 KB swapped out, 25900 KB swapped back in

</p>

<p>'vmstat 1' sessions for these three cases are available at: <a
href="http://loke.as.arizona.edu/~ckulesa/kernel/">http://loke.as.arizona.edu/~ckulesa/kernel/</a></p>

<p>2.4.10+ is clearly working a LOT harder to keep dentry and inode caches
in memory, and is swapping out harder to compensate.  The ac14/ac15 tree
frees those caches more freely, and don't page application working sets out
so readily.</p>

<p>Let's test this statement by not pre-filling the inode and dentry caches
with 'slocate' and performing the same test:</p>

<p>2.4.10(+00_vm-tweaks)<br />
        26 sec StarOffice load time<br />
        24 sec GIMP image rotation<br />
        48332 KB swapped out, 33521 KB swapped back in</p>

<p>2.4.9-ac14 + aging<br />
        32 sec StarOffice load time<br />
        26 sec GIMP image rotation<br />
        37392 KB swapped out, 11952 KB swapped back in</p>

<p>2.4.9-ac15 + aging + launder<br />
        32 sec StarOffice load time<br />
        22 second GIMP image rotation<br />
        23884 KB swapped out, 10828 KB swapped back in</p>

<p>2.4.10 does much better this time; in particular the StarOffice loading
that was so plagued by swapouts, pressured by dentry/inode caching last time,
went smoothly.  But there's still more paging than with 2.4.9-ac1[4-5].</p>

<p>Let's try one more aging/list-order experiment.  Instead of creating a
2560x2560 GIMP image first, then loading StarOffice and many other applications
after (to start swapping, and cause GIMP pages to be candidates for reaping)
-- this time let's load StarOffice first and then create the GIMP image.
This should keep the GIMP image at a 'younger' age and presumably shouldn't
page back into memory (rotation should be faster).  StarOffice may swap
itself entirely out however.</p>

<p>2.4.10(+00_vm-tweaks)<br />
        25 sec StarOffice load time<br />
        29 sec GIMP image rotation<br />
        64427 KB swapped out, 77422 KB swapped back in</p>

<p>2.4.9-ac14 + aging<br />
        30 sec StarOffice load time<br />
        24 sec GIMP image rotation<br />
        22147 KB swapped out, 8922 swapped back in</p>

<p>2.4.9-ac15 + aging + launder<br />
        31 sec StarOffice load time<br />
        21 second GIMP image rotation<br />
        17204 KB swapped out, 8224 swapped back in</p>

<p>The 2.4.10 behavior surprised me.  The GIMP pages are younger in memory,
yet the rotation was slowed by swapin &amp; swapout activity --  slower than
before. Plus more StarOffice pages were swapped out, so it had to be paged
back in order to close the application.  I'm puzzled.  The ac14/ac15 behavior
was closer to what I expected; the GIMP pages were young and unswapped,
only the earliest StarOffice pages had to be recalled.</p>

<p>These are samples of rather 'ordinary' loads which 2.4.10 needs some work
handling; the ac15 tree is doing a better job with this particular set right
now (ac15 tree also doesn't skip XMMS with the creation of lots of dirty pages
via 'dd').  But all three kernels tested kept the user interface relatively
responsive, which is an improvement over previous 2.4 releases.  Very cool.</p>

<p>A note on page_launder().  ac14 has the smoothest swapping, with small
chunks laundered at a time.  ac14+aging and ac15+aging+launder both swap out
huge (10-20 MB) chunks at a time.  Admittedly, the user interface is responsive
and XMMS doesn't skip a beat, but most of the 60 MB of actual swapout in the
first test in ac15+stuff came from only THREE lines of 'vmstat 1' output.
Otherwise there was no swapout activity.</p>

</quote>

<p>In response to the statement that 2.4.10 was swapping harder to compensate
for keeping dentry and inode caches in memory, Andrea Arcangeli replied,
<quote who="Andrea Arcangeli">2.4.10 is swapping out more also because I
don't keep track of which pages are just uptodate on the swap space. This
will be fixed as soon as I teach get_swap_page to collect away from the
swapcache mapped exclusive swap pages.</quote> Rik van Riel suggested that
try_to_swap_out() would be an easier place to do it, and Andrea replied,
<quote who="Andrea Arcangeli">Of course that's a possibility but then we'd
have to duplicate it in all other get_swap_page callers, see?  And I think
it much better fits hided in get_swap_page: the semantics of get_swap_page()
are "give to the caller a newly allocated swap entry".  So IMHO it is its
own business to discard our "optimizations" to generate a free swap entry
in case all swap was just allocated.</quote></p>

<p>At this point, Robert Macaulay reported a lockup with the new VM. After
some traces and hunting around, Andrea felt the bug was not with his code
but with the NOHIGHIO logic. He posted a patch to fix it, but Linus Torvalds
found races.  He posted a patch of his own to illustrate his idea. Andrea
agreed it was a fix, though less fine-grained than his own. Rik remarked at
this point, <quote who="Rik van Riel">I'd consider that a feature. Undocumented
subtle stuff tends to break within 6 months, sometimes even due to changes
made by the same person who did the original subtle trick.</quote> There
was a bit more discussion, and the thread petered out.</p>

</section>

<section
  title="Some VM Benchmarks"
  subject="[BENCH] Problems with IO throughput and fairness with 2.4.10 and 2.4.9-ac15"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/0898.html"
  posts="10"
  startdate="27 Sep 2001 04:46:17 -0800"
  enddate="29 Sep 2001 06:13:59 -0800"
>
<topic>Disks: SCSI</topic>
<topic>Virtual Memory</topic>

<mention>Robert Love</mention>

<p>Robert Cohen announced:</p>

<quote who="Robert Cohen">

<p>Given the recent flurry of changes in the Linux kernel VM subsystems I
decided to do a bit of benchmarking.  The benchmark is a test of file server
performance. I originally did this test about a year ago with fairly dismal
results, so I thought I'd see how much things had improved.</p>

<p>The good news, things have improved. The bad news, they're still not
good.</p>

<p>The test consists a linux server acting a file server (using netatalk)
and 5 macintosh clients.The clients each write a 30 Meg file and read it
back. Each client repeats this 10 times.Total amount of IO in the test 1.5
Gigs written, 1.5 Gigs read.</p>

<p>The tests were done with the following kernels</p>

<p>

2.4.10: stock 2.4.10 kernel<br />
2.4.10-aa1: 2.4.10 with Andreas patch aa1 including his vm-tweaks-1<br />
2.4.10-p: 2.4.10 with Robert Loves preempt patch<br />
2.4.9-ac15: Alans latest<br />
2.4.9-ac15-al: 2.4.9-ac15 with Riks Aging+Launder patch<br />
2.4.9-ac15 didnt fare too well, but Riks patch resolved these problems   
so I will leave 2.4.9-ac15 out of the discussion.

</p>

<p>The hardware was a UP P-II 266 with 256 Megs of memory using SCSI disks
on a Adaptec wide controller. The clients and server were all connected to
a 100 Mbit switch.  The hardware is nothing special, but disks and LAN are
all capable of pushing 10 MB/s of bandwidth.</p>

<p>In the test, the clients are each accessing 30 Meg files. With 5 clients,
thats a file working set of 150 Megs of disk space being accessed. With 256
Megs of memory, all the files can fit in memory. I don't consider this to
be a realistic test of file server behaviour since if all your files on a
file server can fit in memory you bought too much memory :-).</p>

<p>So for all the tests, the file server memory was limited to 128 Megs via
LILO except for a baseline test with 256 Megs.</p>

<p>The features of a file server that I consider important are obviously
file serving througput. But also fairness in that all clients should get
an equal share of the bandwidth. So for the tests, I report the time that
the last client finishes the run which indicates total throughput, and the
time the first client finishes which ideally should be not too much before
the last client.</p>

<p><i>Summary of the results<br />
======================</i></p>

<p>In the baseline test with 256 Megs of memory, all the kernels performed
flawlessly. Close to 10 MB/s of thoughput was achieved evenly spread between
the clients.</p>

<p>In the real test with 128 Megs of memory, things didnt go as well. All
the kernels performed similarly but none were satisfactory. The problem I
saw was that all the clients would start out getting fairly bad throughput
of only a few MB/sec total amongst all the machines. This is accompanied by
heavy seeking of the disk (based on the sound).  Then one of the clients would
"get in the groove". The good client gets the full 10 MB/s of bandwidth and
the rest are completely starved. The good client zooms through to the finish
with the rest of the clients only just started. Once the good client finished,
the disks seek madly for a while with poor throughput until another client
"gets in the groove".  Once you are down to 2 or 3 clients left, things
settle down because the files all fit in memory again.</p>

<p>Overall, the total throughput is not that bad, but the fact that it
achieves this by starving clients to let one client at a time proceed is
completely unacceptable for a file server.</p>

<p>Note: this is not an accurate benchmark in that the run times are not
highly repeatable. This means it can't be used for fine tuning kernels.
But at the moment, I am not concerned with fine tuning but a huge gaping
hole in linux file serving performance. And its probably true that the
non repeatability indicates a problem in itself. With a well tuned kernel,
results should be much more repeatable.</p>

<p><i>Detailed result<br />
===============</i></p>

<p>Here are the timing runs for each kernel. Times are
Minutes:seconds. I did two runs for each.  Vmstat 5 outputs are available at <a
href="http://tltsu.anu.edu.au/~robert/linux_logs/">http://tltsu.anu.edu.au/~robert/linux_logs/</a>
But none of the vmstat output shows any obvious problems. None of the
kernels used much swap.  And I didnt see any problems with daemons like
kswapd chewing time.</p>

<p>Baseline run with 256 Megs</p>

<pre>Run 1     First finished 4:05       Last finished: 4:18</pre>

<p>Notes: this indicates best case performance</p>

<pre>linux-2.4.10:
Run 1     First finished 2:15       Last finished: 5:36
Run 2     First finished 1:41       Last finished: 6:36

Linux-2.4.10-aa1
Run 1     First finished 3:38       Last finished: 8:40
Run 2     First finished 1:35       Last finished: 7:07</pre>

<p>Notes: slightly worse than straight 2.4.10</p>

<pre>Linux-2.4.10-p
Run 1     First finished 1:39       Last finished: 8:33
Run 2     First finished 1:46       Last finished: 6:10</pre>

<p>Notes: no better than 2.4.10, of course the preempt kernel is not advertised
as a server OS but since the problems observed are primarily fairness problems,
I hoped it might help.</p>

<pre>Linux-2.4.9-ac15-al
Run 1     First finished 2:00       Last finished: 5:30
Run 2     First finished 1:45       Last finished: 5:07</pre>

<p>Notes: this has slightly better behaviour than 2.4.10 in that 2 clients tend
to "get in the groove" at a time and finish early and then another 2 etc.</p>

<p><i>Analysis<br />
========</i></p>

<p>In the baseline test with 256 Megs, since all the files fit in page
cache, there is no reading at all. Only writing. The VM seems to handle
this flawlessly.</p>

<p>In the 128 Meg tests, reads start happening as well as writes since
things get flushed out of the page cache.  The VM doesnt cope with this
as well. The symptom of heavy seeking with poor throughput that is seen
in this test I associate with poor elevator performance. If the elevator
doesnt group requests enough you get disk behaviour like "small read, seek,
small read, seek" instead of grouping things into large reads or multiple
reads between seeks.</p>

<p>The problem where one client gets all the bandwidth has to be some kind
of livelock.  Normally I might suspect that the locked out process have
been swapped out, but in this case no swap is being used. I suspose their
process pages could have been flushed to make space for page cache pages.
But this would show up in an incease page cache size in vmstat. Which doesnt
seem to be the case.</p>

<p>Ironically I believe this is associated with the elevator sorting requests
too aggressively.  All the file data for the processes that are locked
out must be flushed out of page cache, and the locked process can't get
enough reads scheduled to make any progress. Disk operations are coming in
for the "good" process fast enough to keep the disk busy, these are sorted
to the top by the elevator since they are near the current head position.
And noone else gets to make any progress.</p>

<p>It has been suggested that the problems might be specific to netatalk.
However I have been unable to find anything that would indicates that netatalk
is doing anything odd. Stracing the file server processes shows that they
are just doing 8k reads and writes. The files are not opened O_SYNC and the
file server process arent doing any fsync calls. This is supported by the
fact that the performance is fine with 256 Megs of memory.</p>

<p>I have been unable to find any non networked test that demonstates the same
problems.  Tests such as 5 simultaneous bonnie runs or a tiotest with 5 threads
that are superficially doing the same things don't see the same problems.</p>

<p>What I believe is the cause is that since we have 5 clients fighting for
network bandwidth, the packets from each client are coming in interleaved. So
the granularity of operations that the server does is very fine.  In a
local test such as 5 bonnies, each process gets to have a full time slice
accessing its file before the next file is accessed. Which leads to a much
greater granularity.  So I supposed a modified version of tiotest that does
a sched_yeild after each read or write might see the same problems. But I
havent tested this theory.</p>

</quote>

</section>

<section
  title="When Coders Crack: Status Of 0.01"
  subject="[PATCH] Linux 0.01 disk lockup"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/0905.html"
  posts="13"
  startdate="27 Sep 2001 05:34:11 -0800"
  enddate="01 Oct 2001 06:08:08 -0800"
>
<topic>Networking</topic>

<mention>Linus Torvalds</mention>

<p>Mikulas Patocka reported from a state of deep psychosis:</p>

<quote who="Mikulas Patocka">

<p>Linux 0.01 has a bug in disk request sorting - when interrupt happens
while sorting is active, the interrupt routine won't clear do_hd - thus the
disk will stay locked up forever.</p>

<p>Function add_request also lacks memory barriers - the compiler could
reorder writes to variable sorting and writes to request queue - producing
race conditions. Because gcc 1.40 does not have __asm__("":::"memory"),
I had to use dummy function call as a memory barrier.</p>

</quote>

<p>Mikulas' unfortunate affliction appears to have been contagious. Arnaldo
Carvalho de Melo said, <quote who="Arnaldo Carvalho de Melo">Fantastic! who
is the maintainer for the 0.x kernel series these days? I thought that 2.0
was Dave W., 2.2 was Alan, 2.4 Linus, so now we have to find people for 1.2
and finally get 1.2.14 released, man, how I wanted one with the dynamic PPP
code in back in those days... 8)</quote></p>

<p>Paul Gortmaker replied:</p>

<quote who="Paul Gortmaker">

<p>Well, IIRC, Alan and DaveM were essentially 1.2.x maintainers with various
-ac and "ISS" patches (bonus points if you can remember what ISS stood for).
I've probably got some of those 1.2.13 patches around somewhere...</p>

<p>As for 1.0.9, at one point some years ago I had updated it (cf. linux-lite)
to compile with "new" gcc-2.7.2  when RAM was major $$$ - I don't imagine
it has been touched since.</p>

<p>$ ls -l date<br />
<pre>-rwxr-xr-x   1 root     root        13624 Sep  4  1992 date</pre>
$ ldd ./date<br />
<pre>        /lib/libc.so.4 (4.0)</pre>
$ ./date<br />
Thu Sep 27 15:58:19 EDT 2001<br />
$</p>

<p>Wheee!  :)   Now if I just had a Decwriter for a serial console...</p>

</quote>

<p>Aaron Tiensivu replied regarding the "ISS" challenge, <quote who="Aaron
Tiensivu">Internet Shit Slinger if I remember right. :) There was
also 1.2.14-LMP, the Linux Maintenance Project.. it even had a mailing
list.</quote></p>

<p>Fortunately, Richard Gooch managed to maintain an immunity, remarking
soberly, <quote who="Richard Gooch">Er, why bother to fix bugs in such
an ancient kernel, rather than upgrading to a more modern kernel (like
0.98:-)? It's like finding a bug in 2.3.30 and fixing it rather than grabbing
2.4.10 and seeing if the problem persists.</quote> Mikulas' reply was, <quote
who="Mikulas Patocka">Well - why not? The disk interrupt locking algorithm in
0.01 is beautiful (except for the bug - but it can be fixed). It's something
you don't see in 2.4.10 with __cli, __sti, __save_flags, __restore_flags
everywhere. So why not to post a bug report and patch for 10th anniversary
of Linux?</quote></p>

<p>Elsewhere, Linus Torvalds offered to let Mikulas be the official maintainer
of the 0.01.xx series, but Mikulas, in a moment of sanity, turned him down. He
said, <quote who="Mikulas Patocka">It would be cool to have linux-0.01
distribution. I started to use linux in 2.0 times, so I'm probably not the
right person to maintain it. I don't even know where to get programs for it
and I doubt it would work on my 4G disk.</quote> Rob Landley replied</p>

<quote who="Rob Landley">

<p>You might want to read the mailing list entries from 1991 and early
1992:</p>

<p><a
href="http://www.kclug.org/old_archives/linux-activists/">http://www.kclug.org/old_archives/linux-activists/</a></p>

<p>I've put together a summary of some of the more interesting early posts
from 1991 and early 1992 for the computer history book I'm writing...</p>

<p><a
href="http://penguicon.sourceforge.net/comphist/1991.html">http://penguicon.sourceforge.net/comphist/1991.html</a></p>

<p><a
href="http://penguicon.sourceforge.net/comphist/1992.html">http://penguicon.sourceforge.net/comphist/1992.html</a></p>

</quote>

<p>Alan Cox added:</p>

<quote who="Alan Cox">

<p>The late 1993-&gt;95 list is archived at</p>

<p><a
href="http://www.linux.org.uk/Old-LK/Old-linux-kernel">http://www.linux.org.uk/Old-LK/Old-linux-kernel</a></p>

<p>I don't currently know if the rest of 1992-&gt;late 1993 exists</p>

</quote>

<p>And Rob added:</p>

<quote who="Rob Landley">

<p>The kclug archives claim to run until the second week of october 1993.
I just haven't sorted through them that far yet.</p>

<p><a
href="http://www.kclug.org/old_archives/linux-activists/">http://www.kclug.org/old_archives/linux-activists/</a></p>

<p>Please don't beat on them TOO hard, I think they're on an ISDN line or
something...</p>

<p>(The reason for limiting the search to mid 1992 is that by they they were
already up to 0.95, so 0.01 was no longer relevant...)</p>

</quote>

</section>

<section
  title="Status Of NFS And TCP In 2.4"
  subject="status of nfs and tcp with 2.4"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/0916.html"
  posts="7"
  startdate="27 Sep 2001 06:53:21 -0800"
  enddate="03 Oct 2001 06:31:56 -0800"
>
<topic>FS: NFS</topic>
<topic>Networking</topic>

<p>James D Strandboge asked, <quote who="James D Strandboge">What is the status
of tcp and nfs with the 2.4 kernel?  The sourceforge site (regarding this)
has not changed for a while and the NFS FAQ at sourceforge simply states:
"nfsv3 over tcp does not work - the code for 2.4.x is as yet to be merged".
What progress is being made toward this end?</quote> Trond Myklebust replied,
<quote who="Trond Myklebust">None: AFAIK nobody has yet written any code that
works for the server.  The client works though...</quote> James asked how
involved it would be to write the TCP code since the UDP code had already
been written. Trond replied:</p>

<quote who="Trond Myklebust">

<p>The biggest problem is to prevent the TCP server hogging all the threads
when a client gets congested.</p>

<p>With the UDP code, we use non-blocking I/O and simply drop all replies that
don't get through. For TCP dropping replies is not acceptable as the client
will only resend requests every ~60seconds. Currently, the code therefore
uses blocking I/O something which means that if the socket blocks, you run
out of free nfsd threads...</p>

<p>There are 2 possible strategies:</p>

<p>

<ol>

<li>Allocate 1 thread per TCP connection</li>

<li>Use non-blocking I/O, but allow TCP connections to defer sending the
reply until the socket is available (and allow the thread to service other
requests while the socket is busy).</li>

</ol>

</p>

<p>I started work on (2) last autumn, but I haven't had time to get much
done since then. It's on my list of priorities for 2.5.x though, so if nobody
else wants to get their hands dirty I will get back to it...</p>

</quote>

<p>James asked for Trond's patch for
his work on the second strategy, and Trond gave a link to <a
href="http://www.fys.uio.no/~trondmy/src/pre_alpha/linux-2.4.0-test6-rpctcp.dif">http://www.fys.uio.no/~trondmy/src/pre_alpha/linux-2.4.0-test6-rpctcp.dif</a>,
explaining, <quote who="Trond Myklebust">It's a patch against linux-2.4.0-test6
and is basically at the 'toy' stage. Definitely nowhere near ready for
release. IIRC though it did actually run fairly reliably.</quote> They had
a brief technical discussion to clarify some of the ideas, and the thread
ended.</p>

</section>

<section
  title="Work Still Being Done On The Old VM In The -ac Tree"
  subject="2.4.9-ac16 good perfomer?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/1079.html"
  posts="20"
  startdate="27 Sep 2001 19:17:21 -0800"
  enddate="01 Oct 2001 08:05:17 -0800"
>
<topic>Virtual Memory</topic>

<mention>Bill Davidsen</mention>

<p>Thomas Hood reported, <quote who="Thomas Hood">Either 2.4.9-ac16 has
much improved VM performance over previous 2.4 kernels (under moderate load,
at least), or someone sneaked in to my apartment last night and upgraded my
machine while I was asleep.  I'm leaning toward the latter explanation.</quote>
Rik van Riel replied, <quote who="Rik van Riel">Now that the -ac VM was stable
for a few weeks, I thought it might be time to sneak in some big performance
changes, finally.  They seem to work ;)</quote> Bill Davidsen reported some
slowness on low-memory machines, and there was a bit of technical discussion
to try to root it out.</p>

</section>

<section
  title="More Developer Backlash For Invasive 2.4 Changes"
  subject="kernel changes"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/1279.html"
  posts="16"
  startdate="28 Sep 2001 13:32:05 -0800"
  enddate="04 Oct 2001 01:43:38 -0800"
>
<topic>Networking</topic>
<topic>Virtual Memory</topic>

<p>Pavel Zaitsev complained, <quote who="Pavel Zaitsev">I wonder wether there
would be reversion to old process where kernel source will be solidified
before starting development branch. Sysadmins where I work are uneasy to
move to linux from solaris, because of erratic changes to the kernel such
as replacement of the hardware monitoring code, rewriting of network card
drivers - all of which broke some or other software, or simply did not work. I
myself update kernel as time permits, usually every 0.0.2+ I have spent nearly
two days tracing problem of my network, that ended up in source code of the
driver that have been radically changed for "better". Now I don't trust 2.4
line kernel to work *at all*.</quote> Alan Cox replied, <quote who="Alan
Cox">You certainly aren't the only one. 2.4.10 both really alarms me and
doesn't survive over night on my test box.</quote> Andrew Ebling replied,
<quote who="Andrew Ebling">It would be better to be premature starting 2.5.x
than to risk damaging the reputation of Linux by pretending an unproven
kernel is stable.  Lets start 2.5.x and let Alan sort 2.4.x out.</quote></p>

<p>At one point in the discussion, Dan Maas said:</p>

<quote who="Dan Maas">

<p>I consider it extremely embarrassing that fundamental drivers like aic7xxx,
emu10k1, tulip, etc. are breaking regularly in the mainline kernels. I
haven't had any trouble with things like this in Windows for several years
now... Sure the Windows drivers are probably a few percent slower, but as
Nathan Myers once wrote, "It is meaningless to compare the efficiency of a
running system against one which might have done some operations faster if
it had not crashed."</p>

<p>I think we all owe major thanks to Alan Cox, who does his best to keep
the house in order amidst the chaos of kernel development (kudos to Mr. Cox
for holding on to Rik's VM design long enough for it to stabilize!)</p>

</quote>

</section>

<section
  title="Status Of ext3 And VM In -ac Kernels"
  subject="Linux 2.4.9-ac17"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/1315.html"
  posts="11"
  startdate="28 Sep 2001 15:44:12 -0800"
  enddate="29 Sep 2001 20:29:19 -0800"
>
<topic>FS: ext3</topic>
<topic>Virtual Memory</topic>

<p>Alan Cox announce 2.4.9-ac17, and Mike Fedyk asked approximately when ext3
would be merged. Alan replied, <quote who="Alan Cox">When the ext3 folk ask me
to merge it.</quote> Hristo Grigorov said, <quote who="Hristo Grigorov">What
about if we, the regular users ask you yo merge it?</quote> There was no
reply to this, but in the past Alan has been very clear on the idea that he
will only merge in patches when the developers feel they're ready. The point
perhaps being that at any given moment the code is in a nontrivial state, and
the developers are in the best position to know which patch to submit. Simply
dumping the latest version into the -ac kernel could cause many bugs.</p>

<p>Elsewhere, John Jasen asked, <quote who="John Jasen">You (-ac) and linus
(2.4.10 and eventual .11-pre) are split on the VM from Rik and Andreas,
correct?</quote> And Mike Fedyk asked, <quote who="Mike Fedyk">which VM
will be in 2.4.10-ac1?</quote> Alan replied, <quote who="Alan Cox">Rik's vm
and also none of the horrible page cache/block device hackery that belongs
in 2.5. I actually use the trees I release and I want to keep my machines
working</quote></p>

</section>

<section
  title="Success And Problems With New VM"
  subject="2.4.10 VM, active cache pages, and OOM"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0109.3/1390.html"
  posts="6"
  startdate="29 Sep 2001 08:19:13 -0800"
  enddate="29 Sep 2001 11:43:04 -0800"
>
<topic>Executable File Format</topic>
<topic>Virtual Memory</topic>

<mention>Andrea Arcangeli</mention>

<p>Tobias Ringstrom reported good success in general with the new VM. He said,
<quote who="Tobias Ringstrom">the 2.4.10 VM works great for my desktop and
home server, much better than previous versions.  I have not tried Alan's
kernels.</quote> However, he'd managed to isolate a small program that could
cause the system to become very unresponsive, go out of memory, and start
killing processes. He said:</p>

<quote who="Tobias Ringstrom">

<p>it is illustrated by the following very simple program:</p>

<p>

<blockquote>
        #include &lt;unistd.h&gt;
        int main()
        { 
<blockquote>
                char buf[512];
                while (read(0, buf, sizeof(buf)) == sizeof(buf))
&#160;<br />
                return 0;
</blockquote>
        }
</blockquote>

</p>

<p>The program should be reading a block device, but a big file probably does
the trick as well.</p>

<p>

<blockquote>

        ./a.out &lt; /dev/hde1

</blockquote>

</p>

<p>When the program is running, all cached pages pop up in the active list,
and when the memory is full of active pages, the computer starts to page
out stuff, becomes VERY unresponsive, and after half a minute or so it
goes OOM and starts killing processes.  There are lots and lots of free
swap at this time.  I also get a bunch of 0-order allocation failures in
the log.</p>

</quote>

<p>Linus Torvalds replied, <quote who="Linus Torvalds">if you get into a
situation with _many_ more active pages than inactive, the plain 2.4.10
VM doesn't age the active list nearly fast enough.</quote> He added that
the problem had been fixed in Andrea Arcangeli's latest patches. They
discussed some other ideas in that area, and Tobias said he'd try out
Andrea's patches.</p>

</section>

</kc>

