<?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>

<issue num="131" date="03 Sep 2001 00:00:00 -0800" />

<intro>

<p>Well, I'm back from vacation. It was fun, but too short. By the time I
adjusted to the nine-hour time difference, it was almost time to go home. Oh
well. This issue I tried to capture things from the three previous weeks,
but there was a lot of stuff.</p>

<p>On the good news front: Cedric Duval has been maintaining a Mutt patch
that allows broken threads to be fixed (or, if you prefer, fixed threads to
be broken). I'd been using an old version of this feature by David Welton
for a long time, when Cedric took it under his wing, ported it up to the
latest Mutt snapshots, and rounded out the features. The patch can be found
at <a
href="http://cedricduval.free.fr/mutt/">http://cedricduval.free.fr/mutt/</a>,
and I heartily recommend it. Please <a
href="mailto:cedricduval@free.fr?cc=zbrown@tumblerings.org">send
feedback</a> about the patch to Cedric.</p>

</intro>

<stats posts="3770" size="15525" contrib="967" multiples="500" lastweek="267">

<person posts="261" size="650" who="Alan Cox " />
<person posts="85" size="330" who="&quot;David S. Miller&quot; " />
<person posts="84" size="291" who="Daniel Phillips " />
<person posts="80" size="260" who="Rik van Riel " />
<person posts="56" size="177" who="Keith Owens " />
<person posts="55" size="252" who="Robert Love " />
<person posts="49" size="191" who="Alexander Viro " />
<person posts="39" size="159" who="Andrea Arcangeli " />
<person posts="36" size="141" who="Linus Torvalds " />
<person posts="35" size="129" who="Alex Bligh - linux-kernel " />
<person posts="33" size="88" who="&quot;Samium Gromoff&quot; " />
<person posts="32" size="101" who="Tom Rini " />
<person posts="31" size="172" who="Jens Axboe " />
<person posts="30" size="101" who="Richard Gooch " />
<person posts="29" size="115" who=" (Eric W. Biederman)" />
<person posts="29" size="99" who="Andrew Morton " />
<person posts="28" size="111" who="Marcelo Tosatti " />
<person posts="27" size="106" who="&quot;Richard B. Johnson&quot; " />
<person posts="25" size="97" who="Ignacio Vazquez-Abrams " />
<person posts="25" size="79" who="&quot;Paul G. Allen&quot; " />
<person posts="24" size="73" who="Pavel Machek " />
<person posts="22" size="102" who="george anzinger " />
<person posts="21" size="133" who="&quot;Adam J. Richter&quot; " />
<person posts="21" size="94" who="&lt;pcg(  )com&gt;" />
<person posts="20" size="80" who="Russell King " />
<person posts="19" size="63" who="Jes Sorensen " />
<person posts="19" size="62" who="Nicholas Knight " />
<person posts="19" size="57" who="Andi Kleen " />
<person posts="18" size="92" who="Anton Altaparmakov " />
<person posts="18" size="80" who="Christian Widmer " />
<person posts="18" size="54" who="Pete Zaitcev " />
<person posts="17" size="110" who="Riley Williams " />
<person posts="17" size="75" who="&quot;H. Peter Anvin&quot; " />
<person posts="17" size="57" who="David Ford " />
<person posts="16" size="466" who="Alan Cox " />
<person posts="16" size="73" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="16" size="57" who="&quot;Eric S. Raymond&quot; " />
<person posts="16" size="47" who="Helge Hafting " />
<person posts="16" size="47" who="&quot;David Schwartz&quot; " />
<person posts="16" size="45" who=" (David Wagner)" />
<person posts="14" size="160" who="Tim Hockin " />
<person posts="14" size="156" who="Ben Greear " />
<person posts="13" size="54" who="Stephan von Krawczynski " />
<person posts="13" size="39" who="Johannes Erdfelt " />
<person posts="12" size="60" who="Gerd Knorr " />
<person posts="12" size="43" who="Oliver Xymoron " />
<person posts="12" size="42" who="Andreas Dilger " />
<person posts="12" size="36" who="Adrian Cox " />
<person posts="11" size="48" who="Brian " />
<person posts="11" size="37" who="&quot;Magnus Naeslund\(f\)&quot; " />
<person posts="11" size="37" who="David Woodhouse " />
<person posts="11" size="34" who="Christoph Rohland " />
<person posts="11" size="34" who="Ricky Beam " />
<person posts="11" size="33" who="VDA " />
<person posts="11" size="32" who="Mike Castle " />
<person posts="11" size="31" who="&quot;Justin T. Gibbs&quot; " />
<person posts="11" size="30" who="Ben LaHaise " />
<person posts="10" size="64" who="" />
<person posts="10" size="57" who="Chris Mason " />
<person posts="10" size="54" who="&quot;Peter T. Breuer&quot; " />
<person posts="10" size="45" who="PinkFreud " />
<person posts="10" size="42" who="Mike Galbraith " />
<person posts="10" size="41" who="Roger Larsson " />
<person posts="10" size="36" who="Arnaldo Carvalho de Melo " />
<person posts="10" size="33" who="Luigi Genoni " />
<person posts="10" size="31" who="" />
<person posts="10" size="31" who="Chris Wedgwood " />
<person posts="10" size="28" who=" (Colonel)" />
<person posts="10" size="26" who="" />
<person posts="10" size="26" who="Roman Zippel " />
<person posts="9" size="256" who="Nico Schottelius " />
<person posts="9" size="58" who="Kurt Garloff " />
<person posts="9" size="45" who="&quot;Christian Borntraeger&quot; " />
<person posts="9" size="44" who="Paul " />
<person posts="9" size="39" who="OGAWA Hirofumi " />
<person posts="9" size="37" who="Brad Chapman " />
<person posts="9" size="36" who="Ion Badulescu " />
<person posts="9" size="34" who="Szabolcs Szakacsits " />
<person posts="9" size="33" who="&quot;Albert D. Cahalan&quot; " />
<person posts="9" size="32" who="Steven Cole " />
<person posts="9" size="32" who="Andreas Dilger " />
<person posts="9" size="30" who="Andrzej Krzysztofowicz " />
<person posts="9" size="30" who="Bart Vandewoestyne " />
<person posts="9" size="29" who="Chris Friesen " />
<person posts="9" size="24" who="Oliver Neukum " />
<person posts="8" size="54" who="Dave Jones " />
<person posts="8" size="41" who="=?iso-8859-1?Q?Andr=E9?= Dahlqvist " />
<person posts="8" size="34" who="Jeff Chua " />
<person posts="8" size="32" who="Tim Moore " />
<person posts="8" size="30" who="=?iso-8859-1?q?Steve=20Kieu?= " />
<person posts="8" size="29" who=" (Gunther Mayer)" />
<person posts="8" size="26" who="Matti Aarnio " />
<person posts="8" size="25" who="Brian Gerst " />
<person posts="8" size="24" who="&quot;Dr. Kelsey Hudson&quot; " />
<person posts="8" size="24" who="Victor Yodaiken " />
<person posts="8" size="24" who="Christoph Hellwig " />
<person posts="8" size="23" who="John Levon " />
<person posts="8" size="22" who="Justin A " />
<person posts="7" size="73" who="David Lang " />
<person posts="7" size="66" who="Fred Jackson " />
<person posts="7" size="48" who="Dieter =?iso-8859-1?q?N=FCtzel?= " />
<person posts="7" size="30" who="Theodore Tso " />
<person posts="7" size="27" who="Evgeny Polyakov " />
<person posts="7" size="26" who="Andrzej Krzysztofowicz " />
<person posts="7" size="26" who="&quot;Grover, Andrew&quot; " />
<person posts="7" size="24" who="Hugh Dickins " />
<person posts="7" size="23" who="Steve Hill " />
<person posts="7" size="23" who="Alexey Kuznetsov " />
<person posts="7" size="22" who="&quot;Randy.Dunlap&quot; " />
<person posts="7" size="21" who="safemode " />
<person posts="7" size="21" who="Matthew Jacob " />
<person posts="7" size="20" who="Anders Peter Fugmann " />
<person posts="7" size="20" who="Bjorn Wesen " />
<person posts="7" size="16" who="Greg KH " />
<person posts="6" size="60" who="Manuel McLure " />
<person posts="6" size="37" who="Chris Crowther " />
<person posts="6" size="26" who="Tim Walberg " />
<person posts="6" size="26" who="&quot;Kevin P. Fleming&quot; " />
<person posts="6" size="24" who="&quot;Hubertus Franke&quot; " />
<person posts="6" size="23" who="=?iso-8859-1?Q?Jakob_=D8stergaard?= " />
<person posts="6" size="22" who="Nicolas Pitre " />
<person posts="6" size="22" who="Mike Touloumtzis " />
<person posts="6" size="21" who="Stelian Pop " />
<person posts="6" size="20" who="Martin Dalecki " />
<person posts="6" size="20" who="Mark Atwood " />
<person posts="6" size="19" who="Mikael Pettersson " />
<person posts="6" size="19" who="&quot;Udo A. Steinberg&quot; " />
<person posts="6" size="18" who="Chris Meadors " />
<person posts="6" size="18" who="Urban Widmark " />
<person posts="6" size="18" who="" />
<person posts="6" size="17" who="" />
<person posts="6" size="17" who="" />
<person posts="6" size="16" who="Francois Romieu " />
<person posts="6" size="15" who="Justin Guyett " />
<person posts="6" size="15" who="Doug McNaught " />
<person posts="6" size="14" who="&quot;SATHISH.J&quot; " />
<person posts="6" size="13" who="Dan Hollis " />
<person posts="5" size="42" who="Hisaaki Shibata " />
<person posts="5" size="37" who="Mark Hemment " />
<person posts="5" size="32" who="&quot;Andrew Scott&quot; " />
<person posts="5" size="30" who="Andreas Haumer " />
<person posts="5" size="28" who="&quot;Marc Brekoo&quot; " />
<person posts="5" size="26" who="Hans Reiser " />
<person posts="5" size="24" who="J Sloan " />
<person posts="5" size="21" who="Denis Perchine " />
<person posts="5" size="21" who="hugang " />
<person posts="5" size="19" who="Mike Jagdis " />
<person posts="5" size="18" who="Paul Mackerras " />
<person posts="5" size="18" who="&quot;Hua Zhong&quot; " />
<person posts="5" size="18" who="Andrey Nekrasov " />
<person posts="5" size="17" who="Matthias Andree " />
<person posts="5" size="17" who="Luca Montecchiani " />
<person posts="5" size="17" who="&quot;Jens Hoffrichter&quot; " />
<person posts="5" size="17" who="Paul Gortmaker " />
<person posts="5" size="16" who="Ingo Oeser " />
<person posts="5" size="16" who="Roy Sigurd Karlsbakk " />
<person posts="5" size="16" who="Gabriel Paubert " />
<person posts="5" size="16" who="&quot;Richard J Moore&quot; " />
<person posts="5" size="16" who="&quot;Per Jessen&quot; " />
<person posts="5" size="16" who="Eli Carter " />
<person posts="5" size="15" who="" />
<person posts="5" size="15" who="Admin Mailing Lists " />
<person posts="5" size="15" who="Cliff Albert " />
<person posts="5" size="15" who="Erik Mouw " />
<person posts="5" size="14" who="Raghava Raju " />
<person posts="5" size="14" who="Herbert Xu " />
<person posts="5" size="14" who="Fred " />
<person posts="5" size="14" who="&quot;Camiel Vanderhoeven&quot; " />
<person posts="5" size="13" who="Alex Buell " />
<person posts="5" size="12" who="Eduardo =?iso-8859-1?q?Cort=E9s=20?= " />
<person posts="5" size="12" who="" />
<person posts="5" size="12" who="Jeff Dike " />
<person posts="5" size="11" who="Eric Jan " />
<person posts="4" size="75" who="Jens Hoefkens " />
<person posts="4" size="48" who="Rui Sousa " />
<person posts="4" size="45" who="Georg Nikodym " />
<person posts="4" size="38" who="Joel Jaeggli " />
<person posts="4" size="35" who="Pierre JUHEN " />
<person posts="4" size="29" who="Richard Henderson " />
<person posts="4" size="27" who="=?us-ascii?Q?Rog=E9rio?= Brito " />
<person posts="4" size="25" who="Douglas Gilbert " />
<person posts="4" size="23" who="christophe =?iso-8859-1?Q?barb=E9?= " />
<person posts="4" size="23" who="Roger Larsson " />
<person posts="4" size="20" who=" (Rogier Wolff)" />
<person posts="4" size="20" who="=?iso-8859-1?q?Etienne=20Lorrain?= " />
<person posts="4" size="19" who="Marc Heckmann " />
<person posts="4" size="18" who="Matthew Dharm " />
<person posts="4" size="18" who="Bob McElrath " />
<person posts="4" size="17" who="Andreas Hartmann " />
<person posts="4" size="17" who="Jean Tourrilhes " />
<person posts="4" size="17" who="Kristian " />
<person posts="4" size="16" who="Doug Ledford " />
<person posts="4" size="16" who="Taylor Carpenter " />
<person posts="4" size="16" who="Nerijus Baliunas " />
<person posts="4" size="16" who="David Weinehall " />
<person posts="4" size="16" who="&quot;D. Stimits&quot; " />
<person posts="4" size="16" who="Andris Pavenis " />
<person posts="4" size="16" who="&quot;Johan Adolfsson&quot; " />
<person posts="4" size="15" who="&quot;Ryan C. Bonham&quot; " />
<person posts="4" size="15" who="Nicholas Lee " />
<person posts="4" size="15" who="Andreas Bombe " />
<person posts="4" size="15" who="Disconnect " />
<person posts="4" size="15" who="&quot;Daniel T. Chen&quot; " />
<person posts="4" size="15" who=" (Linus Torvalds)" />
<person posts="4" size="14" who="Bob McElrath " />
<person posts="4" size="14" who="Aaron Lehmann " />
<person posts="4" size="14" who="Wilfried Weissmann " />
<person posts="4" size="14" who="Carl-Johan Kjellander " />
<person posts="4" size="13" who="Dave McCracken " />
<person posts="4" size="13" who="&quot;Dirk W. Steinberg&quot; " />
<person posts="4" size="13" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="4" size="13" who="Jesse Pollard " />
<person posts="4" size="13" who="Herbert Rosmanith " />
<person posts="4" size="13" who="Marco Colombo " />
<person posts="4" size="13" who="&quot;Ulrich Windl&quot; " />
<person posts="4" size="13" who="Jamie Lokier " />
<person posts="4" size="12" who="Benjamin Herrenschmidt " />
<person posts="4" size="12" who="Dan Kegel " />
<person posts="4" size="12" who="Guest section DW " />
<person posts="4" size="12" who="&quot;MEHTA,HIREN (A-SanJose,ex1)&quot; " />
<person posts="4" size="12" who="&quot;Peter J. Braam&quot; " />
<person posts="4" size="12" who="cardhore " />
<person posts="4" size="12" who="Ralf Baechle " />
<person posts="4" size="12" who="Alessandro Suardi " />
<person posts="4" size="11" who="Andrzej Krzysztofowicz " />
<person posts="4" size="11" who="Horst von Brand " />
<person posts="4" size="11" who="Thomas Davis " />
<person posts="4" size="11" who="Matthias Schniedermeyer " />
<person posts="4" size="11" who="Steven Walter " />
<person posts="4" size="11" who="Daniel Bertrand " />
<person posts="4" size="11" who="Andi Kleen " />
<person posts="4" size="11" who="Jes Sorensen " />
<person posts="4" size="10" who="Kurt Roeckx " />
<person posts="4" size="10" who="Rick Hohensee " />
<person posts="4" size="10" who="James Simmons " />
<person posts="4" size="10" who="Maksim Krasnyanskiy " />
<person posts="4" size="9" who="Mark Hahn " />
<person posts="3" size="63" who="Anton Altaparmakov " />
<person posts="3" size="49" who="Mike Kravetz " />
<person posts="3" size="48" who="dlang " />
<person posts="3" size="47" who="&quot;Scott M. Hoffman&quot; " />
<person posts="3" size="41" who="&quot;Paul Rolland&quot; " />
<person posts="3" size="37" who="Garett Spencley " />
<person posts="3" size="22" who="Brian Beattie " />
<person posts="3" size="20" who="Philip Van Hoof " />
<person posts="3" size="18" who="Brian Strand " />
<person posts="3" size="15" who="David Madore " />
<person posts="3" size="15" who="Etienne Lorrain " />
<person posts="3" size="14" who="" />
<person posts="3" size="14" who="&quot;Curtis Bridges&quot; " />
<person posts="3" size="13" who="Jesse Pollard " />
<person posts="3" size="13" who="Kurt Garloff " />
<person posts="3" size="13" who="Philipp Matthias Hahn " />
<person posts="3" size="13" who="David Lang " />
<person posts="3" size="12" who="Nick Papadonis " />
<person posts="3" size="12" who="Eyal Lebedinsky " />
<person posts="3" size="12" who="German Gomez Garcia " />
<person posts="3" size="11" who="Bill Pringlemeir " />
<person posts="3" size="11" who="&quot;Christopher Friesen&quot; " />
<person posts="3" size="11" who="Larry McVoy " />
<person posts="3" size="11" who="Manfred Bartz " />
<person posts="3" size="11" who="" />
<person posts="3" size="11" who="Petr Baudis " />
<person posts="3" size="11" who="&quot;Laramie Leavitt&quot; " />
<person posts="3" size="11" who="&quot;Heinz J . Mauelshagen&quot; " />
<person posts="3" size="11" who=" &lt;rui.p.m.sousa@clix.pt&gt;" />
<person posts="3" size="11" who="Peter Klotz " />
<person posts="3" size="11" who="Andy Stewart " />
<person posts="3" size="11" who="" />
<person posts="3" size="10" who="Martin Knoblauch " />
<person posts="3" size="10" who="Wichert Akkerman " />
<person posts="3" size="10" who="Rich Baum " />
<person posts="3" size="10" who="jury gerold " />
<person posts="3" size="10" who="&quot;Jim Roland&quot; " />
<person posts="3" size="10" who="&quot;Frank Torres&quot; " />
<person posts="3" size="10" who="Roland Bauerschmidt " />
<person posts="3" size="10" who="Joseph Cheek " />
<person posts="3" size="10" who="Trond Myklebust " />
<person posts="3" size="10" who=" (Kai Henningsen)" />
<person posts="3" size="10" who="David Ford " />
<person posts="3" size="10" who="Daniel Wagner " />
<person posts="3" size="9" who="Kent Borg " />
<person posts="3" size="9" who="Neil Brown " />
<person posts="3" size="9" who="=?iso-8859-1?Q?Carlos_Fern=E1ndez_Sanz?= " />
<person posts="3" size="9" who="Leonid Mamtchenkov " />
<person posts="3" size="9" who="Ken Moffat " />
<person posts="3" size="9" who="Holger Lubitz " />
<person posts="3" size="9" who="Frank Neuber " />
<person posts="3" size="9" who="&quot;Bjoern A. Zeeb&quot; " />
<person posts="3" size="9" who="&quot;Jeff V. Merkey&quot; " />
<person posts="3" size="9" who="&quot;Bill Rugolsky Jr.&quot; " />
<person posts="3" size="9" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="3" size="9" who="&quot;Mark H. Wood&quot; " />
<person posts="3" size="9" who="Marek Michalkiewicz " />
<person posts="3" size="9" who="Dewet Diener " />
<person posts="3" size="9" who="Ulrich Drepper " />
<person posts="3" size="9" who="Ben Collins " />
<person posts="3" size="8" who="Jan Kara " />
<person posts="3" size="8" who="tristan " />
<person posts="3" size="8" who="&quot;Kevin Krieser&quot; " />
<person posts="3" size="8" who="Andrey Savochkin " />
<person posts="3" size="8" who="Ray Lee " />
<person posts="3" size="8" who="Jeff Garzik " />
<person posts="3" size="8" who="Stephen Satchell " />
<person posts="3" size="8" who="&quot;Chris Pockele&quot; " />
<person posts="3" size="8" who="Jim Roland " />
<person posts="3" size="8" who="&quot;Jeff Busch&quot; " />
<person posts="3" size="8" who="&quot;Serguei I. Ivantsov&quot; " />
<person posts="3" size="8" who="Petri Kaukasoina " />
<person posts="3" size="8" who="Emmanuel Varagnat " />
<person posts="3" size="8" who="Patrick Allaire " />
<person posts="3" size="8" who="kees " />
<person posts="3" size="7" who="Richard Russon " />
<person posts="3" size="7" who="&quot;Mark Cuss&quot; " />
<person posts="3" size="7" who="Ben Ford " />
<person posts="3" size="7" who="Rusty Russell " />
<person posts="3" size="7" who="s0mbre " />
<person posts="3" size="7" who="Arjan van de Ven " />
<person posts="3" size="7" who="Paul Jakma " />
<person posts="3" size="7" who="" />
<person posts="3" size="7" who="" />
<person posts="3" size="7" who="Kalpesh Shah " />
<person posts="3" size="6" who="Kim Yong Il " />
<person posts="2" size="65" who="&quot;Herbert U. =?iso-8859-1?q?H=FCbner?=&quot; " />
<person posts="2" size="42" who="Tobias Diedrich " />
<person posts="2" size="37" who="Geert Uytterhoeven " />
<person posts="2" size="32" who="&quot;J.R. de Jong&quot; " />
<person posts="2" size="32" who="&quot;John L. Males&quot; " />
<person posts="2" size="28" who="Jordan " />
<person posts="2" size="26" who="Ossama Othman " />
<person posts="2" size="25" who="Bosko Radivojevic " />
<person posts="2" size="24" who="David Fries " />
<person posts="2" size="24" who="Dennis Bjorklund " />
<person posts="2" size="21" who="Arnvid Karstad " />
<person posts="2" size="20" who="&quot;Jeremy Linton&quot; " />
<person posts="2" size="19" who="Chris Wilson " />
<person posts="2" size="19" who="Francois Lorrain " />
<person posts="2" size="17" who="BH " />
<person posts="2" size="16" who="Thomas Svedberg " />
<person posts="2" size="15" who="Caleb Tennis " />
<person posts="2" size="14" who="&quot;Craig I. Hagan&quot; " />
<person posts="2" size="13" who="&quot;Michel A. S. Pereira - KIDMumU|ResolveBucha&quot; " />
<person posts="2" size="12" who="Chris Schanzle " />
<person posts="2" size="12" who="Jeff Chua " />
<person posts="2" size="12" who="Ram'on Garc'ia Fern'andez " />
<person posts="2" size="11" who="Per Niva " />
<person posts="2" size="11" who="szonyi calin " />
<person posts="2" size="10" who="Paulo Andre " />
<person posts="2" size="10" who=" (David Madore)" />
<person posts="2" size="10" who="Jeremy Elson " />
<person posts="2" size="10" who="&quot;Nivedita Singhvi&quot; " />
<person posts="2" size="10" who="Joachim Backes " />
<person posts="2" size="9" who="Jon Lapham " />
<person posts="2" size="9" who="Juergen Stuber " />
<person posts="2" size="9" who="David Luyer " />
<person posts="2" size="9" who="Jan Niehusmann " />
<person posts="2" size="9" who="Chris Hanson " />
<person posts="2" size="9" who="Jordan Breeding " />
<person posts="2" size="8" who="" />
<person posts="2" size="8" who="Brian Dushaw " />
<person posts="2" size="8" who="Jim Houston " />
<person posts="2" size="8" who="Eric Buddington " />
<person posts="2" size="8" who=" (Ton Hospel)" />
<person posts="2" size="8" who="" />
<person posts="2" size="8" who="Peter Surda " />
<person posts="2" size="8" who="Rob Radez " />
<person posts="2" size="8" who="&quot;marc heckmann&quot; " />
<person posts="2" size="8" who="&quot;Nick Piggin&quot; " />
<person posts="2" size="8" who="Mircea Ciocan " />
<person posts="2" size="8" who="Alexandre Hautequest " />
<person posts="2" size="7" who="Jan-Benedict Glaw " />
<person posts="2" size="7" who="Joe " />
<person posts="2" size="7" who="Thomas Hood " />
<person posts="2" size="7" who="Eirikur Hjartarson " />
<person posts="2" size="7" who="Joe Thornber " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="David Balazic " />
<person posts="2" size="7" who="Olaf Hering " />
<person posts="2" size="7" who="John Heil " />
<person posts="2" size="7" who="&quot;Ryan Shrout&quot; " />
<person posts="2" size="7" who="&quot;Michael H. Warfield&quot; " />
<person posts="2" size="7" who="dean gaudet " />
<person posts="2" size="7" who="Roger Luethi " />
<person posts="2" size="7" who="Erik Andersen " />
<person posts="2" size="7" who="&quot;Woller, Thomas&quot; " />
<person posts="2" size="7" who="Tim Jansen " />
<person posts="2" size="7" who="=?iso-8859-1?Q?Ragnar_Kj=F8rstad?= " />
<person posts="2" size="7" who="Josh Fryman " />
<person posts="2" size="7" who="&quot;Donald Maner&quot; " />
<person posts="2" size="7" who="Olivier Sessink " />
<person posts="2" size="7" who="Clifford Wolf " />
<person posts="2" size="7" who="Donald Thompson " />
<person posts="2" size="6" who="Michael Ben-Gershon " />
<person posts="2" size="6" who="Sven Goethel " />
<person posts="2" size="6" who="Paul Clements " />
<person posts="2" size="6" who="Steve Brueggeman " />
<person posts="2" size="6" who="Ivan Kalvatchev " />
<person posts="2" size="6" who="Peter Fales " />
<person posts="2" size="6" who="Gergely Madarasz " />
<person posts="2" size="6" who="Petr Vandrovec " />
<person posts="2" size="6" who="Juergen Rose " />
<person posts="2" size="6" who="Mike Fedyk " />
<person posts="2" size="6" who="&quot;Kingsley Foreman&quot; " />
<person posts="2" size="6" who="&quot;Stuart MacDonald&quot; " />
<person posts="2" size="6" who="Kai Makisara " />
<person posts="2" size="6" who="&quot;Victoria W.&quot; " />
<person posts="2" size="6" who="Chris Oxenreider " />
<person posts="2" size="6" who="Anders Larsen " />
<person posts="2" size="6" who="&quot;Petr Vandrovec&quot; " />
<person posts="2" size="6" who="Wojtek Pilorz " />
<person posts="2" size="6" who="&quot;Mike Black&quot; " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="&quot;Roy C. Bixler&quot; " />
<person posts="2" size="6" who="Corin Hartland-Swann " />
<person posts="2" size="6" who="Fabbione " />
<person posts="2" size="6" who="Christian Widmer " />
<person posts="2" size="6" who="Dave McCracken " />
<person posts="2" size="6" who="Subba Rao " />
<person posts="2" size="6" who="Andre Hedrick " />
<person posts="2" size="6" who="Kai Germaschewski " />
<person posts="2" size="6" who="Zdenek Kabelac " />
<person posts="2" size="6" who="Tom Gall " />
<person posts="2" size="6" who="Josh McKinney " />
<person posts="2" size="6" who="Dewet Diener " />
<person posts="2" size="6" who="Greg Louis " />
<person posts="2" size="6" who="Tim Waugh " />
<person posts="2" size="6" who="&quot;Henning P. Schmiedehausen&quot; " />
<person posts="2" size="6" who="Charles Cazabon " />
<person posts="2" size="6" who=" (Thunder from the hill)" />
<person posts="2" size="6" who="Josh Wyatt " />
<person posts="2" size="6" who="&quot;Tony Hoyle&quot; " />
<person posts="2" size="6" who="Liakakis Kostas " />
<person posts="2" size="6" who="Mike Frisch " />
<person posts="2" size="6" who="Yusuf Goolamabbas " />
<person posts="2" size="5" who="Philip Blundell " />
<person posts="2" size="5" who="Matthias Andree " />
<person posts="2" size="5" who="Thomas Duffy " />
<person posts="2" size="5" who="f5ibh " />
<person posts="2" size="5" who="Joseph N. Hall " />
<person posts="2" size="5" who="Paul Buder " />
<person posts="2" size="5" who="Ted Unangst " />
<person posts="2" size="5" who="Florian Weimer " />
<person posts="2" size="5" who="David Brownell " />
<person posts="2" size="5" who="Jay Rogers " />
<person posts="2" size="5" who="Jeff Hartmann " />
<person posts="2" size="5" who="Pete Toscano " />
<person posts="2" size="5" who="Axel Thimm " />
<person posts="2" size="5" who=" (Miquel van Smoorenburg)" />
<person posts="2" size="5" who="Stephen Rothwell " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="&quot;Ryan Shrout&quot; " />
<person posts="2" size="5" who="Andi Kleen " />
<person posts="2" size="5" who="Thomas Sailer " />
<person posts="2" size="5" who="robert w hall " />
<person posts="2" size="5" who="Tony Hoyle " />
<person posts="2" size="5" who=" (Bruce Janson)" />
<person posts="2" size="5" who="Horst von Brand " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Torrey Hoffman " />
<person posts="2" size="5" who="=?iso-8859-1?Q?Pekka_Pietik=E4inen?= " />
<person posts="2" size="5" who="Frank Neuber " />
<person posts="2" size="5" who="&quot;Bobby D. Bryant&quot; " />
<person posts="2" size="5" who="Bob Martin " />
<person posts="2" size="5" who="Shane Wegner " />
<person posts="2" size="5" who="Gregoire Favre " />
<person posts="2" size="5" who="Walter Hofmann " />
<person posts="2" size="5" who="&quot;Martin A. Brooks&quot; " />
<person posts="2" size="5" who="Maciej Zenczykowski " />
<person posts="2" size="5" who="Rasmus Andersen " />
<person posts="2" size="5" who="Christoph Hellwig " />
<person posts="2" size="5" who="Peter Koellner " />
<person posts="2" size="5" who="Ime Smits " />
<person posts="2" size="5" who="Sandip Bhattacharya " />
<person posts="2" size="5" who="Travis Shirk " />
<person posts="2" size="5" who="Wakko Warner " />
<person posts="2" size="5" who="Adam Hynes " />
<person posts="2" size="5" who="Venu Gopal Krishna Vemula " />
<person posts="2" size="5" who="Max Kamenetsky " />
<person posts="2" size="5" who="Zakhar Kirpichenko " />
<person posts="2" size="5" who="Crutcher Dunnavant " />
<person posts="2" size="5" who="Tobias Ringstrom " />
<person posts="2" size="5" who="Vasil Kolev " />
<person posts="2" size="5" who="Pavel Machek " />
<person posts="2" size="5" who="Thierry Vignaud " />
<person posts="2" size="5" who="Eric Lammerts " />
<person posts="2" size="4" who="Peter =?iso-8859-1?Q?W=E4chtler?= " />
<person posts="2" size="4" who="leroyljr " />
<person posts="2" size="4" who="Marian Jancar " />
<person posts="2" size="4" who="Adam Schrotenboer " />
<person posts="2" size="4" who="Ross Vandegrift " />
<person posts="2" size="4" who="Ian Stirling " />
<person posts="2" size="4" who="John Weber " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Frank Jacobberger " />
<person posts="2" size="4" who="Tim Hockin " />
<person posts="2" size="4" who="&quot;Leonard N. Zubkoff&quot; " />
<person posts="2" size="4" who="&quot;Casanova Robert&quot; " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Jeff Meininger " />
<person posts="2" size="3" who="=?gb2312?q?=D0=C2=20=D4=C2?= " />
<person posts="1" size="31" who="Carlos E Gorges " />
<person posts="1" size="29" who="davinci " />
<person posts="1" size="28" who="Krishnakumar B " />
<person posts="1" size="26" who="Thiago Vinhas de Moraes " />
<person posts="1" size="25" who="&quot;Jamie Neil&quot; " />
<person posts="1" size="24" who="Andre Hedrick " />
<person posts="1" size="20" who="John Langford " />
<person posts="1" size="17" who="=?us-ascii?Q?Rog=E9rio?= Brito " />
<person posts="1" size="16" who="Nate Carlson " />
<person posts="1" size="16" who="ambx1 " />
<person posts="1" size="16" who="Will " />
<person posts="1" size="15" who="Bohdan Kolecek " />
<person posts="1" size="13" who="Thomas Ackermann " />
<person posts="1" size="12" who="Brent Baccala " />
<person posts="1" size="12" who="Roy Katz " />
<person posts="1" size="11" who="=?iso-8859-1?Q?Erik_Inge_Bols=F8?= " />
<person posts="1" size="11" who="Christian Engwer " />
<person posts="1" size="11" who="Thodoris Pitikaris " />
<person posts="1" size="11" who="RAPHEAD " />
<person posts="1" size="10" who="Alex Hill " />
<person posts="1" size="10" who="&quot;Marcelo E. Magallon&quot; " />
<person posts="1" size="9" who="Dag Wieers " />
<person posts="1" size="9" who="Martin Krause " />
<person posts="1" size="9" who="Florian Lohoff " />
<person posts="1" size="9" who="Matt Bernstein " />
<person posts="1" size="9" who="Jason Thomas " />
<person posts="1" size="9" who="Steffen Persvold " />
<person posts="1" size="8" who="Yves Duret " />
<person posts="1" size="8" who="Diego Santa Cruz " />
<person posts="1" size="8" who="&quot;Octavian Cerna&quot; " />
<person posts="1" size="8" who="&quot;Peter Wong&quot; " />
<person posts="1" size="8" who="&quot;Randal, Phil&quot; " />
<person posts="1" size="7" who="J Troy Piper " />
<person posts="1" size="7" who="Ime Smits " />
<person posts="1" size="7" who="&quot;ServeRAID For Linux&quot; " />
<person posts="1" size="7" who="" />
<person posts="1" size="7" who="&quot;Cress, Andrew R&quot; " />
<person posts="1" size="7" who="Jeffrey Ingber " />
<person posts="1" size="7" who="&quot;Koenig Dr. Wolfgang&quot; " />
<person posts="1" size="6" who="Jean-Sebastien Morisset " />
<person posts="1" size="6" who="Hubertus Franke " />
<person posts="1" size="6" who="Marko van Dooren " />
<person posts="1" size="6" who="Thiago Vinhas de Moraes " />
<person posts="1" size="6" who="Harald von Fellenberg " />
<person posts="1" size="6" who="&quot;Feyr Tlincail&quot; " />
<person posts="1" size="6" who="Chirag Kantharia " />
<person posts="1" size="6" who="Grant Erickson " />
<person posts="1" size="6" who="Peter Daum " />
<person posts="1" size="5" who="Timo Teras " />
<person posts="1" size="5" who="Alessandro Motter Ren " />
<person posts="1" size="5" who="&quot;Alon Ziv&quot; " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="&quot;David A. Frantz&quot; " />
<person posts="1" size="5" who="&quot;Bradley W. Langhorst&quot; " />
<person posts="1" size="5" who="Clemens Kirchgatterer " />
<person posts="1" size="5" who="Jarek Luberek " />
<person posts="1" size="5" who="lucho " />
<person posts="1" size="5" who="Nils Faerber " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Bob Glamm " />
<person posts="1" size="5" who="John Stoffel " />
<person posts="1" size="4" who="Martin Mueller " />
<person posts="1" size="4" who="Kernel Related Emails " />
<person posts="1" size="4" who="Vladimir Ivaschenko " />
<person posts="1" size="4" who="Fredrik Jansson " />
<person posts="1" size="4" who="CuPoTKa " />
<person posts="1" size="4" who="Ed Tomlinson " />
<person posts="1" size="4" who="Otto Wyss " />
<person posts="1" size="4" who="Eric Lammerts " />
<person posts="1" size="4" who="Benjamin Reed " />
<person posts="1" size="4" who="Gerald Weber " />
<person posts="1" size="4" who="&quot;xiuyuan&quot; " />
<person posts="1" size="4" who="&quot;t-f004&quot; " />
<person posts="1" size="4" who="Steve Lord " />
<person posts="1" size="4" who="Daniel Egger " />
<person posts="1" size="4" who="Info " />
<person posts="1" size="4" who="Val Henson " />
<person posts="1" size="4" who="Maxwell Spangler " />
<person posts="1" size="4" who="=?ISO-8859-1?Q? &quot;=D6=D0=B9=FA=BB=AF=B9=A4=C9=E8=B1=B8=CD=F8&quot; ?= " />
<person posts="1" size="4" who="&quot;Donald Dade&quot; " />
<person posts="1" size="4" who="Andrew Ebling " />
<person posts="1" size="4" who="Eduard Phetisov " />
<person posts="1" size="4" who="Dennis Thompson " />
<person posts="1" size="4" who="Jani Jaakkola " />
<person posts="1" size="4" who="Roger Larsson  (by way of Roger Larsson" />
<person posts="1" size="4" who="Ben Clifford " />
<person posts="1" size="4" who="Jason Michaelson " />
<person posts="1" size="4" who="Parag Warudkar " />
<person posts="1" size="4" who="Roland Dreier " />
<person posts="1" size="4" who="Stefan Westerfeld " />
<person posts="1" size="4" who="Jun Sun " />
<person posts="1" size="4" who=" (Zygo Blaxell)" />
<person posts="1" size="4" who="java programmer " />
<person posts="1" size="4" who="Jeff Anton " />
<person posts="1" size="4" who="&quot;H . J . Lu&quot; " />
<person posts="1" size="4" who="Michael Clark " />
<person posts="1" size="4" who="&quot;compulan&quot; " />
<person posts="1" size="4" who="Pozsar Balazs " />
<person posts="1" size="4" who="&quot;David E. Weekly&quot; " />
<person posts="1" size="3" who="Ville Herva " />
<person posts="1" size="3" who="Steve Underwood " />
<person posts="1" size="3" who="&quot;Don Krause&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="&quot;Neulinger, Nathan&quot; " />
<person posts="1" size="3" who="&quot;B. Galliart&quot; " />
<person posts="1" size="3" who="Willem Riede " />
<person posts="1" size="3" who="Tom Holroyd " />
<person posts="1" size="3" who="J Sloan " />
<person posts="1" size="3" who="&quot;Shailabh Nagar&quot; " />
<person posts="1" size="3" who="David Acklam " />
<person posts="1" size="3" who="David Rees " />
<person posts="1" size="3" who="Peter Oliver " />
<person posts="1" size="3" who="John Fraizer " />
<person posts="1" size="3" who="Gregory Ade " />
<person posts="1" size="3" who="Joachim Herb " />
<person posts="1" size="3" who="Rolf Fokkens " />
<person posts="1" size="3" who="&quot;Manfred H. Winter&quot; " />
<person posts="1" size="3" who="Dewet Diener " />
<person posts="1" size="3" who="Ulrich Windl " />
<person posts="1" size="3" who="Julian Anastasov " />
<person posts="1" size="3" who="Harald Skoglund " />
<person posts="1" size="3" who="Damon Gunther " />
<person posts="1" size="3" who="Pragnesh Sampat " />
<person posts="1" size="3" who="Axel " />
<person posts="1" size="3" who="Andrey Panin " />
<person posts="1" size="3" who="&quot;Roeland Th. Jansen&quot; " />
<person posts="1" size="3" who="Martin Josefsson " />
<person posts="1" size="3" who="Russell Cattelan " />
<person posts="1" size="3" who="Chris Friesen " />
<person posts="1" size="3" who="root " />
<person posts="1" size="3" who="Albrecht Jacobs " />
<person posts="1" size="3" who="Ingo Molnar " />
<person posts="1" size="3" who="&quot;Ryan W. Maple&quot; " />
<person posts="1" size="3" who="&quot;Joshua b. Jore&quot; " />
<person posts="1" size="3" who="&quot;Anwar P&quot; " />
<person posts="1" size="3" who="David Christensen " />
<person posts="1" size="3" who="Bernhard Wiedemann " />
<person posts="1" size="3" who="AJ Lewis " />
<person posts="1" size="3" who="Vojtech Pavlik " />
<person posts="1" size="3" who="God " />
<person posts="1" size="3" who="&quot;Michael Guntsche&quot; " />
<person posts="1" size="3" who="&quot;Manfred Spraul&quot; " />
<person posts="1" size="3" who="Axel Siebenwirth " />
<person posts="1" size="3" who="Santeri Kannisto " />
<person posts="1" size="3" who="&quot;Nadav Har'El&quot; " />
<person posts="1" size="3" who="Sergei Haller " />
<person posts="1" size="3" who="James Nord " />
<person posts="1" size="3" who="Alex Deucher " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Gregory Ade " />
<person posts="1" size="3" who="Scott Wood " />
<person posts="1" size="3" who="Peter Osterlund " />
<person posts="1" size="3" who="Lukasz Trabinski " />
<person posts="1" size="3" who="&quot;Anthony Barbachan&quot; " />
<person posts="1" size="3" who="Tommy Wu " />
<person posts="1" size="3" who="Mark Frazer " />
<person posts="1" size="3" who=" (Eugene Crosser)" />
<person posts="1" size="3" who="Ted Deppner " />
<person posts="1" size="3" who="&quot;Dr. Michael Weller&quot; " />
<person posts="1" size="3" who="&quot;Parag Warudkar&quot; " />
<person posts="1" size="3" who="&quot;Marvin Justice&quot; " />
<person posts="1" size="3" who="Thorsten Kranzkowski " />
<person posts="1" size="3" who="Andre Pang " />
<person posts="1" size="3" who="Nick Kurshev " />
<person posts="1" size="3" who="Brian May " />
<person posts="1" size="3" who="Daniel Caujolle-Bert " />
<person posts="1" size="3" who="&quot;James Washer&quot; " />
<person posts="1" size="3" who="YOSHIMURA Keitaro " />
<person posts="1" size="3" who="Alex Romosan " />
<person posts="1" size="3" who="&quot;Adrian V. Bono&quot; " />
<person posts="1" size="3" who="Jack Steiner " />
<person posts="1" size="3" who="Helge Deller " />
<person posts="1" size="3" who="Sridhar Samudrala " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who=" (John Alvord)" />
<person posts="1" size="3" who="Sarada prasanna " />
<person posts="1" size="3" who="Tigrux " />
<person posts="1" size="3" who="Jim McCloskey " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Martin Mueller " />
<person posts="1" size="3" who="Flavio Stanchina " />
<person posts="1" size="3" who="mythos " />
<person posts="1" size="3" who="Giacomo Catenazzi " />
<person posts="1" size="3" who="Dave Kleikamp " />
<person posts="1" size="3" who=" (Frank Schneider)" />
<person posts="1" size="3" who="Andrew Cannon " />
<person posts="1" size="3" who="Jules Colding " />
<person posts="1" size="3" who="Istvan Varadi " />
<person posts="1" size="3" who="Mike Fleetwood " />
<person posts="1" size="3" who="Andreas Franck " />
<person posts="1" size="3" who="&quot;=?ks_c_5601-1987?B?v8C0w7D6s7vAzyDIq7yuufw=?=&quot; " />
<person posts="1" size="3" who="Olivier Calle " />
<person posts="1" size="3" who="Alexander Griesser " />
<person posts="1" size="3" who=" (Martin Jacobs)" />
<person posts="1" size="3" who="Filip Van Raemdonck " />
<person posts="1" size="3" who="John Cavan " />
<person posts="1" size="3" who="William Park " />
<person posts="1" size="3" who="Thomas Graham " />
<person posts="1" size="3" who="Peter Denison " />
<person posts="1" size="3" who="Joshua Schmidlkofer " />
<person posts="1" size="3" who="Andreas Schwab " />
<person posts="1" size="3" who="Carl " />
<person posts="1" size="3" who="Khyron " />
<person posts="1" size="3" who="Pete Marvin King " />
<person posts="1" size="3" who="Matthew Hambley " />
<person posts="1" size="3" who="&quot;Roy Murphy&quot; " />
<person posts="1" size="3" who="john slee " />
<person posts="1" size="3" who="&quot;Heinz, Michael&quot; " />
<person posts="1" size="3" who="Troy Benjegerdes " />
<person posts="1" size="3" who="Pierre Rousselet " />
<person posts="1" size="3" who="Ajit Jena " />
<person posts="1" size="3" who=" (Nathan Walp)" />
<person posts="1" size="3" who="Stuart Lynne " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Erik Corry " />
<person posts="1" size="3" who="Lincoln Dale " />
<person posts="1" size="3" who="&quot;David Stevens&quot; " />
<person posts="1" size="3" who="&quot;Meinhard E. Mayer&quot; " />
<person posts="1" size="3" who="Ronald Jeninga " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="&quot;Tom Sightler&quot; " />
<person posts="1" size="3" who="&quot;Ori Hanegby&quot; " />
<person posts="1" size="3" who="Nick DeClario " />
<person posts="1" size="3" who="Daryll Strauss " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Ottavio Campana " />
<person posts="1" size="3" who="Bernhard Busch " />
<person posts="1" size="3" who="root " />
<person posts="1" size="3" who="Bart Trojanowski " />
<person posts="1" size="3" who="Jacek =?iso-8859-2?Q?Pop=B3awski?= " />
<person posts="1" size="3" who="&quot;Todd M. Roy&quot; " />
<person posts="1" size="3" who="Jean-Christian de Rivaz " />
<person posts="1" size="3" who="Alexander Hoogerhuis " />
<person posts="1" size="3" who="Renaud =?iso-8859-15?q?Gu=E9rin?= " />
<person posts="1" size="3" who="&quot;Atul Mukker.&quot; " />
<person posts="1" size="3" who="&quot;Holzrichter, Bruce&quot; " />
<person posts="1" size="3" who="Chris Pockele " />
<person posts="1" size="3" who="Steven Rostedt " />
<person posts="1" size="3" who="Tony den Haan " />
<person posts="1" size="3" who="Carlos Costa Portela " />
<person posts="1" size="3" who="Petko Manolov " />
<person posts="1" size="3" who="Hubert Mantel " />
<person posts="1" size="3" who="Nikita Danilov " />
<person posts="1" size="2" who="&quot;Marty Leisner&quot; " />
<person posts="1" size="2" who="&quot;Bulent Abali&quot; " />
<person posts="1" size="2" who="David Fennell " />
<person posts="1" size="2" who="watermodem " />
<person posts="1" size="2" who="Erick Staal " />
<person posts="1" size="2" who="Paul Jakma " />
<person posts="1" size="2" who="Adrian Bridgett " />
<person posts="1" size="2" who="Matt " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="=?iso-8859-1?Q?Rasmus_B=F8g_Hansen?= " />
<person posts="1" size="2" who="Thomas Pornin " />
<person posts="1" size="2" who="Gerhard Mack " />
<person posts="1" size="2" who="Davide Libenzi " />
<person posts="1" size="2" who="=?unknown-8bit?B?RnLpZOlyaWMgTC4gVy4=?= Meunier " />
<person posts="1" size="2" who="Sujal Shah " />
<person posts="1" size="2" who="Paal Chr Birkeland " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Jordan Breeding&quot; " />
<person posts="1" size="2" who="Jeffrey Altman " />
<person posts="1" size="2" who="Christopher Abbey " />
<person posts="1" size="2" who="Marc SCHAEFER " />
<person posts="1" size="2" who="Christopher Curtis " />
<person posts="1" size="2" who="Michael Peddemors " />
<person posts="1" size="2" who="Oleg Drokin " />
<person posts="1" size="2" who="Dirk Wetter " />
<person posts="1" size="2" who="=?iso-8859-1?q?Cody=20Gould?= " />
<person posts="1" size="2" who="&quot;Andre Tomt&quot; " />
<person posts="1" size="2" who="=?iso-8859-1?q?willy=20tarreau?= " />
<person posts="1" size="2" who="Sandip Bhattacharya " />
<person posts="1" size="2" who="Michael Liljeblad " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Axel H. Siebenwirth&quot; " />
<person posts="1" size="2" who="David Findlay " />
<person posts="1" size="2" who="Philippe Troin " />
<person posts="1" size="2" who="Martin Hoeller " />
<person posts="1" size="2" who="Ihar Filipau " />
<person posts="1" size="2" who="Nathan Neulinger " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Frank Davis " />
<person posts="1" size="2" who="Enrico Scholz " />
<person posts="1" size="2" who="Jan Kara " />
<person posts="1" size="2" who="Martin Mares " />
<person posts="1" size="2" who="Jussi Laako " />
<person posts="1" size="2" who="&quot;Dan Mann&quot; " />
<person posts="1" size="2" who="Pekka Pietikainen " />
<person posts="1" size="2" who="Mike Jadon " />
<person posts="1" size="2" who="Heikki Pernu " />
<person posts="1" size="2" who="Richard Russon " />
<person posts="1" size="2" who="&quot;J. Imlay&quot; " />
<person posts="1" size="2" who="Ron Flory " />
<person posts="1" size="2" who="Hollis Blanchard " />
<person posts="1" size="2" who="Bryan Rittmeyer " />
<person posts="1" size="2" who="Andreas Steinmetz " />
<person posts="1" size="2" who="Paul " />
<person posts="1" size="2" who="Marcel Loesberg " />
<person posts="1" size="2" who="&quot;Chen, Kenneth W&quot; " />
<person posts="1" size="2" who="Frank Dekervel " />
<person posts="1" size="2" who="&quot;David =?ISO-8859-1?Q?G=F3mez&quot; ?= " />
<person posts="1" size="2" who="Benjamin Redelings I " />
<person posts="1" size="2" who="&quot;Adam J. Richter&quot; " />
<person posts="1" size="2" who="Masaru Kawashima " />
<person posts="1" size="2" who="Jon 'tex' Boone " />
<person posts="1" size="2" who="Boris Pisarcik " />
<person posts="1" size="2" who="Cort Dougan " />
<person posts="1" size="2" who="Wayne Whitney " />
<person posts="1" size="2" who="abraxas2 " />
<person posts="1" size="2" who="Wes Felter " />
<person posts="1" size="2" who="Richard Russon " />
<person posts="1" size="2" who="Steven Cole " />
<person posts="1" size="2" who="Uwe Seimet " />
<person posts="1" size="2" who="Kent Hunt " />
<person posts="1" size="2" who="Trever Adams " />
<person posts="1" size="2" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="1" size="2" who=" (Wichert Akkerman)" />
<person posts="1" size="2" who="Adam Sampson " />
<person posts="1" size="2" who="Jim Woodward " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Bryan O'Sullivan&quot; " />
<person posts="1" size="2" who="&quot;J.Brown (Ender/Amigo)&quot; " />
<person posts="1" size="2" who="Adam Fritzler " />
<person posts="1" size="2" who=" (Erik Tews)" />
<person posts="1" size="2" who="Rolf Fokkens " />
<person posts="1" size="2" who="Bill Davidsen " />
<person posts="1" size="2" who="Stephen Torri " />
<person posts="1" size="2" who="Jeff Golds " />
<person posts="1" size="2" who="Pete Wyckoff " />
<person posts="1" size="2" who=" (Bruno Boettcher)" />
<person posts="1" size="2" who="&quot;Rainer Mager&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Pavel Machek " />
<person posts="1" size="2" who="&quot;Saravana&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Raj, Ashok&quot; " />
<person posts="1" size="2" who="Kip Macy " />
<person posts="1" size="2" who="=?ISO-8859-1?Q? &quot;H=E5kan?= Wessberg&quot; " />
<person posts="1" size="2" who="Michael Heinz " />
<person posts="1" size="2" who="Sergey Ostrovsky " />
<person posts="1" size="2" who="Paulo Andre " />
<person posts="1" size="2" who="Steve Snyder " />
<person posts="1" size="2" who="Taylan Akdogan " />
<person posts="1" size="2" who="Bill Nottingham " />
<person posts="1" size="2" who="Dave Airlie " />
<person posts="1" size="2" who="&quot;peter k.&quot; " />
<person posts="1" size="2" who="thobi " />
<person posts="1" size="2" who="Brad Hards " />
<person posts="1" size="2" who="Pascal Schmidt " />
<person posts="1" size="2" who="Willy Tarreau " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Lars Segerlund " />
<person posts="1" size="2" who="&quot;Charles Stephens&quot; " />
<person posts="1" size="2" who="Ian Lynagh " />
<person posts="1" size="2" who="&quot;Rob&quot; " />
<person posts="1" size="2" who="Kryten " />
<person posts="1" size="2" who="Tina Gasperson " />
<person posts="1" size="2" who="Dominik Kubla " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Xianglong Huang " />
<person posts="1" size="2" who="Arjan van de Ven " />
<person posts="1" size="2" who="Chris Rankin " />
<person posts="1" size="2" who="kernelkracker " />
<person posts="1" size="2" who="&quot;Klaus Mueller&quot; " />
<person posts="1" size="2" who="Matthew M " />
<person posts="1" size="2" who="dman " />
<person posts="1" size="2" who="&quot;FABIO DONATEO&quot; " />
<person posts="1" size="2" who="Viktor Rosenfeld " />
<person posts="1" size="2" who="Martin Tessun " />
<person posts="1" size="2" who="Morten Helgesen " />
<person posts="1" size="2" who="&quot;Jason Czerak&quot; " />
<person posts="1" size="2" who="&quot;Clint Maxwell&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Aviv Greenberg " />
<person posts="1" size="2" who="Andreas Jaeger " />
<person posts="1" size="2" who="&quot;Jeffrey W. Baker&quot; " />
<person posts="1" size="2" who="Kjartan Maraas " />
<person posts="1" size="2" who="Dave Airlie " />
<person posts="1" size="2" who="Mitchell Blank Jr " />
<person posts="1" size="2" who="Reaper " />
<person posts="1" size="2" who="John McCutchan " />
<person posts="1" size="2" who="&quot;Imran Badr&quot; " />
<person posts="1" size="2" who="Jakub Jelinek " />
<person posts="1" size="2" who="Paul Stroud " />
<person posts="1" size="2" who="Jarno Paananen " />
<person posts="1" size="2" who="Dax Kelson " />
<person posts="1" size="2" who=" (Klaus Dittrich)" />
<person posts="1" size="2" who="&quot;Scott M. Hoffman&quot; " />
<person posts="1" size="2" who="Hugh Caley " />
<person posts="1" size="2" who="Jason Straight " />
<person posts="1" size="2" who="Sandy Harris " />
<person posts="1" size="2" who="Derek Wildstar " />
<person posts="1" size="2" who="Padraig Brady " />
<person posts="1" size="2" who="David Monniaux " />
<person posts="1" size="2" who="&quot;b m m&quot; " />
<person posts="1" size="2" who="Enver Haase " />
<person posts="1" size="2" who="&quot;Stephen von Voros&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Patrik Wallstrom " />
<person posts="1" size="2" who="Phil Kos " />
<person posts="1" size="2" who="Chmouel Boudjnah " />
<person posts="1" size="2" who="Peter Magnusson " />
<person posts="1" size="2" who="&quot;Rico Tudor&quot; " />
<person posts="1" size="2" who=" (J.H.M. Dassen (Ray))" />
<person posts="1" size="2" who="Steve VanDevender " />
<person posts="1" size="2" who="&quot;RAPHEAD&quot; " />
<person posts="1" size="2" who="Korosi Akos " />
<person posts="1" size="2" who="Anthony de Boer " />
<person posts="1" size="2" who="Milind " />
<person posts="1" size="2" who="Alan Cox " />
<person posts="1" size="2" who="Shawn McGovern " />
<person posts="1" size="2" who="&quot;Jacob Alifrangis&quot; " />
<person posts="1" size="2" who="=?ISO-8859-1?Q?Janne_P=E4nk=E4l=E4?= " />
<person posts="1" size="2" who="&quot;Stephen M. Williams&quot; " />
<person posts="1" size="2" who="Anders Eriksson " />
<person posts="1" size="2" who="red0x " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Chris Abbey " />
<person posts="1" size="2" who="Adam Huffman " />
<person posts="1" size="2" who="Nitin Dhingra " />
<person posts="1" size="2" who=" &lt;sex-address@usa.com&gt;" />
<person posts="1" size="2" who="&quot;Hans K. Rosbach&quot; " />
<person posts="1" size="2" who="&quot;Max Schattauer&quot; " />
<person posts="1" size="2" who="Mercia Eliane Bittencourt Figueredo " />
<person posts="1" size="2" who="Samuel Perticara " />
<person posts="1" size="2" who="try " />
<person posts="1" size="2" who="Dave Zarzycki " />
<person posts="1" size="2" who="Feng Xian " />
<person posts="1" size="2" who="Andrei Ivanov " />
<person posts="1" size="2" who="&quot;Ricardo Galli&quot; " />
<person posts="1" size="2" who="Edgar Toernig " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Kernel Mailing List " />
<person posts="1" size="2" who="John Sheahan " />
<person posts="1" size="2" who="Frank Dekervel " />
<person posts="1" size="2" who="Kelly Martin " />
<person posts="1" size="2" who="Soete Joel " />
<person posts="1" size="2" who="Ray Lischner " />
<person posts="1" size="2" who=" (Rafal Wojtczuk)" />
<person posts="1" size="2" who="&quot;Amit S. Kale&quot; " />
<person posts="1" size="2" who="kErNeL kRaCkEr " />
<person posts="1" size="2" who="Donour Sizemore " />
<person posts="1" size="2" who="Pierre Cyr " />
<person posts="1" size="2" who="&quot;Chemolli Francesco (USI)&quot; " />
<person posts="1" size="2" who="jacob berkman " />
<person posts="1" size="2" who="&quot;Michael Nguyen&quot; " />
<person posts="1" size="2" who="Christian Jaeger " />
<person posts="1" size="2" who="satish kumar " />
<person posts="1" size="2" who="sam darloud " />
<person posts="1" size="2" who="Sergey Tzukanov " />
<person posts="1" size="2" who="&quot;Donald J. Barry&quot; " />
<person posts="1" size="1" who="Louis Garcia " />
<person posts="1" size="1" who="&quot;Marti, Felix&quot; " />
<person posts="1" size="1" who="Marty Biznatch " />
<person posts="1" size="1" who="" />
<person posts="1" size="1" who="&quot;Dewi Sugantoro&quot; " />
<person posts="1" size="1" who="&quot;David Gomez&quot; " />
<person posts="1" size="1" who="" />
<person posts="1" size="1" who="&quot;dupuisd&quot; " />
<person posts="1" size="1" who="" />
<person posts="1" size="1" who="" />
<person posts="1" size="1" who="" />

</stats>

<section
  title="New Graphical Bootloader Under Development"
  subject="[ANNOUNCE] Gujin graphical bootloader 0.4"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.0/0981.html"
  posts="18"
  startdate="06 Aug 2001 02:15:34 -0800"
  enddate="15 Aug 2001 08:40:16 -0800"
>
<topic>Assembly</topic>
<topic>Compression</topic>
<topic>Executable File Format</topic>
<topic>Framebuffer</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>
<topic>SMP</topic>

<mention>Alan Cox</mention>
<mention>Matthias Andree</mention>

<p>Etienne Lorrain announced:</p>

<quote who="Etienne Lorrain">

<p>I released the 0.4 version of the GPL Gujin bootloader.</p>

<p> Its homepage (with screenshoots) is at:<br />
<a href="http://gujin.sourceforge.net/">http://gujin.sourceforge.net/</a><br />
 Its documentation (FAQ, HowTo) is at:<br />
<a href="http://sourceforge.net/docman/display_doc.php?docid=1989&amp;group_id=15465">http://sourceforge.net/docman/display_doc.php?docid=1989&amp;group_id=15465</a><br />
 All other information and source/precompiled downloads at:<br />
<a href="http://sourceforge.net/projects/gujin/">http://sourceforge.net/projects/gujin/</a></p>

<p> In short, this bootloader:</p>

<p>

<ol>

<li>Is for PCs with at least an 80386 and a VGA, VESA1 or VESA2+
   graphic card.</li>
<li> Loads Linux kernel images (zImage and bZimage) without the help
   of LILO, and short-circuit all real-mode code in the kernel to
   start at the first protected mode instruction of the kernel.
   You can use it to load unlimited size kernels and initrd, and
   easily select the text/graphic mode for running the kernel.</li>
<li>is nearly completely written in C using GCC, so it is easy to
   modify/improve it. It uses e2fsprogs-1.22 to understand E2FS
   filesystems and a completely rewritten zlib to decompress the
   kernel. FAT12/FAT16 support is working.</li>
<li>stay in real mode for the complete boot process, so should be
   compatible with all PCs.</li>
<li> Can be installed as a bootloader (only on a floppy right now)
   or as a DOS/Win boot.exe</li>
<li> 80 % of the code is already written, so I just need to write
   the last 80 % to have the 1.0 version -:) It is IHMO already
   a good rescue floppy disk or a good single floppy system
   loader (minimum configuration around 20 Kb).</li>

</ol>

</p>

</quote>

<p>Matthias Andree asked if there were any way to pass parameters to the kernel,
and Etienne replied:</p>

<quote who="Etienne Lorrain">

<p>Right now, it is only possible at the installation of Gujin on the floppy or
at the boot.exe generation, by using the "--cmdline=" option of "./instboot"
- so it will append the parameters to all kernel booted.  So you will need
to recompile from the source.</p>

<p>It is still not possible to have different options for different
kernels.</p>

<p>Have a look at "./instboot --help".  The maximum size of this string is 64
bytes (compile time: see boot.h, struct gujin_param_str-&gt;extra_cmdline).</p>

<p>The target is to have a setup screen where this field can be modified,
but before a more generic menu system is needed, and also a way to select
the keyboard language.</p>

</quote>

<p>Elsewhere, H. Peter Anvin pointed out that the feature to "short-circuit all
real-mode code in the kernel to start at the first protected mode instruction
of the kernel", <quote who="H. Peter Anvin">is a very bad idea.  The kernel
entry point is in real mode for a reason: it means that the kernel doesn't
have to rely on the boot loader to provide the services it needs from real
mode before entering protected mode once and for all.  The interface to the
real mode entry point is narrow and stable, the protected mode entrypoint
is a kernel internal and doesn't have an interface that is guaranteed to be
stable -- again, for good reason.</quote> Etienne replied:</p>

<quote who="Etienne Lorrain">

<p>it is time to explain why I did it this way - it is far to be the simplest
solution.</p>

<p>First, I need to say that the Linux current interface is really
stable: if you define "BOOT_KERNEL_BEFORE_2_0" in vmlinuz.[ch],
Gujin will be able to boot pre- 1.0 Linux versions. Also, Gujin
has always booted kernels this way.</p>

<p>Considering the kernel interface to the bootloader, I find it is
IMHO a bit complex: you not only have to give parameters in
memory (at 0x9000:0000 or at %esi on 2.4.1+) but also provide
callbacks (BIOS calls) for quite a lot of things.</p>

<p>Alan Cox described it (incompletely) in his message in
june, subject "draft BIOS use document for the kernel" at: <a
href="http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=99322719013363&amp;w=2">http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=99322719013363&amp;w=2</a></p>

<p>You also have to put in memory one or two compressed files
(kernel and initrd) without any way to check if those hundred
of Kbytes have been correctly read and are not corrupted.
There will be no way - if an error is detected by the legacy
loader at the decompression stage - to return to the bootloader
saying: Fatal error, please select another kernel.</p>

<p>These two files in memory have also to be at fixed linear
addresses in real mode - and if you have a memory manager
(himem.sys) loaded, these address may not be free. Usually
you will find at the bottom of the himem memory the smartdrv
(disk cache) data. It is then impossible to load a file at a random
memory address and stay in real mode to do futher processing.
In this case, Gujin is just malloc'ing the memory (using himem.sys),
loading and decompressing this file (checking its CRC32), and
only then disable interrupts, switch to protected mode, copy
the file at its intended linear address and jump to the kernel
code.</p>

<p>Then, with the "old" method to load the kernel, you have the video
selection menu. Well, it is a bit complex a thing to do in
a bootloader, and its interface is complex (not speaking of the
user interface), considering that you have already written everywhere
in memory without knowing if (for instance) a video driver was loaded.
All the video selection stuff has be to handled before selecting
a kernel to load, IMO.</p>

<p>I could probably find other problem, but I do not want to do
destructive criticism.</p>

<p>What do I propose? Lets put is simply:</p>

<p>

<ul>

<li>The kernel file is a simple binary image to load at 0x100000,
so you get it from the linux ELF file by just doing:<br />
  objcopy -O binary -R .note -R .comment -S /usr/src/linux/vmlinux kernel<br />
  gzip -9 kernel<br />
There is absolutely no limit on its size.</li>

<li>The initrd (if present) is a gzip of a filesystem image.</li>

<li>All information needed by the kernel is set in memory. It is clearly
described on a C structure (vmlinuz.h::struct linux_param).  This structure
contains also (for reference) old fields which are no more used, or fields
which were used only by previous bootloader. The is _no_ BIOS callback.</li>

<li>The hardware is setup correctly, for instance for the current video
mode - if you are in graphic 8 BPP - the 256 color palette is set up with
reasonnable values independant of the video card.  Basically, hardware is
immediately useable by the kernel.</li>

<li><p>There is a compatibility mode to load vmlinuz/zImage/bzImage.</p>

<p>Note that all this is coded and working (I hope so). I know that with
this solution, the bootloader and the kernel are more linked together, but I
know also that the bootloader has to be a lot more intelligent (considering
the number of related messages in the Linux lists). It should not try to
load a Pentium compiled kernel on a 486. It should setup the video card
(so be ready to get "invalid instruction exceptions" while executing BIOS
calls). It should not try to run a corrupted kernel. It should not crash if
a kernel/initrd file has been moved or two hard disks have been exchanged. It
should display clear messages on what is wrong.</p>

<p>It is up to the bootloader to crash if one BIOS call modify one register
which is documented as constant (if it did not take care)</p></li>

<li>and in DEBUG mode send some informations to a serial/parallel port.
When a new buggy BIOS appear, it is up to the bootloader to be upgraded,
not to the Linux kernel.</li>

</ul>

</p>

<p>In short it is a real and complete software which handle all/most
of the (buggy) BIOSes in their natural environment: the i386 real mode.
If there is few fields to add to "struct linux_param" (really
unusual from history), then Gujin will be upgraded. Anyway it is
GPL - and written in C so there is a lot of people around able to
change it, unlike assembly code.</p>

<p>It is not as clean as described because of the APM / ACPI /
PCI configuration BIOS32 calls; but that did not change by the
Gujin bootloader. Note also that the SMP tables are passed in
memory.</p>

<p>One last thing I have to add (for people who have read up to here),
is that having removed the "header" of the vmlinuz file, I lack the
only important parameter in this header: the root device (rdev command).
Right now, I am guessing it in a lot of configurations, but that
is not a perfect solution. I think one of the simplest way is
to add a "root=/dev/hd**" in the described comment field of the GZIP
header; that is still not coded.</p>

<p>From the same area, there is no way to know if a kernel will be able
to boot in graphic mode (support of VESA framebuffer and which BPP
are available). If vesafb is not compiled in and you start the
kernel in graphic, the kernel boots but the display is like a
crash... Right now the dirty way is the write-protect bit of the
vmlinuz file - not a long term solution.</p>

</quote>

<p>Close by in the thread, Eric W. Biederman added:</p>

<quote who="Eric W. Biederman">

<p>There are good reasons to use the kernel 32 bit entry point.  In particular
I routinely run linux on systems with exactly 10 16bit instructions.
On one of them I don't even have normal memory between 640KB and 1MB. The
only real parameter the kernel needs from the BIOS is memory size, and I
could probably steel code from memtest86 so it wouldn't even need that.</p>

<p>However I do understand the instabilities, and the deficiets of the current
32bit entry point, and why having a standard 16bit entry point is a good thing.
Which is why in 2.5 (if it ever starts) I intend to do the work required so we
can have a standard cross platform native mode entry point to the kernel.</p>

<p>To keep linux portable we should never assume that on a given platform
there is a specific kind of BIOS.  Alpha-linux at least is nasty because
of this.  x86 linux is very nice because all you need to do on platforms
that don't do support the classic BIOS interface is to drop the 16bit header.
That is definentily a structure worth keeping.</p>

<p>Currently I have a stable easy to use structure that isn't even linux
specific with just a few more details on how to encode parameters to work out.
The structure is the ELF format for static executables, with a specific
implementation of how parameters will be passed to it from the bootloader,
before the bootloader goes away.  In particular how to specify things like
onboard ISA devices so we don't even have to assume what is or is not present
on a motherboard for those devices that don't support probing and there is a
firmware interface for finding them.  The interesting case there is not so
much how to encode the device but instead on how to represent the location
of devices, and the connections between devices.</p>

<p>Being able to describe how an interrupt goes from a pci slot to an irq
router to a legacy interrupt controller to a local apic and to the cpu,
and simultanesly goes from the pci slot to an ioapic to a local apic to
the cpu.  And saying that pci slot is behind a PCIX&lt;-&gt;pci bridge.
Is an interesting question.  Especially in data structures that have very
few special cases.  We are close in the kernel with struct resource, and
struct pci_device but we haven't gone all of the way yet.</p>

<p>So no I don't think it is right to blast someone for using the 32bit
entry point, while at the same time I do agree that right now it is a very
questionable things to do.</p>

</quote>

<p>H. Peter replied:</p>

<quote who="H. Peter Anvin">

<p>this wide interface is a pain to keep stable, and having bootloaders call it
directly is a genuinely bad idea.  It will lock us into an interface, or cause
major breakage, when we have to do necessary revving of this interface.</p>

<p>Instead, the proper time to deal with this is at kernel link time.
The PC-BIOS stuff should go in, say arch/i386/pcbios, and you then can have
other platforms (say, for example, arch/i386/linuxbios) which has its own
setup code.  You then link a kernel image which has the appropriate code
for the platform you're running on, and you're set.</p>

</quote>

<p>He added:</p>

<quote who="H. Peter Anvin">

<p>I haven't blasted anyone; I said it is a bad idea.  You're now encoding a
ton of assumptions about what the kernel needs in each and every bootloader,
which is bound to cause a major headache not too long down the road.
For example, the stuff you describe above may very well be obsolete in 2 years
with HyperTransport, Infiniband and 3GIO on the very near horizon.  Now you
have to suffer dealing with lots and lots of compatibility logic to make things
work, which may not be possible, or we're going to have frequent breakage.</p>

<p>I do not believe this is a good idea.  This kind of information belongs
in the kernel image, although it should be abstracted out within the kernel
tree.</p>

</quote>

<p>Etienne reiterated that the interface had not changed in a long time,
and that it would be very difficult to change in the future, since fewer
and fewer people knew i8086 real-mode assembly. He described a better way of
doing things but said he had no time to do it. He added, <quote who="Etienne
Lorrain">Moreover, going from a simple solution (loading the binary image
of an ELF file) to a complex one (as described) to solve problem which may
appear in the future is not my way of thinking: it is already complex enought
to do simple software.</quote> Eric replied that he was all set to start
modifying that very portion of code that Etienne felt was so stable. There
was a bit more discussion of technical issues.</p>

</section>

<section
  title="Scalable Scheduling Patch And #ifdef Discussion"
  subject="[RFC][PATCH] Scalable Scheduling"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.1/0099.html"
  posts="20"
  startdate="08 Aug 2001 08:16:52 -0800"
  enddate="14 Aug 2001 06:22:10 -0800"
>
<topic>Ottawa Linux Symposium</topic>
<topic>Real-Time</topic>
<topic>SMP</topic>

<mention>Hubertus Franke</mention>

<p>Mike Kravetz said:</p>

<quote who="Mike Kravetz">

<p>I have been working on scheduler scalability.  Specifically, the concern
is running Linux on bigger machines (higher CPU count, SMP only for now).</p>

<p>I am aware of most of the objections to making scheduler changes.  However,
I believe the patch below addresses a number of these objections.</p>

<p>This patch implements a multi-queue (one runquue per CPU) scheduler.
Unlike most other multi-queue schedulers that rely on complicated load
balancing schemes, this scheduler attempts to make global scheduling decisions
and emulate the behavior as the current SMP scheduler.</p>

<p>Performance at the 'low end' (low CPU and thread count) is comparable
to that of the current scheduler.  As the number of CPUs or threads
is increased, performance is much improved over the current scheduler.
For a more detailed description as well as benchmark results, please see: <a
href="http://lse.sourceforge.net/scheduling/">http://lse.sourceforge.net/scheduling/</a>
(OLS paper section).</p>

<p>I would like to get some input as to whether this is an appropriate
direction to take in addressing scalability limits with the current scheduler.
The general consensus is that the default scheduler in the kernel should work
well for most cases.  In my opinion, the attached scheduler implementation
accomplishes this by scaling with the number of CPUs in the system.</p>

</quote>

<p>Linus Torvalds said he'd never apply the patch, since it used #ifdefs. Mike
and Hubertus Franke replied that they'd rework the code to not use them, and
Hubertus added that they were also interested in whether the overall approach
would be acceptable. Linus replied:</p>

<quote who="Linus Torvalds">

<p>I think what the code itself tried to do looked reasonable, but it was
so distracting to read the patch that I can't make any really intelligent
comments about it.</p>

<p>The only thing that looked really ugly was that real-time runqueue thing.
Does it _really_ have to be done that way?</p>

</quote>

<p>He added that he hadn't actually run the patch, so he had no idea what
the performance was like. He asked, <quote who="Linus Torvalds">I assume
you've done lmbench runs across wide variety (ie UP to SMP) of machines with
and without this?</quote> And Mike replied, <quote who="Mike Kravetz">Yes we
have, we'll provide those numbers with the updated patch.  One challenge will
be maintaining the same level of performance for UP as in the current code.
The current code has #ifdefs to separate some of the UP/SMP code paths and
we will try to eliminate these.</quote> Daniel Phillips put in at this point:</p>

<quote who="Daniel Phillips">

<p>Does it help if I clarify what Linus was suggesting?  Instead of:</p>

<p>

<blockquote>
         #ifdef CONFIG_SMP
<blockquote>
                 .. use nr_running() ..   
</blockquote>
         #else
<blockquote>
                 .. use nr_running ..
</blockquote>         #endif
</blockquote>

</p>

<p>write:</p>

<p>

<blockquote>
        inline int nr_running(void)<br />
        {<br />
        #ifdef CONFIG_SMP
<blockquote>
                int i = 0, tot=nt_running(REALTIME_RQ);<br />
                while (i &lt; smp_num_cpus) {
<blockquote>
                        tot += nt_running(cpu_logical_map(i++));
</blockquote>
                }<br />
                return(tot);
</blockquote>
        #else
<blockquote>
                return nr_running;
</blockquote>
        #endif<br />
        }
</blockquote>

</p>

<p>Then see if you can make the #ifdef's go away from that too.  (If that's
too hard, well, at least the #ifdef's are now reduced.)</p>

</quote>

<p>And Linus added:</p>

<quote who="Linus Torvalds">

<p>Even more preferably, just have (in a header file)</p>

<p>

<blockquote>
        #ifdef CONFIG_SMP<br />

        inline int nr_running(void)<br />
        {
<blockquote>
                ...
</blockquote>
        }<br />

        .. other SMP cases ..<br />

        #else<br />

        #define nr_running() (__nr_running)<br />

        .. other UP cases ..<br />

        #endif
</blockquote>

</p>

<p>if you just cannot make an efficient function that just works for both.</p>

<p>No, we don't adhere to this everywhere. But we should (and largely _do_)
try to.</p>

<p>Having the #ifdef's outside the code tends to have two advantages:</p>

<p>

<ul>

<li>it makes the code much more readable, and doesn't split things up.</li>

<li>you have to choose your abstraction interfaces more carefully, which in
turn tends to make for better code.</li>

</ul>

</p>

<p>Abstraction is nice - _especially_ when you have a compiler that sees
through the abstraction and can generate code as if it wasn't there.</p>

</quote>

</section>

<section
  title="Testing Recent 2.4 Kenel Performance"
  subject="Some dbench 32 results for 2.4.8-pre8, 2.4.7-ac10, and 2.4.7"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.1/0404.html"
  posts="6"
  startdate="09 Aug 2001 21:00:22 -0800"
  enddate="10 Aug 2001 14:59:05 -0800"
>
<topic>Disks: IDE</topic>
<topic>FS: ReiserFS</topic>
<topic>FS: sysfs</topic>

<p>Steven Cole reported, <quote who="Steven Cole">I ran dbench 32 for
2.4.8-pre8, 2.4.7-ac10, and 2.4.7.
Each set of three runs were performed right after a boot,
running vmstat, and time ./dbench 32 with no pauses in
between.  The hardware is 384 MB, 450 P3, UP, IDE disk with
ReiserFS on all partitions. The tests were done from a
transparent Konsole and KDE2.</quote> He posted some verbose results, and a
summary:</p>

<quote who="Steven Cole">

<p>
Run #1 Throughput 5.88569 MB/sec   2.4.8-pre8 <br />
Run #2 Throughput 5.95613 MB/sec   2.4.8-pre8<br />
Run #3 Throughput 5.8547 MB/sec    2.4.8-pre8<br />
&#160;<br />
Run #4 Throughput 7.84171 MB/sec   2.4.7-ac10<br />
Run #5 Throughput 7.68447 MB/sec   2.4.7-ac10<br />
Run #6 Throughput 7.85119 MB/sec   2.4.7-ac10<br />
&#160;<br />
Run #7 Throughput 10.2184 MB/sec   2.4.7<br />
Run #8 Throughput 10.0105 MB/sec   2.4.7<br />
Run #9 Throughput 10.0215 MB/sec   2.4.7
</p>

</quote>

<p>Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>Note that dbench performs best when no writeback actually takes place: the
whole benchmark is completely optimizable. As such, the best numbers for dbench
tend to be with (a) kflushd stopped, and (b) the dirty threshold set high.</p>

<p>Does the numbers change if you do something like</p>

<p>
        killall -STOP kupdated<br />
        echo 80 64 64 256 500 6000 90 &gt; /proc/sys/vm/bdflush
</p>

<p>to make it less eager to write stuff out? (That just stops the
every-five-second flush, and makes the dirty balancing numbers be 80/90%
instead of the default 30/60%)</p>

<p>In particular, the dirty balancing worked really badly before, and was just
fixed.  I suspect that the bdflush numbers were tuned with the badly-working
case, and they might be a bit too aggressive for dbench these days..</p>

</quote>

<p>Steven had a good night's sleep, and replied:</p>

<quote who="Steven Cole">

<p>I re-ran dbench 32 with the settings above.  Here are the results:
(Same conditions as in the previous tests otherwise).  Now, off to my day
job.</p>

<p>
Run #1 Throughput 12.7943 MB/sec    2.4.8-pre8<br />
Run #2 Throughput 12.667 MB/sec     2.4.8-pre8<br />
Run #3 Throughput 12.7091 MB/sec    2.4.8-pre8<br />
&#160;<br />
Run #4 Throughput 13.7765 MB/sec    2.4.7<br />
Run #5 Throughput 13.9632 MB/sec    2.4.7<br />
Run #6 Throughput 13.9318 MB/sec    2.4.7
</p>

</quote>

<p>Linus replied:</p>

<quote who="Linus Torvalds">

<p>Good, looks more like it</p>

<p>Now, the problem with dbench is that no way in hell should you optimize
for dbench in general, because it is a sucky kind of benchmark.</p>

<p>For example, waiting until the last possible minute for writeouts is
definitely the best setting for dbench, but it's a pretty horrible setting
for usability.</p>

<p>I suspect that for optimal dbench performance we'll always have to let
teh system admin do the above kind of horrible tweaking stuff, but at the
same time I personally absolutely detest the need for tweaks in general,
and I would like the default behaviour to be reasonable.</p>

<p>Killing kupdated, for example, is not really "reasonable". But I also
suspect that now that dirty balancing works sanely, the "start writeout at
30% full" is a bit early too.</p>

<p>So instead of the 30/60% split (the first number is "when do we start
writing things out", and the second number is "when do we start actively
waiting for it"), a 50/75% setup might be more reasonable for regular loads,
while making dbench at least a bit happier.</p>

<p>Are you (or others) willing to play around with the numbers a bit and
look at both dbench performance and at interactive feel?</p>

<p>In general</p>

<p>        echo x 64 64 256 500 3000 y &gt; /proc/sys/vm/bdflush</p>

<p>will set the "start writeout" to 'x'%, and the "start synchronous wait"
to 'y'% (and restart kupdated with "killall -CONT kupdated"). It would be
interesting to hear where the sweet spot is.</p>

</quote>

<p>Steven replied (testing 2.4.8-pre8):</p>

<quote who="Steven Cole">

<p>I ran dbench 32 twenty-eight times, with the results below.
The units are MB/sec throughput as reported by dbench.
The rows are the first number, "start write out";
the columns are the second number, "start synchronous wait".
For example, the lower left hand entry was obtained after
echo 30 64 64 256 500 6000 60 &gt; /proc/sys/vm/bdflush</p>

<p>

<table border="0">

<th></th>        <th>60</th>     <th>70</th>     <th>80</th>     <th>90</th>

<tr><td>90</td>  <td>8.693</td>  <td>8.690</td>  <td>8.853</td>  <td>8.875</td></tr>
<tr><td>80</td>  <td>8.822</td>  <td>8.724</td>  <td>8.703</td>  <td>8.910</td></tr>
<tr><td>70</td>  <td>8.558</td>  <td>8.557</td>  <td>8.785</td>  <td>8.420</td></tr>
<tr><td>60</td>  <td>8.194</td>  <td>8.141</td>  <td>8.006</td>  <td>7.847</td></tr>
<tr><td>50</td>  <td>6.662</td>  <td>6.738</td>  <td>6.904</td>  <td>6.892</td></tr>
<tr><td>40</td>  <td>6.347</td>  <td>6.252</td>  <td>6.380</td>  <td>6.274</td></tr>
<tr><td>30</td>  <td>5.687</td>  <td>5.802</td>  <td>6.209</td>  <td>5.898</td></tr>

</table>

</p>

<p>I don't have a good quantifiable set of results for "interactive feel",
other than it's never very good under heavy load.  I'll try to get some
useable results for interactive feel while running dbench again this weekend,
looking for that elusive sweet spot.</p>

</quote>

</section>

<section
  title="Timpanogas Frees Sources To Netware Tools"
  subject="timpanogas.org - get it while you can."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.1/0587.html"
  posts="5"
  startdate="10 Aug 2001 17:26:42 -0800"
  enddate="17 Aug 2001 11:33:59 -0800"
>
<topic>Microsoft</topic>

<p>Jeff V. Merkey said:</p>

<quote who="Jeff V. Merkey">

<p>If anyone wants any of the netware file system stuff for NT or Linux,
you'd best get it while the gettings good.  I'll still be around working on
Linux tape changers, etc. and SCI stuff, but the NetWare stuff is coming down
Saturday and the FTP servers will be taken off line at this time that host
any NetWare or Novell specific technologies.  We will be filing litigation
against Novell Sep 1, 2001 in an attempt to get the injunction off the defunct
company and ourselves that's been around our necks for the past four years.</p>

<p>The site will still be up, but much changed.  Downloads are at
www.timpanogas.org and ftp.timpanogas.org.  If you want anything, nows the
time to get it.  SCI code will still be maintained on this site.</p>

<p>When the new website goes up, folks may get a bit of a surprise since
we've been running a plant genetics lab here alongside our software business.
You will get a look at the results of our genetic manipulation of probiscidea
and mesembrecanthea.  We have isolated a cure for arthritis (not treatment,
but a permanent cure) from plants from the Native American seedbanks and
have been performing gene splicing and polyploid induction with several of
these plants.  Linux work on SCI will be continuing and in other areas.</p>

</quote>

<p>Pavel Machek suggested GPLing the netwarefs tools, or no one would be
able to use the source. Jeff replied, <quote who="Jeff V. Merkey">I will
cross mount the manos server to the FTP server this evening.  This server
has all of the source code for the entire TRG archive.  I'll put all of it
up this evening.  It will be mounted off of /archive in the ftp home area.
It also contains all of the Microsoft source code for all of our W2K file
systems work.  If it's helpful to anyone, they are welcome to it.</quote>
Pavel reiterated, <quote who="Pavel Machek">Putting it off /archive is
not enough, it does not make it GPLed. Those tools that are usefull should
be marked with GPL so it is *legal* to use them. (You might also consider
creating sourceforge.net project and putting your stuff there ;-)</quote>
Jeff replied, <quote who="Jeff V. Merkey">It's all GPL, even the MS code.
Sourcefroge is a great idea.  I'll look into it.</quote></p>

</section>

<section
  title="Kernel Build 2.5, Release 1.1 Is Available"
  subject="Announce: Kernel Build for 2.5, Release 1.1 is available."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.1/0644.html"
  posts="24"
  startdate="11 Aug 2001 07:03:00 -0800"
  enddate="18 Aug 2001 23:13:44 -0800"
>
<topic>Kernel Build System</topic>

<p>Keith Owens announced:</p>

<quote who="Keith Owens">

<p>Release 1.1 of kernel build for kernel 2.5 (kbuild 2.5) is available.  <a
href="http://sourceforge.net/projects/kbuild/">http://sourceforge.net/projects/kbuild/</a>,
Package kbuild-2.5, download release 1.1.</p>

<p><a
href="http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=99725412902968&amp;w=2">http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=99725412902968&amp;w=2</a>
contains information about the base release.</p>

<p>Changes from Release 1.</p>

<p>

<ul>

<li>Upgrade to kernel 2.4.8.  Nice to see how simple the DRM Makefile is
now.</li>

<li>Correct a race when parallel building the global makefile, not all objects
were being recognised as targets and were not recognised as candidates for
recompile.</li>

<li>Replace hand coded rules with side_effect().</li>

<li>Document kbuild targets and C to assembler conversions.  As always,
Documentation/kbuild/kbuild-2.5.txt is your friend.</li>

<li>Remove the assembler() command.  kbuild now works out if the source is
.c or .S, no need for human intervention.</li>

<li>If you explicitly make foo.i or foo.s then kbuild automatically generates
the required rules with the same flags as the corresponding .o file.
Useful for debugging pre-processor or assembler problems, especially when
gcc -save-temps does not work with multiple directories.</li>

<li>Standard generation of .s from .c files, where a .s file is required
according to make.  This includes tracking the dependencies of the .c
file.</li>

</ul>

</p>

<p>That last change lets me solve a long standing problem with kbuild 2.4.
Every architecture has Assembler that requires offsets of fields within C
structures or the mapping of C names to numbers.  Assembler cannot include the
C definitions so we need a mapping from C constructs to Assembler numbers.
Every architecture has handled this problem in a different way, none of the
methods are 100% accurate nor dependable.</p>

<p>i386 hard codes the offsets into the assembler code and hopes that the
structure definitions never change.</p>

<p>Alpha uses a C program that generates the text for the assembler.
This does not work in a cross compile environment because it assumes that
HOSTCC == CC.</p>

<p>Cris generates a chunk of assembler from C then uses .include instead of
#include, with some fancy conditional selection.</p>

<p>Mips, parisc, ppc, sparc generate assembler then extract and reformat lines
from the assembler.  This works in both local and cross compile mode and is
getting close to the correct way of doing it.  But it still has problems,
see below.</p>

<p>IA64 in 2.4 is particularly loathsome.  It uses different methods in native
and cross compile modes, when the cross compile version would do for both.
It ships a copy of the generated asm/offsets.h which is totally unreliable
because the real offsets.h depends on the user's .config.  To add insult
to injury, offsets.h is included in processor.h and ptrace.h on ia64 which
means that it pollutes almost every C file.</p>

<p>None of the above methods handle dependency checking at all.  PPC makes
an attempt but it is manually defined and is incomplete, no other arch even
makes an attempt.  All architectures assume that the user always runs make
dep after any config changes that affect the assembler offsets.  If the user
forgets to run make dep and the assembler and C values do not match - oops.</p>

<p>kbuild 2.5 has a solution which works in all modes, is standard across
all architectures and automatically tracks dependency changes.  No more room
for human error.</p>

</quote>

<p>There were a few scattered comments and a few patches and upgrades;
at one point Russell King mentioned, <quote who="Russell King">I'm sorry,
the ARM version of GCC does not support %c0 in a working state.  The way
we generate the offsets on ARM is here to stay for the next few years
until GCC 3 has stabilised well enough for use with the kernel, and the
ARM architecture specifically.  Please don't rely on %c0 working.</quote>
Philip Blundell replied, <quote who="Philip Blundell">I should think it can
be made to work in 2.95.4.  Did you try the patch I sent you a few months
ago?</quote> and Russell said, <quote who="Russell King">No - I've not had a
need to rebuild gcc yet, and the patch is low priority since the kernel has
to build with the compilers that people already have, not the bleeding edge.
Sorry, I don't do gcc, as I've explained before.</quote></p>

</section>

<section
  title="Decisions On Stability Of 2.4"
  subject="Hang problem on Tyan K7 Thunder resolved -- SB Live! heads-up"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.1/0724.html"
  posts="37"
  startdate="11 Aug 2001 18:52:32 -0800"
  enddate="17 Aug 2001 12:33:23 -0800"
>
<topic>SMP</topic>
<topic>Sound: ALSA</topic>

<p>In the course of discussion, Jeffrey Ingber reported, <quote who="Jeffrey
Ingber">I noticed that the EMU10K1 driver was updated in 2.4.8 so I tried it.
I had a lockup four times during audio playback, so I switched back to
ALSA.</quote> Alan Cox replied, <quote who="Alan Cox">The in kernel one
seemed fine. The 2.4.8 update one is definitely broken on SMP boxes.</quote>
Manuel McLure said, <quote who="Manuel McLure">I'm getting 2.4.8 Oopsen that
seem to be in emu10k1 code on UP,</quote> and Alan said:</p>

<quote who="Alan Cox">

<p>Yep. So far the new driver that Linus took from a non maintaier breaks</p>

<p>

<ul>

<li>        SMP</li>
<li>        Some mixers</li>
<li>        Uniprocessor with some cards</li>
<li>        Surround sound (spews noise on cards)</li>

</ul>

</p>

<p>so I think Linus should do the only sane thing - back it out. I'm backing
it out of -ac. Of my three boxes, one spews noise, one locks up smp and
one works.</p>

</quote>

<p>Linus Torvalds replied, <quote who="Linus Torvalds">The problem with backing
it out is that apparently nobody has tried to really maintain it for a year,
and if it gets backed out nobody will even bother to try to fix it. So I'll
let it be for a while, at least.</quote> Alan remarked, <quote who="Alan Cox">I
thought this was a stable kernel tree not 2.5 ?</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>Well, considering that the _old_ driver is also not stable and doesn't
work on all machines, we're really screwed whichever way we turn.</p>

<p>If the old driver was a known working one, this would be a no-brainer.
As it is, the old driver doesn't work for people _either_ - but they probably
aren't piping up, because the old driver has been broken forever.</p>

<p>So we have a situation that the new driver works better on some machines,
and the old driver works better on others. The old driver will obviously neevr
get fixed (we've given it several years now), so the old driver is _known_
to be terminally broken. The new driver is a question mark in that regard.</p>

<p>So I'd rather give the new driver a chance, and see if people can get
it fixed.  For example, the oops that people have reported _seems_ to be
due to initializing the tasklet before actually having initialized all the
data structures the tasklet depends on.  It may well be that moving the two
"tasklet_init()"s down two lines would fix it.</p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="2.4.9 And A Vacation"
  subject="Off for a week, linux-2.4.9..."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.2/0090.html"
  posts="1"
  startdate="16 Aug 2001 10:37:05 -0800"
>
<topic>Big Memory Support</topic>
<topic>FS: FAT</topic>
<topic>FS: NFS</topic>
<topic>Kernel Release Announcement</topic>

<mention>Trond Myklebust</mention>
<mention>Jens Axboe</mention>
<mention>Mark Hemment</mention>
<mention>David Gibson</mention>
<mention>Jes Sorensen</mention>

<p>Linus Torvalds announced Linux 2.4.9, saying:</p>

<quote who="Linus Torvalds">

<p>I'm off to Finland for a week+, and will not be reading email or checking
the newsgroups during that time. I've put up a 2.4.9 kernel on ftp.kernel.org,
and would suggest that people try it out and discuss it on the mailing lists,
but NOT email me. I'll be interested to hear about problems when I return, but
I don't have a big hankering to have thousands of messages waiting for me.</p>

<p>Also, I've been getting a _lot_ of patches, and if yours didn't show up
it's because I got too many. Never fear, there's always tomorrow. Except in
this case it's "in a week or two".</p>

</quote>

<p>He appended the changelog:</p>

<quote who="Linus Torvalds">

<p>

<ul>

<li>David Miller: sparc updates, FAT fs fixes, btaudio build fix</li>

<li>David Gibson: Orinoco driver update</li>

<li>Kevin Fleming: more disks the HPT controller doesn't like</li>

<li>David Miller: "min()/max()" cleanups. Understands signs and sizes.</li>

<li>Jens Axboe: CD updates</li>

<li>Trond Myklebust: save away NFS credentials in inode, so that mmap can
writeout.</li>

<li>Mark Hemment: HIGHMEM ops cleanups</li>

<li>Jes Sorensen: use "unsigned long" for flags in various drivers</li>

</ul>

</p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="New Kernel Hacker Attempts 0.01"
  subject="installing .01"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.2/0211.html"
  posts="4"
  startdate="16 Aug 2001 19:19:04 -0800"
  enddate="16 Aug 2001 23:02:00 -0800"
>
<topic>Assembly</topic>
<topic>Virtual Memory</topic>

<mention>Nicholas Knight</mention>

<p>Tristan Sloughter asked Linus Torvalds privately about running kernel 0.01;
Linus replied privately:</p>

<quote who="Linus Torvalds">

<p>Well, historically in order to be able to install the 0.01 kernel, you
had to have a full minix-386 distribution - that was the only way to make
the filesystem, and to copy the necessary files over etc.</p>

<p>And quite frankly, it's been ten years for me too, so I don't remember
all the details.</p>

<p>You probably don't have access to minix-386 anyway, so I suspect that
what you _should_ do is try to use a newer version of Linux to bootstrap
with. You need a really old compiler to compile Linux-0.01 with - I think
it needs gcc-1.40 or similar. It simply won't compile with newer compilers.</p>

<p>All in all, yes, it can be done. I haven't done it personally in ten years,
and never hosted from Linux, though. I suspect your best option would be to
try to get a discussion going on how to do all this on the kernel mailing
list or similar, feel free to quote this email as a starting point.</p>

</quote>

<p>Tristan did so, saying, <quote who="Tristan">i just recently joined this
mailing list because i need help.  And Linus suggested i join the kernel
mailing list, and quote his email to me as a starting point.  I want to
install the linux kernel 0.01 on my 386 machine, and im lost on how to do it.
I am 16 and only worked with linux for the last two years.  I see running
.01 on my 386 as a learning experience into the depths of the machine,
and how to use assembly and work on OSs.</quote> David A. Frantz replied:</p>

<quote who="David A. Frantz">

<p>kernel 0.01 is well before my Linux time, so I can't help with that at all.
What I can suggest is that you get a version fo Redhat up and running on your
PC. Then install find a Virtual Machine system that will allow you to install
another version of linux that you can run in a VM session.  Use this image
as your learning environment. All that having been said, do understand that
I've never done this, so others may have comments that are more relavant.</p>

<p>MY thoughts are these:</p>

<p>First; the kernel is constant being updated. Your best bet to get relavant
help with any thing is to be working on current sources.</p>

<p>Second; many of the tools that are shipped with Linux are vastly improved
in thier later revisions. Using these tools should result in an over all
better experience.</p>

<p>Third; the quality of the kernel is constantly improving. This improved
kernel should serve as a solid base to learn about operating systems on.</p>

</quote>

<p>Albert D. Cahalan also replied to Tristan:</p>

<quote who="Albert D. Cahalan">

<p>Go up a few versions, to 0.02 maybe, if you have any hopes of running a
compiler on this system. You will need at least 4 MB of RAM for compiling,
since the early kernels didn't support swap.</p>

<p>Minix-386 is a hacked up Minix. Minix is an educational OS for the 8088
that was just recently made free. There once was a collection of patches that
would add 386 feature support.  So you could get Minix running, patch it,
then build Linux.</p>

<p>Try this:</p>

<p>The Minix filesystem can be 64 MB at most. Make a
partition for that, one for swap, and one for a newer Linux
distribution.  This pre-Slackware thing would be a good choice: <a
href="http://www.ibiblio.org/pub/Linux/distributions/MCC/2.0+/">http://www.ibiblio.org/pub/Linux/distributions/MCC/2.0+/</a></p>

<p>Um, you really don't want to be building gcc on a 386.  You might have to
build intermediate versions, since the old gcc might not compile with the most
recent gcc.  Perhaps you have or can borrow a modern machine for builds.</p>

<p>Finding the extras, like libc and a shell, will be hard.</p>

<p>You might need a boot loader called "shoelace". You should be able to
run this from LILO.</p>

</quote>

<p>Nicholas Knight took exception to Albert's remark that
Minix-386 was a "hacked up" Minix. He gave a pointer
to <a href="http://www.cs.vu.nl/pub/minix/2.0.2/">The
Minix 2.0.2 page</a>. The home page is at <a
href="http://www.cs.vu.nl/pub/minix/">http://www.cs.vu.nl/pub/minix/</a>
There was no reply.</p>

</section>

<section
  title="Qlogic/FC Firmware Licensing Issues"
  subject="Qlogic/FC firmware"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.2/1039.html"
  posts="60"
  startdate="21 Aug 2001 04:58:56 -0800"
  enddate="22 Aug 2001 11:05:56 -0800"
>
<topic>BSD: FreeBSD</topic>
<topic>BSD: NetBSD</topic>
<topic>BSD: OpenBSD</topic>
<topic>PCI</topic>

<p>An irate David S. Miller noticed that the Qlogic/FC firmware had been removed
from the Linux sources. He said:</p>

<quote who="David S. Miller">

<p>Who removed it from the 2.4.x driver recently, and why?</p>

<p>I've been playing around, accidently corrupting my firmware a few times,
and had to grab the firmware back from older trees to make my qlogic,FC card
usable again. </p>

<p>Removing the firmware makes no sense, if the firmware was incorrect for
some reason, simply correct it.</p>

</quote>

<p>Jes Sorensen replied, <quote who="Jes Sorensen">Alan did after I pointed out
to him that it was incompatible with the GPL (BSD license with advertisement
clause). Really hard to fix unless you get QLogic to change the license
for you.</quote> Alan Cox added, <quote who="Alan Cox">Also the firmware
we were including was seriously out of date, was a release candidate (not
a certified release) and took up tons of ram.</quote> Later on, David said,
<quote who="David S. Miller">If the firmware was out of date, update it to
a known "Qlogic stamp of approval" version.</quote> Alan replied, <quote
who="Alan Cox">That requires sorting licensing out with Qlogic. I've talked
to them usefully about other stuff so I'll pursue it for a seperate firmware
loader module.</quote> Jes remarked:</p>

<quote who="Jes Sorensen">

<p>getting firmware out of them tends to be up and down.</p>

<p>However I just looked through the QLogic v4.27 provided driver from their
web site and it does in fact included firmware with a GPL license.</p>

<p>Dave, if you want to play with this and stick it into the qlogicfc.c
driver then you will at least have something that sorta works for now
(module all the other problems with that driver).</p>

<p><a
href="http://www.qlogic.com/bbs-html/csg_web/adapter_pages/driver_pages/22xx/22linux.html">http://www.qlogic.com/bbs-html/csg_web/<br />adapter_pages/driver_pages/22xx/22linux.html</a></p>

<p>They do have a stupid 'read and agree' license in front of that page if
you go in via the official qlogic.com door, however if the code inside is
GPL then I asume it's GPL.</p>

</quote>

<p>A couple posts later, Matthew Jacob said:</p>

<quote who="Matthew Jacob">

<p>A few of pieces of information and comments:</p>

<p>The "BSD" copyright in the f/w I have from QLogic is there only because
Theo Deraadt threatened to pull QLogic from the 2.7 OpenBSD release. I'd
been pleading with them for over a year to do *something*. I should have
done a BSD license w/o the advert clause, but, oh, well.....</p>

<p>To understand what shape you're in, it's really best to load firmware into
the card's SRAM. That way you *know* it understands feature foo (like SCCLUN,
for example). QLogic produces so many different flavors of firmware of the
same nominal revision that it's hard to deduce the viability or safety of
some firmware.</p>

<p>That said, it *is* possible in a non-BIOS environment to pull firmware
out of flash rom, I believe- you have to do some hand strobing of registers
that normally only the firmware touches, but I think it *is* technically
possible to pull the contents of flash out into system memory, figure out
where the 'resident' f/w image is in this goop and then download *that*
into SRAM and restart the sequencer. Still- this leaves you in the same
position as before.</p>

<p>IMO, the best thing is to do an ispfw load module that goes away after
you've loaded SRAM. I've started down this path in FreeBSD (there's a separate
ispfw module)- which will only be really useful if module memory ever gets
reclaimed in FreeBSD :-). This is of particular importance for my driver,
because in supporting 1020 (SBus (yes for NetBSD/OpenBSD, not yet for Linux)
&amp;&amp; PCI), 1080/1280 Ultra2, 12160 Ultra3, 2100 FC, 2200FC and 2300FC
(next week)- you end up with an absurd amount of f/w images.</p>

<p>I'm sure there's something similar that can be done for Linux.</p>

<p>Alan- you say you can talk to QLogic- good. I've been finding it harder
and harder to talk to them. If you can get them to put out 2100 and 2200
and 2300 f/w with GPL for Linux- great.</p>

</quote>

<p>Later Matthew double checked and found that the code really was GPLed.</p>

</section>

<section
  title="Status Of Revision Control For The Kernel"
  subject="source control?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.2/1697.html"
  posts="12"
  startdate="23 Aug 2001 13:29:18 -0800"
  enddate="24 Aug 2001 09:29:39 -0800"
>
<topic>Version Control</topic>

<mention>Linus Torvalds</mention>

<p>Andrew Grover asked, <quote who="Andrew Grover">Is Linux development ever
going to use source control? This was talked about at the Kernel Summit,
and I haven't heard anything about it since.</quote> Nicholas Knight replied,
<quote who="Nicholas Knight">The kernel has source control, its name is Linus
Torvalds, CVS with a brain.  Wether or not the mainstream kernel will ever
go pure CVS or the like is really up to Linus, and so far I've not seen
much indication that he's going to do it, at least not before he decides
to retire from steering the kernel's development.</quote> Larry McVoy also
replied to Andrew:</p>

<quote who="Larry McVoy">

<p>There are two features that Linus wants in BitKeeper that we haven't
finished yet.  One is the removal of the revision control files from the
working tree and the other is the ability to break the tree up into logical
units (we call 'em filesets) so that you can more easily pick and choose
which patches you want in your tree.</p>

<p>Linus pinged me about these a while back, we've made some progress on
them but they aren't done yet.  When they are done we'll let Linus take it
for a whirl and see what he thinks.</p>

<p>In the meantime, the PPC people maintain a pure Linux tree in BK, you can
see it at <a href="http://ppc.bkbits.net">http://ppc.bkbits.net</a> and Ted
Tso has recently done a nice import of the various kernel versions complete
with Linus' change logs.  I need to work with the PPC guys and Ted to get
to one tree; it's not an easy issue because the PPC have a lot of changes
in their tree but Ted's tree was done more nicely, he did some extra work
to preserve timestamps and comments.</p>

<p>And to avoid yet-another-BK-flamewar, I'm not saying Linus will or will
not use BitKeeper, all I'm saying is that we're making changes he wants and
then he'll see if it is good enough for him.  I will say that he has eased
slightly off of his original position of "I'll use BitKeeper when it is the
best" because I asked him if that meant what I think both he and I would
mean, i.e., "it is not physically possible for it to be better" as opposed
to "it's better than all the other crap out there".  I think we agreed we
have to be well past #2 but not necessarily to #1 (which is a good thing,
at the rate we're going we'll hit the best sometime this century but that's
as close as I want to call it :-)</p>

</quote>

<p>There was no reply to this, but elsewhere, Alan Cox said about the
possibility of Linux getting source control, <quote who="Alan Cox">It does. Or
at least many of the development teams do. That doesn't mean a general CVS
is a good idea. CVS make it all to easy for other people to push crap into
your tree.</quote> Gerard Roudier asked, <quote who="Gerard Roudier">What
other people?  You can only allow trusted people to commit, and backing out
crap is quite easy.</quote> Alan replied, <quote who="Alan Cox">This is the
model we use. The trust people list is Linus Torvalds.</quote> Gerard replied,
<quote who="Gerard Roudier">You just pointed out the problem. Linus being
the only trusted committer for more than 100 MB of source base as he was
for less than 1 MB 10 years ago. And our single committer got some other
loads as he has a job, children, a boss, a mother-in-law :), may-be pets,
etc...</quote> He added, <quote who="Gerard Roudier">The fact that Linux
has great success does not mean that Linus is right on the way he wants the
kernel maintainance to proceed. It just means that he hasn't been too wrong
on this point, in my opinion. :-)</quote></p>

<p>Elsewhere, Cord Dugan said, <quote who="Cort Dugan">There is great benefit
to making it very hard for people to get changes into a tree.  It forces
people to ask "Is this really worth all the effort?" several times.  It's a
great filter.</quote></p>

</section>

<section
  title="Oops In 3c59x Driver Under Recent -ac Kernels"
  subject="oops in 3c59x driver"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.3/0159.html"
  posts="5"
  startdate="24 Aug 2001 16:00:22 -0800"
  enddate="28 Aug 2001 03:19:20 -0800"
>

<p>Wichert Akkerman reported, <quote who="Wichert Akkerman">After switching my
laptop to a 2.4 kernel I've had it die occasionaly and I finally managed to get
an oops out of it today (not running X makes that a lot simpler :).</quote>
He posted a decoded oops, and added, <quote who="Wichert Akkerman">This
oops was made using 2.4.7ac11 (with freeswan 1.91 patch included but which
is not used). I get the same problem on 2.4.8ac5 and all other 2.4 releases
from the last few weeks as well.</quote> Alan Cox replied:</p>

<quote who="Alan Cox">

<p>Beautiful trace. You took an IRQ during PnPBIOS call and your machine
exploded. Do me a favour -</p>

<p>Change the semaphore in drivers/pnp/pnp_bios.c to a spinlock_irqsave and
__cli/ spin_unlock_irqrestore.  See if the crashes then go away.</p>

</quote>

<p>Wichert replied that this seemed to have fixed it; there were a few more
comments, and the thread ended.</p>

</section>

<section
  title="2.4.10-pre1 Is Available"
  subject="patch-2.4.10-pre1"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0108.3/0540.html"
  posts="12"
  startdate="27 Aug 2001 12:25:45 -0800"
  enddate="28 Aug 2001 02:53:43 -0800"
>
<topic>Big Memory Support</topic>
<topic>Disks: IDE</topic>
<topic>FS: UMSDOS</topic>
<topic>FS: ramfs</topic>
<topic>Kernel Release Announcement</topic>
<topic>USB</topic>

<mention>Jan Kara</mention>
<mention>Brad Hards</mention>
<mention>Rogier Wolff</mention>
<mention>Daniel Phillips</mention>
<mention>David Gibson</mention>
<mention>Vojtech Pavlik</mention>
<mention>Jeff Hartmann</mention>
<mention>Ralf Baechle</mention>
<mention>Ben LaHaise</mention>
<mention>Keith Owens</mention>

<p>Linus Torvalds announced 2.4.10-pre1, saying:</p>

<quote who="Linus Torvalds">

<p>Ok, I'm back from Finland, and there's a 2.4.10-pre1 update on kernel.org.
Changelog appended..</p>

<p>The most noticeable one (under the right loads) is probably the one-liner
by Daniel that avoids some bad behaviour when swapping.</p>

</quote>

<p>He posted a changelog:</p>

<quote who="Linus Torvalds">

<p>
<ul>
<li>Jeff Hartmann: DRM AGP/alpha cleanups</li>
<li>Ben LaHaise: highmem user pagecopy/clear optimization</li>
<li>Vojtech Pavlik: VIA IDE driver update</li>
<li>Herbert Xu: make cramfs work with HIGHMEM pages</li>
<li>David Fennell: awe32 ram size detection improvement</li>
<li>Istvan Varadi: umsdos EMD filename bug fix </li>
<li>Keith Owens: make min/max work for pointers too</li>
<li>Jan Kara: quota initialization fix</li>
<li>Brad Hards: Kaweth USB driver update (enable, and fix endianness)</li>
<li>Ralf Baechle: MIPS updates</li>
<li>David Gibson: airport driver update</li>
<li>Rogier Wolff: firestream ATM driver multi-phy support</li>
<li>Daniel Phillips: swap read page referenced set - avoid swap thrashing</li>
</ul>
</p>

</quote>

</section>

</kc>

