<?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="103" date="19 Jan 2001 00:00:00 -0800" />

<intro>

<p>Kernel Traffic will be trying out a Friday schedule, as of last week.
Otherwise it's just too tempting to work through the weekend... ;-)</p>

</intro>

<stats posts="1640" size="7373" contrib="516" multiples="261" lastweek="176">

<person posts="90" size="410" who="Alan Cox " />
<person posts="40" size="160" who="Alexander Viro " />
<person posts="30" size="122" who="Andrea Arcangeli " />
<person posts="24" size="74" who="&quot;David S. Miller&quot; " />
<person posts="22" size="111" who="Christoph Rohland " />
<person posts="22" size="82" who="Arnaldo Carvalho de Melo " />
<person posts="21" size="78" who="Linus Torvalds " />
<person posts="20" size="122" who="Ben Greear " />
<person posts="20" size="81" who="Daniel Phillips " />
<person posts="20" size="72" who="David Ford " />
<person posts="19" size="87" who="Matthias Juchem " />
<person posts="19" size="66" who="Andi Kleen " />
<person posts="19" size="65" who="Andrew Morton " />
<person posts="18" size="75" who="Keith Owens " />
<person posts="17" size="63" who="Stefan Traby " />
<person posts="17" size="52" who="Chris Wedgwood " />
<person posts="16" size="74" who="Rik van Riel " />
<person posts="16" size="58" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="16" size="45" who="" />
<person posts="15" size="99" who="Tobias Ringstrom " />
<person posts="15" size="54" who="jamal " />
<person posts="15" size="50" who="Matti Aarnio " />
<person posts="15" size="45" who="Igmar Palsenberg " />
<person posts="13" size="54" who="Russell King " />
<person posts="13" size="51" who="&quot;Richard B. Johnson&quot; " />
<person posts="12" size="37" who="Chris Mason " />
<person posts="12" size="37" who="&quot;J . A . Magallon&quot; " />
<person posts="12" size="36" who="David Woodhouse " />
<person posts="10" size="69" who="Vojtech Pavlik " />
<person posts="10" size="52" who="Trond Myklebust " />
<person posts="10" size="32" who="Manfred Spraul " />
<person posts="9" size="101" who="Andre Hedrick " />
<person posts="9" size="37" who="Chris Rankin " />
<person posts="9" size="33" who="Tim Sailer " />
<person posts="9" size="32" who="Rasmus Andersen " />
<person posts="9" size="31" who="Andreas Dilger " />
<person posts="9" size="31" who="Miles Lane " />
<person posts="9" size="31" who="Ingo Molnar " />
<person posts="9" size="27" who="" />
<person posts="8" size="49" who="antirez " />
<person posts="8" size="30" who="Paul Gortmaker " />
<person posts="7" size="28" who="Mike Galbraith " />
<person posts="7" size="28" who="Shawn Starr " />
<person posts="7" size="26" who="Erik Mouw " />
<person posts="7" size="23" who="David Hinds " />
<person posts="7" size="22" who="&quot;Albert D. Cahalan&quot; " />
<person posts="7" size="22" who="&quot;Udo A. Steinberg&quot; " />
<person posts="7" size="22" who="Pavel Machek " />
<person posts="7" size="20" who="Anton Blanchard " />
<person posts="7" size="20" who="Marcelo Tosatti " />
<person posts="7" size="19" who="Doug McNaught " />
<person posts="6" size="136" who="Andrea Ferraris " />
<person posts="6" size="121" who="&quot;Rich Baum&quot; " />
<person posts="6" size="34" who="Rusty Russell " />
<person posts="6" size="29" who="Tim Wright " />
<person posts="6" size="25" who="" />
<person posts="6" size="23" who="&quot;Ulrich Windl&quot; " />
<person posts="6" size="18" who="Christoph Hellwig " />
<person posts="6" size="17" who="Christian Loth " />
<person posts="6" size="17" who="Matthias Andree " />
<person posts="6" size="15" who="Venkatesh Ramamurthy " />
<person posts="5" size="55" who="Christoph Lameter " />
<person posts="5" size="49" who="Zlatko Calusic " />
<person posts="5" size="29" who="Paul Cassella " />
<person posts="5" size="25" who="&quot;Jeremy M. Dolan&quot; " />
<person posts="5" size="25" who="&quot;Michael D. Crawford&quot; " />
<person posts="5" size="22" who="Matthew Dharm " />
<person posts="5" size="22" who=" (Linus Torvalds)" />
<person posts="5" size="21" who="Marc Lehmann " />
<person posts="5" size="21" who="Jesse Pollard " />
<person posts="5" size="21" who="&quot;Mohammad A. Haque&quot; " />
<person posts="5" size="20" who="David Weinehall " />
<person posts="5" size="19" who="&quot;Adam J. Richter&quot; " />
<person posts="5" size="18" who="Sasi Peter " />
<person posts="5" size="17" who="Ingo Oeser " />
<person posts="5" size="17" who="f5ibh " />
<person posts="5" size="17" who="&quot;Timothy A. DeWees&quot; " />
<person posts="5" size="16" who="Greg KH " />
<person posts="5" size="15" who="Jamie Lokier " />
<person posts="5" size="15" who="Jens Axboe " />
<person posts="5" size="14" who="Hans Grobler " />
<person posts="5" size="13" who="Bill Nottingham " />
<person posts="4" size="26" who="&quot;Robert J. Bell&quot; " />
<person posts="4" size="16" who="Patrick " />
<person posts="4" size="14" who=" (Eric W. Biederman)" />
<person posts="4" size="14" who="&quot;H. Peter Anvin&quot; " />
<person posts="4" size="13" who="Helge Hafting " />
<person posts="4" size="12" who="Martin Laberge " />
<person posts="4" size="12" who="Ulrich Drepper " />
<person posts="4" size="12" who="Peter Samuelson " />
<person posts="4" size="11" who="Hacksaw " />
<person posts="3" size="38" who="Andris Pavenis " />
<person posts="3" size="35" who="Aschwin van der Woude " />
<person posts="3" size="31" who="A Guy Called Tyketto " />
<person posts="3" size="30" who="Nathan Walp " />
<person posts="3" size="24" who="Evan Thompson " />
<person posts="3" size="19" who="Philip Armstrong " />
<person posts="3" size="18" who="Benson Chow " />
<person posts="3" size="18" who="Frank Davis " />
<person posts="3" size="18" who="&quot;Ken Brunsen/Iris&quot; " />
<person posts="3" size="18" who="Adrian Bunk " />
<person posts="3" size="16" who="Paul Bristow " />
<person posts="3" size="16" who="Daniel Stodden " />
<person posts="3" size="15" who="Rob Landley " />
<person posts="3" size="13" who="Marco Colombo " />
<person posts="3" size="13" who="Eyal Lebedinsky " />
<person posts="3" size="13" who="&quot;Vladimir V. Saveliev&quot; " />
<person posts="3" size="12" who="Jan-Benedict Glaw " />
<person posts="3" size="12" who="Mathieu Chouquet-Stringer " />
<person posts="3" size="12" who="&quot;Mike A. Harris&quot; " />
<person posts="3" size="12" who="Jean Tourrilhes " />
<person posts="3" size="12" who="David Lang " />
<person posts="3" size="12" who="Michael Meissner " />
<person posts="3" size="11" who="" />
<person posts="3" size="11" who="Pierre Rousselet " />
<person posts="3" size="11" who="Shane Nay " />
<person posts="3" size="11" who="&quot;Kambo Lohan&quot; " />
<person posts="3" size="11" who="Greg KH " />
<person posts="3" size="11" who="Richard Torkar " />
<person posts="3" size="11" who="&quot;Dr. David Gilbert&quot; " />
<person posts="3" size="11" who="&quot;Jason Perlow&quot; " />
<person posts="3" size="11" who="Ulrich Schwarz " />
<person posts="3" size="10" who="&quot;Dr. Kelsey Hudson&quot; " />
<person posts="3" size="10" who="dep " />
<person posts="3" size="10" who="Alan Olsen " />
<person posts="3" size="10" who="Gerhard Mack " />
<person posts="3" size="10" who="&quot;David L. Parsley&quot; " />
<person posts="3" size="10" who="John Heffner " />
<person posts="3" size="10" who="Martin Josefsson " />
<person posts="3" size="10" who="Kai Germaschewski " />
<person posts="3" size="10" who="Mo McKinlay " />
<person posts="3" size="10" who="Steven Cole " />
<person posts="3" size="10" who="Gleb Natapov " />
<person posts="3" size="10" who="Pauline Middelink " />
<person posts="3" size="10" who="Nils Philippsen " />
<person posts="3" size="9" who="Mikael Pettersson " />
<person posts="3" size="9" who="Dan Kegel " />
<person posts="3" size="9" who="&quot;Garst R. Reese&quot; " />
<person posts="3" size="9" who="Jeff Garzik " />
<person posts="3" size="9" who="Blizbor " />
<person posts="3" size="9" who="&quot;Barry K. Nathan&quot; " />
<person posts="3" size="9" who="Manfred " />
<person posts="3" size="9" who="Kurt Roeckx " />
<person posts="3" size="9" who="Pau " />
<person posts="3" size="9" who="Petru Paler " />
<person posts="3" size="9" who="Mark Hahn " />
<person posts="3" size="8" who="Nicolas Noble " />
<person posts="3" size="8" who="Michael Rothwell " />
<person posts="3" size="8" who="&quot;Matthew D. Pitts&quot; " />
<person posts="3" size="8" who="" />
<person posts="3" size="8" who="Narancs 1 " />
<person posts="3" size="8" who="Brian Gerst " />
<person posts="3" size="8" who="Dan Hollis " />
<person posts="3" size="8" who="Timur Tabi " />
<person posts="3" size="7" who="" />
<person posts="3" size="7" who="Blu3Viper " />
<person posts="3" size="7" who="Richard Henderson " />
<person posts="3" size="7" who="Bernd Eckenfels " />
<person posts="3" size="7" who="Takacs Sandor " />
<person posts="2" size="33" who="Grahame Jordan " />
<person posts="2" size="28" who="David Brownell " />
<person posts="2" size="27" who="Petri Kaukasoina " />
<person posts="2" size="25" who=" (Peter De Schrijver)" />
<person posts="2" size="24" who="Florin Andrei " />
<person posts="2" size="21" who="&quot;John Fremlin&quot; " />
<person posts="2" size="21" who="" />
<person posts="2" size="19" who="&quot;Jorge L. deLyra&quot; " />
<person posts="2" size="18" who="Jeremy Huddleston " />
<person posts="2" size="16" who="John Levon " />
<person posts="2" size="16" who="Roger Larsson " />
<person posts="2" size="14" who="" />
<person posts="2" size="13" who="=?iso-8859-1?Q?St=E9phane_Borel?= " />
<person posts="2" size="11" who="Ion Badulescu " />
<person posts="2" size="11" who="Mark Longair " />
<person posts="2" size="11" who="Mike Frisch " />
<person posts="2" size="10" who="John O'Donnell " />
<person posts="2" size="9" who="Grant Grundler " />
<person posts="2" size="9" who="JP Navarro " />
<person posts="2" size="9" who="" />
<person posts="2" size="9" who="Mark Hindley " />
<person posts="2" size="9" who="hugang " />
<person posts="2" size="9" who="&quot;Sean R. Bright&quot; " />
<person posts="2" size="8" who="Widmann Thomas " />
<person posts="2" size="8" who="Prasong Aroonruviwat " />
<person posts="2" size="8" who="J Sloan " />
<person posts="2" size="8" who="&quot;Robert Lowery&quot; " />
<person posts="2" size="8" who="Heitzso " />
<person posts="2" size="8" who="&quot;Dunlap, Randy&quot; " />
<person posts="2" size="8" who="Darryl Miles " />
<person posts="2" size="7" who="Hubert Mantel " />
<person posts="2" size="7" who="dean gaudet " />
<person posts="2" size="7" who="&quot;H. Peter Anvin&quot; " />
<person posts="2" size="7" who="&quot;Robert Wienholt, Jr.&quot; " />
<person posts="2" size="7" who="=?iso-8859-1?Q?Jakob_=D8stergaard?= " />
<person posts="2" size="7" who="&quot;Nicholas Knight&quot; " />
<person posts="2" size="7" who="Alex Belits " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="2" size="7" who="Stephen Torri " />
<person posts="2" size="7" who="Bjorn Wesen " />
<person posts="2" size="7" who="Ragnar Hojland Espinosa " />
<person posts="2" size="7" who="Dan Aloni " />
<person posts="2" size="7" who="Jeff Chua " />
<person posts="2" size="7" who="Michael Duelli " />
<person posts="2" size="7" who="Adrian Chung " />
<person posts="2" size="7" who="Giuliano Pochini " />
<person posts="2" size="7" who="Niels Kristian Bech Jensen " />
<person posts="2" size="7" who="&quot;Troels Walsted Hansen&quot; " />
<person posts="2" size="7" who="Taner Halicioglu " />
<person posts="2" size="7" who="Dave " />
<person posts="2" size="6" who="Mike Harrold " />
<person posts="2" size="6" who="Alvaro Lopes " />
<person posts="2" size="6" who="Rafal Maszkowski " />
<person posts="2" size="6" who="Mike Lieman " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Joseph Pingenot " />
<person posts="2" size="6" who="Franz Sirl " />
<person posts="2" size="6" who="Douglas Gilbert " />
<person posts="2" size="6" who=" (Eugene Crosser)" />
<person posts="2" size="6" who="Andreas Jaeger " />
<person posts="2" size="6" who="&quot;Manfred Bartz&quot; " />
<person posts="2" size="6" who=" (Arjan van de Ven)" />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Giacomo Catenazzi " />
<person posts="2" size="6" who="Lars Marowsky-Bree " />
<person posts="2" size="6" who="&quot;Forever shall I be.&quot; " />
<person posts="2" size="6" who="Joseph Anthony " />
<person posts="2" size="6" who="&quot;Nicolas Parpandet&quot; " />
<person posts="2" size="6" who="Sourav Sen " />
<person posts="2" size="6" who="Dragan Stancevic " />
<person posts="2" size="6" who="Tim Waugh " />
<person posts="2" size="6" who="&quot;Micah Gorrell&quot; " />
<person posts="2" size="5" who="Paul Powell " />
<person posts="2" size="5" who="Paul Jakma " />
<person posts="2" size="5" who="Rob Landley " />
<person posts="2" size="5" who="Guennadi Liakhovetski " />
<person posts="2" size="5" who="Jeff Hartmann " />
<person posts="2" size="5" who="stefan mojschewitsch " />
<person posts="2" size="5" who="Felix Maibaum " />
<person posts="2" size="5" who="&quot;David Schwartz&quot; " />
<person posts="2" size="5" who="Eric Lammerts " />
<person posts="2" size="5" who="Benjamin Redelings I " />
<person posts="2" size="5" who="Mihai Moise " />
<person posts="2" size="5" who=" (Miquel van Smoorenburg)" />
<person posts="2" size="5" who=" (Bob_Tracy)" />
<person posts="2" size="5" who="Gregory Maxwell " />
<person posts="2" size="5" who="Ingo Molnar " />
<person posts="2" size="5" who="&quot;Mike Black&quot; " />
<person posts="2" size="5" who="Matthias Kilian " />
<person posts="2" size="5" who="Sven Koch " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="&quot;Jim M.&quot; " />
<person posts="2" size="5" who="&quot;M T&quot; " />
<person posts="2" size="5" who="Jens Petersohn " />
<person posts="2" size="5" who="Bill Crawford " />
<person posts="2" size="5" who="Thiago Rondon " />
<person posts="2" size="5" who="Adam Scislowicz " />
<person posts="2" size="4" who="Pavel Rabel " />
<person posts="2" size="4" who="sawa " />
<person posts="2" size="4" who=" (Scott James Remnant)" />
<person posts="1" size="80" who="Aaron Eppert " />
<person posts="1" size="62" who="&quot;Marcel J.E. Mol&quot; " />
<person posts="1" size="56" who="&quot;Craig Freeze&quot; " />
<person posts="1" size="52" who="Peter Chubb " />
<person posts="1" size="34" who="Konstantin Cherenkoff " />
<person posts="1" size="31" who="Jonathan Batchelor " />
<person posts="1" size="27" who="Gustavo Zacarias " />
<person posts="1" size="27" who="&quot;David Joyce&quot; " />
<person posts="1" size="23" who="Bruce Collins " />
<person posts="1" size="23" who="Jon Miles " />
<person posts="1" size="16" who="" />
<person posts="1" size="12" who="&quot;W. Michael Petullo&quot; " />
<person posts="1" size="12" who="Albert Cranford " />
<person posts="1" size="11" who="Archan Paul " />
<person posts="1" size="11" who="" />
<person posts="1" size="9" who="Holger Kiehl " />
<person posts="1" size="9" who="Andreas Henriksson " />
<person posts="1" size="9" who="&quot;Gerard Postuma&quot; " />
<person posts="1" size="9" who="Tommy Wu " />
<person posts="1" size="8" who="Hans Freitag " />
<person posts="1" size="8" who="Andrzej Krzysztofowicz " />
<person posts="1" size="8" who="Alessandro Suardi " />
<person posts="1" size="7" who="LAMBERT Bernard " />
<person posts="1" size="7" who="Stephen Clouse " />
<person posts="1" size="7" who="rdunlap " />
<person posts="1" size="7" who="Walter Mueller " />
<person posts="1" size="7" who="&quot;Henning P. Schmiedehausen&quot; " />
<person posts="1" size="6" who="Wojciech Czuba " />
<person posts="1" size="6" who="Charles McLachlan " />
<person posts="1" size="6" who="Anton Altaparmakov " />
<person posts="1" size="6" who="Tilmann Bitterberg " />
<person posts="1" size="6" who="Neil Brown " />
<person posts="1" size="6" who="Lawrence Manning " />
<person posts="1" size="5" who="Tony Sumner " />
<person posts="1" size="5" who="Geoff Hoff " />
<person posts="1" size="5" who="Michael Hicks " />
<person posts="1" size="5" who=" (=?iso-8859-1?q?H=E5vard?= Lygre)" />
<person posts="1" size="5" who="Wayne Whitney " />
<person posts="1" size="5" who="John Morrison " />
<person posts="1" size="5" who="James Brents " />
<person posts="1" size="5" who="John Summerfield " />
<person posts="1" size="5" who="Matthias Rosenkranz " />
<person posts="1" size="5" who="Willem Dekker " />
<person posts="1" size="5" who="Gareth Hughes " />
<person posts="1" size="5" who="Marcel Weber " />
<person posts="1" size="5" who="Prasanna P Subash " />
<person posts="1" size="5" who="" />
<person posts="1" size="4" who="Brent B. Powers " />
<person posts="1" size="4" who="Pete Toscano " />
<person posts="1" size="4" who="Dieter =?iso-8859-1?q?N=FCtzel?= " />
<person posts="1" size="4" who="&quot;Todd M. Roy&quot; " />
<person posts="1" size="4" who="Burton Windle " />
<person posts="1" size="4" who="David Tritscher " />
<person posts="1" size="4" who="Tim Riker " />
<person posts="1" size="4" who="Peter Denison " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Karim Yaghmour " />
<person posts="1" size="4" who="Alberto Bertogli " />
<person posts="1" size="4" who="Paul Flinders " />
<person posts="1" size="4" who="Carles Pina i Estany " />
<person posts="1" size="4" who="khromy " />
<person posts="1" size="4" who="&quot;Petr Vandrovec&quot; " />
<person posts="1" size="4" who="Ookhoi " />
<person posts="1" size="4" who="Lukasz Trabinski " />
<person posts="1" size="4" who="&quot;Brian O'Keefe&quot; " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Kurt Garloff " />
<person posts="1" size="4" who="Mihai Christodorescu " />
<person posts="1" size="4" who=" (Nick Holloway)" />
<person posts="1" size="4" who="Matthew Jacob " />
<person posts="1" size="4" who="&quot;Nathan Scott&quot; " />
<person posts="1" size="4" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="1" size="4" who="Todd " />
<person posts="1" size="4" who="Andi Kleen " />
<person posts="1" size="4" who="Drew Bertola " />
<person posts="1" size="4" who="Ernesto Hernandez-Novich " />
<person posts="1" size="4" who="=?iso-8859-1?Q?Augusto_C=E9sar_Radtke?= " />
<person posts="1" size="3" who="Joseph Wang " />
<person posts="1" size="3" who="&quot;Christopher E. Brown&quot; " />
<person posts="1" size="3" who="Hans Reiser " />
<person posts="1" size="3" who="Gnea " />
<person posts="1" size="3" who="Joseph Bueno " />
<person posts="1" size="3" who="Anders Johansson " />
<person posts="1" size="3" who="Robert Kaiser " />
<person posts="1" size="3" who="Roger Gammans " />
<person posts="1" size="3" who="Krzysztof Rusocki " />
<person posts="1" size="3" who="&quot;Rainer Tammer&quot; " />
<person posts="1" size="3" who="Ragnar Hojland Espinosa " />
<person posts="1" size="3" who="&quot;Nguyen Truong Sinh&quot; " />
<person posts="1" size="3" who="Godfrey Livingstone " />
<person posts="1" size="3" who="&quot;Richard Rak&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="&quot;Roeland Th. Jansen&quot; " />
<person posts="1" size="3" who="Jan Rekorajski " />
<person posts="1" size="3" who="Brian Pomerantz " />
<person posts="1" size="3" who="Mike Touloumtzis " />
<person posts="1" size="3" who="&quot;John H. Robinson, IV&quot; " />
<person posts="1" size="3" who="&quot;Craig I. Hagan&quot; " />
<person posts="1" size="3" who="HIBINO Kei " />
<person posts="1" size="3" who="Karsten Hopp " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Richard A Nelson " />
<person posts="1" size="3" who="David Ford " />
<person posts="1" size="3" who="&quot;Steven N. Hirsch&quot; " />
<person posts="1" size="3" who="Andreas Bombe " />
<person posts="1" size="3" who="&quot;James H. Cloos Jr.&quot; " />
<person posts="1" size="3" who="dhammika " />
<person posts="1" size="3" who="&quot;A.P.R., a.k.a. Stupendous Man&quot; " />
<person posts="1" size="3" who=" (Kai Henningsen)" />
<person posts="1" size="3" who="Bruce Harada " />
<person posts="1" size="3" who="Dan B " />
<person posts="1" size="3" who="Dirk Mueller " />
<person posts="1" size="3" who="NIIBE Yutaka " />
<person posts="1" size="3" who="Matthew Fredrickson " />
<person posts="1" size="3" who="Dmitry Potapov " />
<person posts="1" size="3" who="George R. Kasica " />
<person posts="1" size="3" who="Mark Orr " />
<person posts="1" size="3" who="&quot;Alexander V. Lukyanov&quot; " />
<person posts="1" size="3" who="&quot;Michael H. Warfield&quot; " />
<person posts="1" size="3" who="Ben De Rydt " />
<person posts="1" size="3" who="&quot;Woller, Thomas&quot; " />
<person posts="1" size="3" who="Michal Medvecky " />
<person posts="1" size="3" who="Gabriele Turchi " />
<person posts="1" size="3" who="Johannes Erdfelt " />
<person posts="1" size="3" who="Damien TOURAINE " />
<person posts="1" size="3" who="&quot;Rafael E. Herrera&quot; " />
<person posts="1" size="3" who="Chris Evans " />
<person posts="1" size="3" who="Philipp Rumpf " />
<person posts="1" size="3" who="Alan Shutko " />
<person posts="1" size="3" who="Tom Holroyd " />
<person posts="1" size="3" who="Tobias Haustein " />
<person posts="1" size="3" who="Neil Booth " />
<person posts="1" size="3" who="Patrick Mau " />
<person posts="1" size="3" who="Jeff Chua " />
<person posts="1" size="3" who="Matthias Juchem " />
<person posts="1" size="3" who="Aaron Lehmann " />
<person posts="1" size="3" who="Suresh Ramasubramanian " />
<person posts="1" size="3" who="&quot;Dan Maas&quot; " />
<person posts="1" size="3" who=" (Wichert Akkerman)" />
<person posts="1" size="3" who="Ralf Baechle " />
<person posts="1" size="3" who="Philipp Matthias Hahn " />
<person posts="1" size="3" who="Graham Murray " />
<person posts="1" size="3" who="&quot;Margulies, Adam&quot; " />
<person posts="1" size="3" who="&quot;Peter T. Breuer&quot; " />
<person posts="1" size="3" who="Tigran Aivazian " />
<person posts="1" size="3" who="Sandy Harris " />
<person posts="1" size="3" who="&quot;db&quot; " />
<person posts="1" size="3" who="&quot;Ingo T. Storm&quot; " />
<person posts="1" size="3" who="Yin Tan Cui " />
<person posts="1" size="3" who="&quot;Gregg Lloyd&quot; " />
<person posts="1" size="3" who="Chipzz " />
<person posts="1" size="3" who="Peter Blomgren " />
<person posts="1" size="3" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="1" size="3" who="Stefan Jonsson " />
<person posts="1" size="3" who="Hisaaki Shibata " />
<person posts="1" size="3" who="Tommi Virtanen " />
<person posts="1" size="3" who="Pekka Pietikainen " />
<person posts="1" size="3" who="&quot;Andre Tomt&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Paul Schulz " />
<person posts="1" size="3" who="Chris Jones " />
<person posts="1" size="3" who="MOHAMMED AZAD " />
<person posts="1" size="3" who="Martin Mares " />
<person posts="1" size="3" who="Armin Schindler " />
<person posts="1" size="3" who="Bill Wendling " />
<person posts="1" size="3" who="Hugh Dickins " />
<person posts="1" size="3" who="=?iso-8859-1?B?R+Fib3IgTOlu4XJ0?= " />
<person posts="1" size="3" who="Wakko Warner " />
<person posts="1" size="3" who="Brad Hartin " />
<person posts="1" size="3" who="Anuradha Ratnaweera " />
<person posts="1" size="3" who="Paul Mackerras " />
<person posts="1" size="3" who="&quot;Eric S. Raymond&quot; " />
<person posts="1" size="3" who="&quot;Jonathan Earle&quot; " />
<person posts="1" size="2" who="Sourav Ghosh " />
<person posts="1" size="2" who="Andrzej Krzysztofowicz " />
<person posts="1" size="2" who="Steven Walter " />
<person posts="1" size="2" who="David Santinoli " />
<person posts="1" size="2" who="Justin Zygmont " />
<person posts="1" size="2" who="Bjoern Kriews " />
<person posts="1" size="2" who="Oliver Teuber " />
<person posts="1" size="2" who="&quot;Sergey E. Volkov&quot; " />
<person posts="1" size="2" who="mull " />
<person posts="1" size="2" who="=?iso-8859-1?Q?Fr=E9d=E9ric_L_=2E_W_=2E?= Meunier " />
<person posts="1" size="2" who="Oliver Paukstadt " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Adam Huffman " />
<person posts="1" size="2" who="&quot;A.D.F.&quot; " />
<person posts="1" size="2" who="&quot;Justin T. Gibbs&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Michael Meding " />
<person posts="1" size="2" who="Chris Ricker " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Brett " />
<person posts="1" size="2" who="Ward Vandewege " />
<person posts="1" size="2" who="Patrick Mauritz " />
<person posts="1" size="2" who="&quot;Karl O. Pinc&quot; " />
<person posts="1" size="2" who="Michael Zieger " />
<person posts="1" size="2" who="&quot;Karsten Hopp (Red Hat)&quot; " />
<person posts="1" size="2" who="Antonio Miguel Trindade " />
<person posts="1" size="2" who="Anuradha Ratnaweera " />
<person posts="1" size="2" who="Ron Calderon " />
<person posts="1" size="2" who="&quot;Kaj-Michael Lang&quot; " />
<person posts="1" size="2" who="Torrey Hoffman " />
<person posts="1" size="2" who="J Sloan " />
<person posts="1" size="2" who="David Rees " />
<person posts="1" size="2" who="Wolfgang Spraul " />
<person posts="1" size="2" who="Anwar Payyoorayil " />
<person posts="1" size="2" who="Cajus Pollmeier " />
<person posts="1" size="2" who="&quot;Christopher Harrer&quot; " />
<person posts="1" size="2" who="Nathan Thompson " />
<person posts="1" size="2" who="Pete Zaitcev " />
<person posts="1" size="2" who="Stefan Smietanowski " />
<person posts="1" size="2" who="I Lee Hetherington " />
<person posts="1" size="2" who="Jeff Dike " />
<person posts="1" size="2" who="&quot;V.P.&quot; " />
<person posts="1" size="2" who="David " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Isaac Connor " />
<person posts="1" size="2" who="isaac albeniz " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Thomas Pornin " />
<person posts="1" size="2" who="Dax Kelson " />
<person posts="1" size="2" who="Brian Macy " />
<person posts="1" size="2" who="Bob Lorenzini " />
<person posts="1" size="2" who="&quot;Robert M. Love&quot; " />
<person posts="1" size="2" who="Norbert Breun " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Ben-Hanokh Gabriel " />
<person posts="1" size="2" who="&quot;Brett G. Person&quot; " />
<person posts="1" size="2" who="kees " />
<person posts="1" size="2" who="Brendan D-G " />
<person posts="1" size="2" who="Cort Dougan " />
<person posts="1" size="2" who="rtviado " />
<person posts="1" size="2" who="Huagang Xie " />
<person posts="1" size="2" who="Peter Loje Hansen " />
<person posts="1" size="2" who="Ivan Passos " />
<person posts="1" size="2" who="Anonymous Anonymous " />
<person posts="1" size="2" who="Jordan " />
<person posts="1" size="2" who="Bernhard Rosenkraenzer " />
<person posts="1" size="2" who="Meino Christian Cramer " />
<person posts="1" size="2" who="Sourav Ghosh " />
<person posts="1" size="2" who="Matthew Kirkwood " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Eko Sulistiono " />
<person posts="1" size="2" who="Boszormenyi Zoltan " />
<person posts="1" size="2" who="Mike " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="manfred " />
<person posts="1" size="2" who="Frank Dekervel " />
<person posts="1" size="2" who="Over Twenty " />
<person posts="1" size="2" who="Tim Hockin " />
<person posts="1" size="2" who="&quot;flyinglinux&quot; " />
<person posts="1" size="1" who="Friedrich Lindenberg " />

</stats>

<section
  title="Impact Of Sudden Power Loss On Journalled Filesystems"
  subject="Journaling: Surviving or allowing unclean shutdown?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/0354.html"
  posts="58"
  startdate="03 Jan 2001 04:55:02 -0800"
  enddate="09 Jan 2001 01:34:14 -0800"
>
<topic>FS: ReiserFS</topic>
<topic>FS: ext2</topic>
<topic>FS: ext3</topic>
<topic>Web Servers</topic>

<p>Dr. David Gilbert was unsure whether journalling filesystems were
intended to merely survive the occassional improper shutdown, or if
users should feel comfortable just powering them down as part of normal
operation. Michael Rothwell pointed out that journalling filesystems
only guaranteed the consistency of data that had been written prior to
shutdown, and that any buffers left unflushed at power-off would be lost,
and any applications not properly exited could also do bad things. <quote
who="Michael Rothwell">Journaling mostly means not having to run FSCK,</quote>
he said. Daniel Phillips replied to David at greater length:</p>

<quote who="Daniel Phillips">

<p>Welllllll... crashes tend to produce different effects from sudden power
interruptions.  In the first case parts of the system keep running, and bizarre
results are possible.  An even bigger difference is the matter of intent.</p>

<p><a href="http://innominate.org/~phillips/tux2/">Tux2</a> is explicitly
designed to legitimize pulling the plug as a valid way of shutting down.
Metadata-only journalling filesystems are not designed to be used this way,
and even with full-data journalling you should bear in mind that your on-disk
filesystem image remains in an invalid state until the journal recovery
program has run successfully.  You would not want to upgrade your OS with
your filesystem in this state, nor would you want to remove a disk drive
that didn't have the journal file on it.</p>

<p>Being able to shut down by hitting the power switch is a little luxury
for which I've been willing to invest more than a year of my life to attain.
Clueless newbies don't know why it should be any other way, and it's essential
for embedded devices.</p>

<p>I don't doubt that if the 'power switch' method of shutdown becomes
popular we will discover some applications that have windows where they
can be hurt by sudden shutdown, even will full filesystem data state being
preserved.  Such applications are arguably broken because they will behave
badly in the event of accidental shutdown anyway, and we should fix them.
Well-designed applications are explicitly 'serially reuseable', in other
words, you can interrupt at any point and start again from the beginning
with valid and expected results.</p>

</quote>

<p>Alex Belits strongly disagreed that applications should be considered
broken if they mis-handled sudden shutdowns. He said:</p>

<quote who="Alex Belits">

<p>All valid ways to shut down the system involve sending SIGTERM to running
applications -- only broken ones would live long enough after that to be
killed by subsequent SIGKILL.</p>

<p>A lot of applications always rely on their file i/o being done in some
manner that has atomic (from the application's point of view) operations
other than system calls -- heck, even make(1) does that.</p>

</quote>

<p>Daniel replied that the 'make' program in Alex's example, was a perfect case
of a broken application. Alex disagreed, and the subthread petered out.</p>

<p>Elsewhere, Stephen C. Tweedie said in response to Daniel's statement
that the on-disk filesystem image of journalling filesystems would remain
inconsistent until the journal recovery program had run, <quote who="Stephen
C. Tweedie">ext3 does the recovery automatically during mount(8), so user
space will never see an unrecovered filesystem.  (There are filesystem
flags set by the journal code to make sure that an unrecovered filesystem
never gets mounted by a kernel which doesn't know how to do the appropriate
recovery.)</quote> Daniel replied, <quote who="Daniel Phillips">Yes, and so
long as your journal is not on another partition/disk things will eventually be
set right.  The combination of a partially updated filesystem and its journal
is in some sense a complete, consistent filesystem.</quote> But he asked,
<quote who="Daniel Phillips">I'm curious - how does ext3 handle the possibility
of a crash during journal recovery?</quote> Andreas Dilger explained, <quote
who="Andreas Dilger">Unless Stephen says otherwise, my understanding is that
a crash during journal recovery will just mean the journal is replayed again
at the next recovery.  Because the ext3 journal is just a series of data
blocks to be copied into the filesystem (rather than "actions" to be done),
it doesn't matter how many times it is done.  The recovery flags are not
reset until after the journal replay is completed.</quote> Alan Cox replied
tersely, <quote who="Alan Cox">Which means an ext3 volume cannot be recovered on
a hard disk error.</quote> And Stephen replied:</p>

<quote who="Stephen C. Tweedie">

<p>Depends on the error.  If the disk has gone hard-readonly, then we need
to recover in core, and that's something which is not yet implemented but
is a known todo item.  Otherwise, it's not worse than an error on ext2:
you don't have a guaranteed safe state to return to so you fall back to
recovering what you can from the journal and then running an e2fsck pass.
e2fsck groks the journal already.</p>

<p>And yes, a badly faulty drive can mess this up, but it can mess it for
ext2 just as badly.</p>

</quote>

<p>Close by in the subthread, Stefan Traby asked, <quote who="Stefan Traby">I
did not follow the ext3 development recently, how did you solve the "read-only
mount(2) (optionally on write protected media)" issue ?  Does the mount fail,
or does the code virtually replays (without writing) only ?</quote> Stephen
explained:</p>

<quote who="Stephen C. Tweedie">

<p>The code currently checks if the underlying media is write-protected.
If it is, it fails the mount; if not, it does the replay (so that mounting
a root fs readonly works correctly).</p>

<p>I will be adding support for virtual replay for root filesystems to act
as a last-chance way of recovering if you really cannot write to the root,
but journaling filesystems really do expect to be able to write to the
media so I am not sure whether it makes sense to support this on non-root
filesystems too.</p>

</quote>

<p>Stefan Traby had also added, <quote who="Stefan Traby">an unconditional
hidden replay even if "ro" is specified is not nice.  This is especially
critical on root filesystem, because there is IMHO no way to specify mount
arguments to the "/" mount, except ro/rw.</quote> Stephen asked, <quote
who="Stephen C. Tweedie">In what way?  A root fs readonly mount is usually
designed to prevent the filesystem from being stomped on during the initial
boot so that fsck can run without the filesystem being volatile.  That's the
only reason for the readonly mount: to allow recovery before we enable writes.
With ext3, that recovery is done in the kernel, so doing that recovery during
mount makes perfect sense even if the user is mounting root readonly.</quote>
But David Woodhouse pointed out that there were other reasons for mounting
a root filesystem readonly. The disk could be so damaged, he explained,
that writing anything at all to it would be horribly bad; in which case one
would mount it readonly, recover as much as possible from it, and throw it
in the parts bin. He added, <quote who="David Woodhouse">You _don't_ want
the fs code to ignore your explicit instructions not to write to the medium,
and to destroy whatever data were left.</quote> But Marc Lehmann dissented:</p>

<quote who="Marc Lehmann">

<p>The problem is: where did you give the explicit instruction? Just that
you define "read-only" as "the medium should not be written" does not mean
everybody else thinks the same.</p>

<p>actually, I regard "ro" mainly as a "hey kernel, I won't handle writes
now, so please don't try it", like for cd-roms or other non-writeale media,
and please filesystem stay in a clean state. </p>

<p>That ro means "the medium is never written" is an assumption that does not
hold for most disks anyway and is, in the case of journlaing filesystems,
often impossible to implement. You simply can't salvage data without a log
reply. Sure, you can do virtual log replays, but for example the reiserfs
log is currently 32mb. Pinning down that much memory for a virtual log reply
is not possible on low-memory machines.</p>

<p>So the first thing would be to precisely define the meaning of the "ro"
flag.  Before this has happened it is ansolutely senseless to argue about what
it means, as it doesn't mean anything at the moment, except (man mount):</p>

<p>              ro     Mount the file system read-only.</p>

<p>Which it does even with journaling filesystems...</p>

</quote>

<p>Elsewhere, back on the subject of how to handle sudden shutdowns, and
whether simply pulling the plug could be considered a legitimate way to end a
typical single-user session, David Lang blurted, <quote who="David Lang">for
crying out loud, even windows tells the users they need to shutdown first and
gripes at them if they pull the plug. what users are you trying to protect,
ones to clueless to even run windows?</quote> David W. replied, <quote
who="David Woodhouse">Precisely. Users of embedded devices don't expect to
have to treat them like computers.</quote> David L. listed in response:</p>

<quote who="David Lang">

<p>in an enbedded device you can</p>

<p>

<ol>

<li>setup the power switch so it doesn't actually turn things off (it issues
the shutdown command instead)</li>

<li>run from read-only media almost exclusivly so that power event's don't
bother you much</li>

<li>you can add extra power inside the device so that if someone does pull
the plug, you have a few seconds of power to do the clean shutdown</li>

<li>you can run out of ram and force the user to do an extra step to save
any changes to non-volitile storage (and if they power off during the save
the results are undefined)</li>

</ol>

</p>

<p>I have seen all of these approaches used in different devices (that are
not running linux). This is not a new problem and the people working in this
space have a bunch of answers.</p>

<p>an improved filesystem that tolorates bad shutdowns reasonably well will
be welcomed for other reasons, but should not be viewed as a fix for people
pulling the plug on you.</p>

</quote>

<p>Alan said that David L.'s item #1 and #3 were too expensive, item
#2 depended on the device, and item #4 was <quote who="Alan Cox">Frowned
upon because you keep getting dead units back</quote>. He concluded, <quote
who="Alan Cox">If it doesnt fix the pulling the plug case (at least as far as
'after fsync returned this data is safe') then its not working.</quote></p>

</section>

<section
  title="Maximum CPUs And RAM Under 2.4 Kernels"
  subject="Confirmation request about new 2.4.x. kernel limits"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/0590.html"
  posts="17"
  startdate="04 Jan 2001 03:50:29 -0800"
  enddate="10 Jan 2001 05:16:17 -0800"
>
<topic>Big Memory Support</topic>
<topic>SMP</topic>

<p>Someone asked about various limits for the 2.4 kernels. They thought
SMP systems running 2.4 had a 32-cpu limit; and Anton Blanchard replied,
<quote who="Anton Blanchard">Max CPUs is 64 on 64 bit architectures (well
you have to change NR_CPUS).  I am told larger than 32 cpu ultrasparcs have
booted linux already.</quote></p>

<p>The original poster also thought there was a 64 Gigabyte maximum RAM size,
and asked if there was any slowdowns when accessing RAM over 4G on 32-bit
machines. Tigran Aivazian replied, <quote who="Tigran Aivazian">realistic
benchmarks (unixbench) will show about 3%-6% performance degradation with
use of PAE. Note that this is not "accessing RAM over 4G" but (what you
probably meant) "accessing any RAM in a machine with over 4G of RAM" or even
"accessing any RAM in a machine with less than 4G or RAM but running kernel
capable of accessing &gt;4G". If you really meant "accessing RAM over 4G"
then you are probably talking about 36bit MTRR support which is present
in recent 2.4.x kernels and works very nicely!</quote> Pavel Machek added
elsewhere, <quote who="Pavel Machek">I believe you can get few terabytes
with ultrasparc.</quote></p>

</section>

<section
  title="ext3fs 0.0.5d And reiserfs 3.5.2x Mutually Exclusive"
  subject="ext3fs 0.0.5d and reiserfs 3.5.2x mutually exclusive"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/0609.html"
  posts="3"
  startdate="04 Jan 2001 04:50:44 -0800"
  enddate="08 Jan 2001 08:43:45 -0800"
>
<topic>FS: ReiserFS</topic>
<topic>FS: ext3</topic>

<mention>Chris Mason</mention>
<mention>Matthias Andree</mention>

<p>Matthias Andree noticed that trying to patch ext3fs 0.0.5d onto a 2.2.18
kernel that already had reiserfs 3.5.28 would fail, because of overlapping
patches in fs/buffer.c; he added that he'd reported this incompatibility some
time before. Chris Mason, one of the reiserfs developers, said he'd start
work on fixing it; and elsewhere, Stephen C. Tweedie, the ext3 author, said,
<quote who="Stephen C. Tweedie">removing the extra debugging stuff and buffer.c
code from the ext3 patches is on the todo list but is much lower priority
than finishing off the tuning and user-space code for ext3-1.0.</quote></p>

</section>

<section
  title="Driver Submission Policy For 2.2"
  subject="Change of policy for future 2.2 driver submissions"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/0812.html"
  posts="30"
  startdate="04 Jan 2001 18:41:55 -0800"
  enddate="09 Jan 2001 17:40:29 -0800"
>

<mention>Nicholas Knight</mention>

<p>Alan Cox announced:</p>

<quote who="Alan Cox">

<p>Linux 2.4 is now out, it is also what people should be concentrating on
first when issuing production drivers and driver updates. Effective from this
point 2.2 driver submissions or major driver updates will only be accepted
if the same code is also available for 2.4.</p>

<p>Someone has to do the merging otherwise, and it isnt going to be me...</p>

</quote>

<p>There were mixed reactions to this. Nicholas Knight felt this policy was a
mistake. Until the 2.4 series had stablized, he felt, 2.2 would continue to
be the kernel of choice for many people, in which case Alan's policy might
result in less work being done on that kernel, and thus, fewer new features
in 2.2; he suggested waiting until 2.4 had reached a state where users could
upgrade safely. There were several replies. Mark Hahn said:</p>

<quote who="Mark Hahn">

<p>egads!  how can there be "development" on a *stable* kernel line?</p>

<p>maybe this is the time to reconsider terminology/policy: does "stable" mean
"bugfixes only"?  or does it mean "development kernel for conservatives"?</p>

</quote>

<p>Daniel Phillips replied:</p>

<quote who="Daniel Phillips">

<p>It means development kernel for those who don't have enough time to
debug the main kernel as well as their own project.  The stable branch
tends to be *far* better documented than the bleeding edge branch.  Try to
find documentation on the all-important page cache, for example.  It makes
a whole lot of sense to develop in the stable branch, especially for new
kernel developers, providing, of course, that the stable branch has the
basic capabilities you need for your project.</p>

<p>Alan isn't telling anybody which branch to develop in - he's telling people
what they have to do if they want their code in his tree.  This means that
when you develop in the stable branch you've got an extra step to do at the
end of your project: port to the unstable branch.  This only has to be done
once and your code *will* get cleaned up a lot in the process.  (It's amazing
how the prospect of merging 500 lines of rejected patch tends to concentrate
the mind.)  I'd even suggest another step after that: port your unstable
version back to the stable branch, and both versions will be cleaned up.</p>

</quote>

<p>Wayne Brown objected, <quote who="Wayne Brown">In other words, there's
no longer any such thing as a "stable" branch.  The whole point of having
separate production and development branches was to have one in which each
succeeding patch could be counted upon to be more reliable than the last.
If new development is going into the "stable" kernels, then there's no way to
be certain that the latest patches don't have more bugs than the earlier ones,
at least not without thoroughly testing them.  And if testing is necessary,
then we might as well just use the development kernels for everything,
because we have to test them anyway.</quote> Alan replied, <quote
who="Alan Cox">By your personal definition of stable 2.0.3x is the current
stable kernel.</quote></p>

<p>The subthread trailed off at that point, but elsewhere, Tim Riker also
replied to Nicholas criticism of Alan's initial announcement. He said:</p>

<quote who="Tim Riker">

<p>here are some comments in Alan's favor:</p>

<p>He did not say people can not release 2.2 patches without 2.4 patches.
He only said they will not be integrated into the kernel distribution without
2.4 patches.</p>

<p>If people continue to develop for 2.2 and have someone else, who is
probably less familiar with the hardware, port to 2.4 for them, how soon
would you trust the drivers over the 2.2 drivers?</p>

<p>In short, I agree with Alan completely. This is the correct move forward
to cause 2.4 to become the stable release that everyone will be willing
to adopt.</p>

</quote>

<p>Rik van Riel also replied to Nicholas, regarding the suggestion that it
was a mistake not to wait until 2.4 had stablized before instituting Alan's
new policy. Rik said:</p>

<quote who="Rik van Riel">

<p>This is *exactly* why Alan's policy change makes sense.</p>

<p>If somebody submits a driver bugfix or update for 2.2, but not for 2.4,
it'll take FOREVER for 2.4 to become as "trustable" as 2.2...</p>

<p>This change, however, will make sure that 2.4 will be as reliable as 2.2
much faster. Unlike 2.2, the core kernel of 2.4 is reliable ... only the
peripheral stuff like drivers may be out of date or missing.</p>

</quote>

<p>Elsewhere, Michael D. Crawford suggested that Linus Torvalds had
arbitrarily decided to release 2.4.0 just to increase the number of people
testing it. He said, <quote who="Michael D. Crawford">I understand Linus'
desire to have more widespread testing done on the kernel, and certainly he
can accomplish that by labeling some random build as the new stable version.
But I think a better choice would have been to advocate testing more widely -
don't just announce it to the linux-kernel list, get on National Public Radio,
the Linux Journal and Slashdot and stuff.</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>You don't understand people, I think.</p>

<p>No amount of publicity will matter all that much in the end: yes, it will
result in many people who are not afraid of a compiler to try it out. And
we've had that for over six months now, realistically.</p>

<p>But that's very different from having somebody like RedHat, SuSE or Debian
make such a kernel part of their standard package. No, I don't expect that
they'll switch over completely immediately: that would show a lack of good
judgement. The prudent approach has always been to have both a 2.2.19 and a
2.4.0 kernel on there, and ask the user if he wants to test the new kernel
first.</p>

<p>That way you get a completely different kind of user that tests it.</p>

<p>The other thing is that even if something like 2.4.0-test8 gets rave
reviews, that doesn't _matter_ to people who crave stability. The fact is
that 2.4.0 has been getting quite a lot of testing: people haven't even seen
how the big vendors have all done testing in their labs etc.</p>

<p>And to the people who really want to have stability, none of that matters.
They will basically "start fresh" at the 2.4.0 release, and give it a few
months just to follow the kernel list etc to see what the problems will be.
They'll have people starting to ramp up 2.4.0 kernels in their own internal
test environment, moving it first to machines they feel more comfortable
with etc etc.</p>

<p>None of which would happen if you just try to make the beta testing cycle
much bigger.</p>

<p>Which is why to _me_ the most important thing is that I'm happy with the
core infrastructure - because once you've tested it to a certain degree,
it's not going to improve without a real public release.</p>

</quote>

</section>

<section
  title="Modutils 2.4.0 Available"
  subject="Announce: modutils 2.4.0 is available"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/0814.html"
  posts="15"
  startdate="04 Jan 2001 18:59:12 -0800"
  enddate="08 Jan 2001 04:41:57 -0800"
>

<mention>Anuradha Ratnaweera</mention>
<mention>Keith Owens</mention>

<p>Keith Owens announced modutils 2.4.0 and gave a link to the <a
href="ftp://ftp.us.kernel.org/pub/linux/utils/kernel/modutils/v2.4">sources
and some RPMs</a>. Anuradha Ratnaweera suggested also providing .deb packages,
but Erik Mouw replied, <quote who="Erik Mouw">He just provides the rpms as
a service, he doesn't have to do that.  Install the "alien" package on your
machine and you will be able to convert between rpm and deb.</quote> Wichert
Akkerman replied:</p>

<quote who="Wichert Akkerman">

<p>Bad plan, considering packages rely on some infrastructure that is not in
the rpm (update-modules). I tend to be pretty quick with making and uploading
the deb anyway.</p>

<p>Having said that, I won't package 2.4.0 and will wait for 2.4.1 instead.</p>

</quote>

</section>

<section
  title="MM/VM Todo List"
  subject="MM/VM todo list"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/0964.html"
  posts="14"
  startdate="05 Jan 2001 09:14:08 -0800"
  enddate="08 Jan 2001 12:23:47 -0800"
>
<topic>Clustering</topic>
<topic>Virtual Memory</topic>

<mention>Ben LaHaise</mention>

<p>Rik van Riel announced:</p>

<quote who="Rik van Riel">

<p>here is a TODO list for the memory management area of the Linux kernel,
with both trivial things that could be done for later 2.4 releases and more
complex things that really have to be 2.5 things.</p>

<p>Most of these can be found on <a
href="http://linux24.sourceforge.net/">http://linux24.sourceforge.net/</a>
too</p>

<p>Trivial stuff:</p>

<p>

<ul>

<li>

<p>VM: better IO clustering for swap (and filesystem) IO</p>

<p>

<ul>

<li>Marcelo's swapin/out clustering code</li>

<li>-&gt;writepage() IO clustering support</li>

<li>page_launder()/-&gt;writepage() working together in avoiding
    low-yield (small cluster) IO at first, ...</li>

</ul>

</p>

</li>

<li>VM: include Ben LaHaise's code, which moves readahead to the
  VMA level, this way we can do streaming swap IO, complete with
  drop_behind()</li>

<li>VM: enforce RSS ulimit</li>

</ul>

</p>

<p>Probably 2.5 era:</p>

<p>

<ul>

<li>VM: physical-&gt;virtual reverse mapping, so we can do much
  better page aging with less CPU usage spikes</li>

<li>VM: move all the global VM variables, lists, etc. into the
  pgdat struct for better NUMA scalability</li>

<li>VM: per-node kswapd for NUMA</li>

<li>VM: thrashing control, maybe process suspension with some
  forced swapping ?             (trivial only in theory)</li>

<li>VM: experiment with different active lists / aging pages
  of different ages at different rates + other page replacement
  improvements</li>

<li>VM: Quality of Service / fairness / ... improvements</li>

</ul>

</p>

<p>Additions to this list are always welcome,
I'll put it online on the Linux-MM pages (<a
href="http://www.linux.eu.org/Linux-MM/">http://www.linux.eu.org/Linux-MM/</a>)
soon.</p>

</quote>

</section>

<section
  title="Why Use Modules?"
  subject="The advantage of modules?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/1114.html"
  posts="13"
  startdate="05 Jan 2001 20:50:20 -0800"
  enddate="08 Jan 2001 15:49:16 -0800"
>
<topic>Networking</topic>

<mention>Drew Bertola</mention>

<p>Evan Thompson asked if there were any real reason to prefer compiling modules
as modules instead of compiling everything into the kernel binary. Drew Bertola
suggested that module developers could load and unload modules for test
purposes, without having to reboot the entire system. Michael Meissner said at
greater length:</p>

<quote who="Michael Meissner">

<p>A couple of thoughts:</p>

<p>

<ol>

<li>A full kernel with everything compiled in might not fit on boot media
        such as floppies, while modules allows you to not load stuff that
        isn't needed to until after the main booting is accomplished.</li>

<li>There are several devices that have multiple drivers (such as tulip,
        and old_tulip for example).  Which particular driver works depends
        on your exact particular hardware.  If both of these drivers are
        linked into the kernel, whatever the kernel chooses to initialize
        first will talk to the device.</li>

<li>Having drivers as modules means that you can remove them and reload
        them.  When I was working in an office, I had one scsi controller
        that was a different brand (Adaptec) than the main scsi controller
        (TekRam), and I hung a disk in a removable chasis on the scsi
        chain in addition to a tape driver and cd-rom.  When I was about
        to go home, I would copy all of the data to the disk, unmount it,
        and then unload the scsi device driver.  I would take the disk out,
        and reload the scsi device driver to get the tape/cd-rom.  I would
        then take the disk to my home computer.  I would reverse the process
        when I came in the morning.</li>

<li>If you have multiple scsi controllers of different brands, building on
        into the kernel and the other brand(s) as modules allows you to
        control which scsi controller is the first controller in terms of
        where the disks are.</li>

</ol>

</p>

</quote>

</section>

<section
  title="Bug Report Generation Tool"
  subject="[PATCHlet]: removal of redundant line in documentation"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/1127.html"
  posts="43"
  startdate="05 Jan 2001 21:51:58 -0800"
  enddate="11 Jan 2001 14:28:25 -0800"
>

<mention>Richard Torkar</mention>
<mention>Pavel Machek</mention>
<mention>David Ford</mention>
<mention>Rafael E. Herrera</mention>

<p>In the course of discussing patch submissions, Jeremy M. Dolan
suggested:</p>

<quote who="Jeremy M. Dolan">

<p>why not include a script which takes care of ALL the leg work? All of
the files it asks the reporter to include are o+r...</p>

<p>I can whip up a bug_report script to walk the user though all of the steps
in REPORTING-BUGS, if the list isn't averse to 'dumbing down' the process to
the point where maybe some people who shouldn't be submiting bugs (two words:
'user error') end up not being scared off by the process.</p>

<p>Is perl allowed for kernel scripts intended for users, or am I stuck
with sh?</p>

</quote>

<p>Matthias Juchem that he'd already started work on such a script, and Pavel
Machek had some suggestions.</p>

<p>Elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/1306.html">[PATCH]
new bug report script</a>, Matthias posted a patch against 2.4.0 and explained,
<quote who="Matthias Juchem">It introduces a new bug reporting script
(scripts/bugreport.pl) that tries to simplify bug reporting for users. I
have also added a small hint to this script to REPORTING-BUGS.</quote> There
was some discussion of possible fixes to the script, but elsewhere, Alan
Cox objected, <quote who="Alan Cox">The kernel doesnt require perl. I don't
want to add a dependancy on perl.</quote> Matthias pointed out several other
perl scripts in the official sources, and suggested making it optional. But
Alan replied, <quote who="Alan Cox">None of these are needed for normal
build/use/bug reporting work. In fact if you look at script_asm you'll see
we go to great pains to ship prebuilt files too.</quote> Matthias argued,
<quote who="Matthias Juchem">Why can't I assume that perl is installed? It
can be found on every standard Linux/Unix installation.  And besides, the
bug report script doesn't replace anything the doesn't need perl - ver_linux,
REPORTING-BUGS and oops-tracing.txt are still there for the more advanced user.
My script is intended for the one who likes to provide bug reports but is
too lazy to look up all the information or simply is not sure about what
to include.</quote></p>

<p>David Ford asked why the script couldn't be done as a shell script, and
Matthias replied:</p>

<quote who="Matthias Juchem">

<p>It can be done in sh, surely. I only tried to promote my perl version
because I've done it in perl and nobody told me earlier that perl is not
liked in the kernel tree - and I've seen some perl scripts there.</p>

<p>I guess I'll have to convert the script to sh.</p>

</quote>

<p>Elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/0915.html">bugreporting
script - second try</a>, Matthias announced, <quote who="Matthias Juchem">I
rewrote my previous bugreport.pl in bash. I would appreciate it if you had
a look on this one. Run it once and give me feedback if you like.</quote>
Richard Torkar reported success with it, though he'd been unable to test
the ksymoops feature.  After some more feedback from Richard, Matthias
posted a link to a <a href="http://www.brightice.de/src/bugreport.sh">new
version</a>. Rafael E.  Herrera posted a patch to the script, to enable the
use of /proc/config.gz if any were available. Matthias liked this idea and
adopted it into the script.</p>

</section>

<section
  title="Patch Submission Policy For 2.4"
  subject="Linux-2.4.x patch submission policy"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.0/1192.html"
  posts="7"
  startdate="06 Jan 2001 10:17:02 -0800"
  enddate="10 Jan 2001 03:12:07 -0800"
>
<topic>FS: ramfs</topic>
<topic>Virtual Memory</topic>

<mention>Andrew Morton</mention>

<p>Linus Torvalds stated:</p>

<quote who="Linus Torvalds">

<p>I thought I'd mention the policy for 2.4.x patches so that nobody gets
confused about these things.  In some cases people seem to think that "since
2.4.x is out now, we can relax, go party, and generally goof off".</p>

<p>Not so.</p>

<p>The linux kernel has had an interesting release pattern: usually the .0
release was actually fairly good (there's almost always _something_ stupid,
but on the whole not really horrible).  And every single time so far, .1 has
been worse.  It usually takes until something like .5 until it has caught
up and surpassed the stability of .0 again.</p>

<p>Why? Because there are a lot of pent-up patches waiting for inclusion,
that didn't get through the "we need to get a release out, that patch can
wait" filter.  So early on in the stable tree, some of those patches make it.
And it turns out to be a bad idea.</p>

<p>In an effort to avoid this mess this time, I have two guidelines:</p>

<p>

<ul>

<li>I've basically thrown away all patches sent to me so far, and I will
   continue to do so at least over the weekend. I'm not going to bother
   thinking about patches for a few days.</li>

<li>In order for a patch to be accepted, it needs to be accompanied by
   some pretty strong arguments for the fact that not only is it really fixing
   bugs, but that those bugs are _serious_ and can cause real problems.</li>

<li>Obviously, the size of the patch matters too: if you can make an
   obvious fix in 5 lines, do it.  Don't try to make a clean fix that fixes
   the problem the clever way in 150 lines.</li>

</ul>

</p>

<p>In short, releasing 2.4.0 does not open up the floor to just about
anything.  In fact, to some degree it will probably make patches _less_
likely to be accepted than before, at least for a while.  I want to be
absolutely convicned that the basic 2.4.x infrastructure is solid as a rock
before starting to accept more involved patches.</p>

<p>Right now my ChangeLog looks like this:</p>

<p>

<ul>

<li>Don't drop a megabyte off the old-style memory size detection</li>

<li>remember to UnlockPage() in ramfs_writepage()</li>

<li>3c59x driver update from Andrew Morton</li>

</ul>

</p>

<p>The first two are true one-liners that have already bitten some people
(not what I'd call a showstopper, but trivially fixable stuff that are
just thinkos).  The third one looks like a real fix for some rather common
hardware that could do bad things without it.</p>

<p>Now, I'm sure that ChangeLog will grow.  There's the apparent fbcon bug
with MTRR handling that looks like a prime candidate already, and I'll have
people asking me for many many more.  But basically what I'm asking people
for is that before you send me a patch, ask yourself whether it absolutely
HAS to happen now, or whether it could wait another month.</p>

<p>Another way of putting it: if you have a patch, ask yourself what
would happen if it got left off the next RedHat/SuSE/Debian/Turbo/whatever
distribution CD.  Would it really be a big problem? If not, then I'd rather
spend the time _really_ beating on the patches that _would_ be a big issue.
Things like security (_especially_ remote attacks), outright crashes, or
just totally unusable systems because it can't see the harddisk.</p>

<p>We'll all be happier if my ChangeLog is short and sweet, and if a 2.4.1
(tomorrow, in a week, in two, in a month, depending on what comes up)
actually ends up being _better_ than 2.4.0.  That would be a good new
tradition to start.</p>

<p>And before you even bother asking about 2.5.x: it won't be opened until
I feel happy to pass on 2.4.x to somebody else (hopefully Alan Cox doesn't
feel burnt out and wants to continue to carry the torch and feels ok with
leaving 2.2.x behind by then).</p>

<p>Historically, that's been at least a few months.  In the 2.2.x series,
2.3.0 was the same as 2.2.8 with just the version changed - and it came
out in May, almost four months after 2.2.0.  In the 2.0.x series, 2.1.x was
based off 2.0.21, four and a half months after 2.0.0.</p>

<p>Yes, I know this is boring, and all I'm asking is for people to not make it
any harder for me than they have to.  Think twice before sending me a patch,
and when you _do_ send me a patch, try to think like a release manager and
explain to me why the patch really makes sense to apply now.</p>

<p>In short, I'm hoping for a fairly boring next few months. The more boring,
the better.</p>

</quote>

<p>Alan Cox added regarding his own patches, <quote who="Alan Cox">Think
of -ac as a way to get patches you need that everyone else might not need
yet, and a way to filter stuff. Im happy to take sane stuff Linus doesn't
(within reason) and propogate it on as (or more to the point if) it proves
sane.</quote> Rik van Riel also volunteered to <quote who="Rik van Riel">gather
all non-bug VM patches and combine them into a special big patch periodically.
Once we are sure 2.4 is stable for just about anybody I will submit some
of the really trivial enhancements for inclusion; all non-trivial patches I
will maintain in a VM bigpatch, which will be submitted for inclusion around
2.5.0 and should provide one easy patch for those distribution vendors who
think 2.4 VM performance isn't good enough for them ;)</quote></p>

</section>

<section
  title="Bug In 2.4.0 Virtual Memory Subsystem"
  subject="VM subsystem bug in 2.4.0 ?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/0046.html"
  posts="19"
  startdate="08 Jan 2001 00:46:47 -0800"
  enddate="10 Jan 2001 07:50:20 -0800"
>
<topic>Virtual Memory</topic>

<mention>Christoph Rohland</mention>

<p>Sergey E. Volkov was testing an Informix IIF-2000 database server running
on a dual Intel Pentium II 233MHz; when running 'make -j30 bzImage' on the
kernel source tree, the system would completely hang. Trying the same thing on
the same machine without Informix running, no hang occurred. He suspected the
problem was that Informix allocated about 50% of the system's RAM as locked
shared memory. So the kernel would try to swap out the locked segments,
fail, and wait forever for them to swap out. Rik van Riel replied:</p>

<quote who="Rik van Riel">

<p>You are right. I have seen this bug before with the kernel moving
unswappable pages from the active list to the inactive_dirty list and back.</p>

<p>We need a check in deactivate_page() to prevent the kernel from moving
pages from locked shared memory segments to the inactive_dirty list.</p>

</quote>

<p>He asked for advice from Christoph Rohland and Linus Torvalds, and Linus
suggested:</p>

<quote who="Linus Torvalds">

<p>The only solution I see is something like a "active_immobile" list, and
add entries to that list whenever "writepage()" returns 1 - instead of just
moving them to the active list.</p>

<p>Seems to be a simple enough change. The main worry would be getting
the pages _off_ such a list: anything that unlocks a shared memory segment
(can you even do that? If the only way to unlock is to remove, we have no
problems) would have to have a special function to move all pages from the
immobile list back to the active list (and then they'd get moved back if
they were for another segment that is still locked).</p>

</quote>

<p>Rik suggested just having a special "do not deactivate me" data-bit for
each item on the list. <quote who="Rik van Riel">When this special bit is
set,</quote> he said, <quote who="Rik van Riel">we simply move the page to
the back of the active list instead of deactivating.</quote> He added, <quote
who="Rik van Riel">when the bit changes again, the page can be evicted from
memory just fine. In the mean time, the locked pages will also have undergone
normal page aging and at unlock time we know whether to swap out the page
or not.</quote> He admitted that this method would have higher overhead
than Linus', but it seemed simpler and more flexible to him. Stephen C.
Tweedie objected that he didn't see a way to clear the bit properly,
saying, <quote who="Stephen C. Tweedie">Locking is a per-vma property,
not per-page.  I can mmap a file twice and mlock just one of the mappings.
If you get a munlock(), how are you to know how many other locked mappings
still exist?</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>Note that this would be solved very cleanly if the SHM code would use the
"VM_LOCKED" flag, and actually lock the pages in the VM, instead of trying
to lock them down for writepage().</p>

<p>That would mean that such a segment would still get swapped out when
it is not mapped anywhere, but I wonder if that semantic difference really
matters.</p>

<p>If the vma is marked VM_LOCKED, the VM subsystem will do the right thing
(the page will never get removed from the page tables, so it won't ever make it
into that back-and-forth bounce between the active and the inactive lists).</p>

</quote>

<p>Christoph posted a lightly tested patch, and Linus asked:</p>

<quote who="Linus Torvalds">

<p>I'd really like an opinion on whether this is truly legal or not? After
all, it does change the behaviour to mean "pages are locked only if they
have been mapped into virtual memory". Which is not what it used to mean.</p>

<p>Arguably the new semantics are perfectly valid semantics on their own, but
I'm not sure they are acceptable.</p>

<p>In contrast, the PG_realdirty approach would give the old behaviour of
truly locked-down shm segments, with not significantly different
complexity behaviour.</p>

<p>What do other UNIXes do for shm_lock()?</p>

<p>The Linux man-page explicitly states for SHM_LOCK that</p>

<blockquote>

<p>        The user must fault in any pages that are required to be present
        after locking is enabled.</p>

</blockquote>

<p>which kind of implies to me that the VM_LOCKED implementation is ok.
HOWEVER, looking at the HP-UX man-page, for example, certainly implies
that the PG_realdirty approach is the correct one. The IRIX man-pages in
contrast say</p>

<blockquote>

<p>                                Locking occurs per address space;
        multiple processes or sprocs mapping the area at different
        addresses each need to issue the lock (this is primarily an
        issue with the per-process page tables).</p>

</blockquote>

<p>which again implies that they've done something akin to a VM_LOCKED
implementation.</p>

<p>Does anybody have any better pointers, ideas, or opinions?</p>

</quote>

<p>In terms of how other UNIXes handled the situation, Tim Wright said:</p>

<quote who="Tim Wright">

<p>It appears that the fine-detail semantics vary across the board. DYNIX/ptx
supports two forms of SysV shm locking - soft and hard. Soft-locking (the
default) merely makes the pages sticky, so if you fault them in, they stay in
your resident set, but don't count against it. If, however the process swaps,
they're all evicted, and when the process is swapped back in, you get to fault
the back in all over again. Hard locking pins the segment into physical memory
until such time as it's destroyed. It stays there even if there are currently
no attaches. Again, such pages are not counted against the process RSS.</p>

<p>SVR4 only support one form. It faults all the pages in and locks them into
memory, but doesn't treat the especially wrt rss/paging, which seems none
too clever - if they're locked into memory, you might as well use them :-)</p>

</quote>

<p>The discussion ended around there.</p>

</section>

<section
  title="Superfluous Whitespace In The Kernel Sources"
  subject="Extraneous whitespace removal?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/0059.html"
  posts="4"
  startdate="08 Jan 2001 02:42:18 -0800"
  enddate="08 Jan 2001 16:24:20 -0800"
>

<mention>Jeremy M. Dolan</mention>

<p>Jeremy M. Dolan took all whitespace off of the ends of lines in the kernel
sources, removing almost 200 K and producing almost a 2 M patch. David Weinehall
replied:</p>

<quote who="David Weinehall">

<p>While I really like the idea with this patch, I'm 100% certain that Linus
would not, under any circumstances, accept this patch.</p>

<p>I suggest that we instead force everyone to program with:</p>

<p>syntax on<br />
let c_space_errors=1</p>

<p>(Or equivalent Emacs/[insert favourite editor here]-setting instead)</p>

<p>While at it, force people to read linux/Documentation/CodingStyle and
make them adhere to it.</p>

<p>Of course, I guess this is a free world (yeah, right) and everyone
should have the right to code in their own way, but I'd wish that people at
least could be consistent when indenting/spacing/bracing/whatever, and when
patching other people's code, also follow the already set standard of that
file instead of introducing a new one...</p>

</quote>

<p>Rusty Russell added, <quote who="Rusty Russell">I've done this before, but
never posted it, lest they think I'm insane.  I vote this for 2.5.1.</quote>
He suggested listing Jeremy in the MAINTAINERs file as the official whitespace
maintainer.</p>

</section>

<section
  title="2.0.39 Announced"
  subject="[Announcement] linux-kernel v2.0.39"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/0624.html"
  posts="7"
  startdate="09 Jan 2001 14:48:04 -0800"
  enddate="10 Jan 2001 16:33:15 -0800"
>
<topic>CREDITS File</topic>
<topic>Disks: IDE</topic>
<topic>FS: devfs</topic>
<topic>FS: ext2</topic>
<topic>FS: smbfs</topic>
<topic>MAINTAINERS File</topic>
<topic>Networking</topic>
<topic>PCI</topic>

<mention>Matthew Grant</mention>
<mention>Jan Kara</mention>
<mention>Stephen C. Tweedie</mention>
<mention>Jari Ruusu</mention>
<mention>Andries Brouwer</mention>
<mention>Alan Cox</mention>
<mention>Ivan Passos</mention>
<mention>Andrea Arcangeli</mention>
<mention>Andre Hedrick</mention>
<mention>Jean Tourrilhes</mention>
<mention>Richard Gooch</mention>

<p>David Weinehall announced 2.0.39:</p>

<quote who="David Weinehall">

<p>Everyone laughs, I guess. The 2.0.39final didn't became the final release
(could've told you so...) The good thing? Well, some bugs were found and
removed. But this is it. Enjoy!</p>

<p>Changelog for v2.0.39</p>

<ul>

<li>Fix memory-leak in af_unix              (Jon Nelson,
                                                 Alan Cox, me)</li>

<li>Added headerfiles for devfs
        to simplify backports of
        drivers             (Richard Gooch)</li>

<li>Fix a bug involving syncronous
        writes and -ENOSPC that could
        cause file-corruption          (Jari Ruusu)</li>

<li>Added new versions of PCI-2000          (Mark Ebersole)</li>

<li>Added new versions of PCI-2220i         (Mark Ebersole)</li>

<li>Fixed a few typos in PCI-2000,
        PCI-2220i, PSI-240i and related
        files          (me)</li>

<li>Removed unused variable in xd.c         (me)</li>

<li>Renamed the initfunctions in
        pi2.c and pt.c, as their names
        clashed with paride-names
        (obviously, noone uses paride
         together with hamradio)            (me)</li>

<li>Changed most references to
        vger.rutgers.edu to
        vger.kernel.org              (me)</li>

<li>Fix the few vger.rutgers.edu
        references that I missed            (Daniel Roesen)</li>

<li>Fix a bug in af_unix that wrote to
        a socket after freeing it
        (aka the Win9x-related oops)      (Michael Deutschmann)</li>

<li>Fixed typo in Documentation             (Martin Douda)</li>

<li>IDE-patches                             (Andre Hedrick)</li>

<li>Fixes for the IDE-patches               (Andries Brouwier,</li>

<li>Move memory-offset for dynamic
        executables          (Michael Deutschsmann)</li>

<li>Fixes to the Cyclades-driver            (Ivan Passos)</li>

<li>Fix for a bug in ext2                   (Stephen C. Tweedie)</li>

<li>Added marketing-names for 3Com
        NICs in drivers/net/Config.in          (Yann Dirson, me)</li>

<li>Fix for a buf in smbfs                  (Rick Bressier)</li>

<li>Large-disk fixes                        (Andries Brouwer)</li>

<li>Wavelan-driver cleanup &amp; bugfixes       (Jean Tourrilhes)</li>

<li>Security-fixes                          (Solar Designer)</li>

<li>Quota-fixes                             (Jan Kara)</li>

<li>Fixed GPF using IPsec Masquerade        (Rudolf Lippan)</li>

<li>Fixed Config.in bugs in
        drivers/net and drivers/isdn                 (Marc Martinez)</li>

<li>Added IPX-routing of NetBIOS packages   (Jan Rafaj)</li>

<li>Fix for a bug in paride                 (Wolfram Gloger)</li>

<li>Fix an erroneous printk in ip_fw.c      (Todd Sabin)</li>

<li>Fix for IP multicast on WAN-adapters    (Matthew Grant)</li>

<li>Big updates to MAINTAINERS              (me)</li>

<li>Big updates to CREDITS                  (me, others)</li>

<li>Various updates in Documentation/*      (me)</li>

<li>Styled up all Configuration-files
        in a similar manner to newer
        v2.3 kernels, and various other
        cleanups       (me)</li>

<li>Updated CodingStyle to the one used
        in recent v2.3 kernels     (me)</li>

<li>Backported nls_8859-14                  (me)</li>

<li>Added support for sparse superblocks    (Theodore T'so)</li>

<li>Fix for the ping -s 65468 exploit       (Andrea Arcangeli, others)</li>

</ul>

</quote>

</section>

<section
  title="2.4.0 On The IA64"
  subject="2.4.0 release and ia64"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/0870.html"
  posts="4"
  startdate="10 Jan 2001 10:03:09 -0800"
  enddate="10 Jan 2001 10:21:39 -0800"
>

<p>Someone asked if 2.4.0 would run on the IA64 or if some special patches
were required. Bill Nottingham replied, <quote who="Bill Nottingham">There's
a patch for it in ports/ia64 on your favorite linux kernel mirror.</quote> The
original poster replied that those patches appeared to be only for test kernels,
not the official 2.4.0 release. Bill replied:</p>

<quote who="Bill Nottingham">

<p>There *should* be a patch for 2.4 final:</p>

<p>linux-2.4.0-ia64-010109.diff.(bz2|gz)</p>

<p>If not, your mirror isn't up to date.</p>

</quote>

</section>

<section
  title="Statistical Kernel Profiler Available"
  subject="[ANNOUNCE] oprofile profiler"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/0876.html"
  posts="2"
  startdate="10 Jan 2001 10:23:08 -0800"
  enddate="11 Jan 2001 02:27:43 -0800"
>

<p>John Levon announced:</p>

<quote who="John Levon">

<p>oprofile is a low-overhead statistical profiler capable of instruction-grain
profiling of the kernel (including interrupt handlers), modules, and user-space
libraries and binaries.</p>

<p>It uses the Intel P6 performance counters as a source of interrupts to
trigger the accounting handler in a manner similar to that of Digital's
DCPI. All running processes, and the kernel, are profiled by default. The
profiles can be extracted at any time with a simple utility. The system
consists of a kernel module and a simple background daemon.</p>

<p>Typical overhead is around 3 or 4 percent. Worst case overhead on a
Pentium II 350 UP system is around 10-15%</p>

<p>You can read a little more about oprofile, and download a very alpha
version at :</p>

<p><a
href="http://oprofile.sourceforge.net/">http://oprofile.sourceforge.net/</a></p>

<p>oprofile is released under the GNU GPL.</p>

</quote>

<p>Karim Yaghmour replied:</p>

<quote who="Karim Yaghmour">

<p>This is really interesting. Great stuff.</p>

<p>As Alan had once suggested, it would be very interesting
to have this information correlated with the content
of the traces collected using the Linux Trace Toolkit (<a
href="http://www.opersys.com/LTT">http://www.opersys.com/LTT</a>). For
instance, you could see how many cache faults the read() or write() operation
of your application generated and other unique info. It would also be possible
to enhance the post-mortem analysis done by LTT to take in account this data.
You could also use LTT's dynamic event creation mechanism to log the profiling
data as part of the trace.</p>

<p>There are definitely opportunities for interfacing/integrating here.</p>

<p>Let me know what you think.</p>

</quote>

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

</section>

<section
  title="LVM Fixes Slow To Get Into The Official Kernel"
  subject="Oops in 2.4.0 (@ LVM)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/1015.html"
  posts="5"
  startdate="10 Jan 2001 18:29:57 -0800"
  enddate="10 Jan 2001 20:40:39 -0800"
>
<topic>Disk Arrays: LVM</topic>
<topic>Version Control</topic>

<p>Gustavo Zacarias got an oops from LVM running under 2.4.0, and Andreas
Dilger replied:</p>

<quote who="Andreas Dilger">

<p>There is a patch to the LVM kernel code which should help: <a
href="ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.0ac4/lvm-fix-2">ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.0ac4/lvm-fix-2</a></p>

<p>You should also get the LVM user tools from CVS (with TAG LVM_0-9-patches)
to solve this problem.  There will hopefully be a new LVM release soon.</p>

</quote>

<p>Paul Jakma asked, <quote who="Paul Jakma">any word on when the kernel fixes
are going to linus?</quote> Andreas replied, <quote who="Andreas Dilger">I've
heard "soon" on the LVM list, but I'm just one of the chickens.  If it were
up to me, the fixes would go to Linus as soon as they are found.</quote>
And Paul said, <quote who="Paul Jakma">indeed. it looks bad when code is
updated irregularly, and it's a pain for users.</quote> End Of Thread.</p>

</section>

<section
  title="Comparing Khttpd, Boa, And Tux"
  subject="khttpd beaten by boa"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/1317.html"
  posts="12"
  startdate="11 Jan 2001 22:20:56 -0800"
  enddate="13 Jan 2001 05:46:29 -0800"
>
<topic>Web Servers</topic>

<mention>Alan Cox</mention>

<p>Christoph Lameter reported losing an argument over which web server was
faster, khttpd or boa. He posted some numbers and said that in the first
test, <quote who="Christoph Lameter">boa won hands down because it supports
persistant connections.</quote> They'd ran the same test with persistant
connection turned off, but found that boa still won. He said:</p>

<quote who="Christoph Lameter">

<p>This shows the following problems with khttpd:</p>

<p>1. Connect times are on average longer than boa. Why???</p>

<p>2. Transfers also take longer,</p>

<p>What is wrong here?</p>

</quote>

<p>Lars Marowsky-Bree replied disgruntledly, <quote who="Lars
Marowsky-Bree">This just goes on to show that khttpd is unnecessary kernel
bloat and can be "just as well" handled by a userspace application, minus
some rather very special cases which do not justify its inclusion into the
main kernel.</quote> David S. Miller added, <quote who="David S. Miller">My
take on this is that khttpd is unmaintained garbage.  TUX is evidence
that khttpd can be done properly and beat the pants off of anything done in
userspace.</quote> H. Peter Anvin suggested, <quote who="H. Peter Anvin">Then
why don't we unload khttpd and put in Tux?</quote> Elsewhere, Arjan van de
Ven remarked, <quote who="Arjan van de Ven">TuX is certainly the "next and
better" generation, and I look forward to working with Ingo and others on
it.</quote> But Alan Cox mentioned that, since tux required the 'zero copy'
patches, those patches would have to go in before Tux could be considered.</p>

<p>Elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/1573.html">khttpd
beats boa with persistent patch</a>, Christoph said with glee:</p>

<quote who="Christoph Lameter">

<p>I applied the persistent khttpd patch + my vhost patch and now khttpd
beats boa!!! (patch against 2.4.0 follows at the end of the message)</p>

<p>The connection times of boa are still better but khttpd wins in
transfers.</p>

</quote>

<p>Dean Gaudet pointed out that running the test locally ignored network
latencies, and was thus a meaningless benchmark. He explained, <quote who="Dean
Gaudet">latency is as important, or even more important than raw throughput.
anything beyond a second or two is the point where humans start giving up
on the server.  if you study a real benchmark such as specweb99 you'll find
that if you don't have good response latency then your score is not valid.
they actually have a minimum throughput that each connection must meet or
else it's considered an error -- it's similar to having a latency budget,
with some slight differences.</quote></p>

</section>

<section
  title="Unexplained 2.4.0 Filesystem Corruption"
  subject="2.4 ate my filesystem on rw-mount"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/1345.html"
  posts="15"
  startdate="12 Jan 2001 01:15:45 -0800"
  enddate="14 Jan 2001 14:32:08 -0800"
>
<topic>Disks: IDE</topic>

<p>Tobias Ringstrom gave a hair-raising account of his 2.4.0 experiences:</p>

<quote who="Tobias Ringstrom">

<p>I've never seen anything like it before, which I'm happy for.  The system
had been running a standard RedHat 7 kernel for days without any problems,
but who wants to run a 2.2 kernel?  I compiled 2.4.0 for it, rebooted,
and blam!  The RedHat init stripts got to the "remounting root read-write"
point, and just froze solid.</p>

<p>Rebooting into RH7 failed, becauce inittab could not be found.  In fact
the filesystem was completely messed up, with /dev empty, lots of device
nodes in /etc, and files missing all over the place.  I had to reinstall
RH7 from scratch.</p>

<p>I do not understand how this could happen during a remounting root rw.
Is the filesystem really that unstable?</p>

<p>Am I right in suspecting DMA, which was enabled at the time?  Any other
ideas?  Is it a known problem?</p>

<p>This is on a 450 MHz AMD-K6 with the following IDE controller:</p>

<p>00:07.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo]
(rev 06)</p>

</quote>

<p>Alan Cox replied, <quote who="Alan Cox">There are several people who have
reported that the 2.4.0 VIA IDE driver trashes hard disks like that. The
2.2 one also did this sometimes but only with specific chipset versions and
if you have dma autotune on (thats why currently 2.2 refuses to do tuning
on VP3)</quote></p>

<p>Vojtech Pavlik also replied to Tobias, saying, <quote who="Vojtech
Pavlik">Wow. Ok, I'm maintaining the 2.4.0 VIA driver, so I'd like to know
more about this.</quote> He asked for specific hardware details, which Tobias
provided, and they went back and forth for a bit, though no solution appeared
on the list.</p>

</section>

<section
  title="PowerPC In The Official Tree"
  subject="PPC 2.4 ?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0101.1/1615.html"
  posts="2"
  startdate="13 Jan 2001 06:14:55 -0800"
  enddate="13 Jan 2001 12:25:19 -0800"
>

<mention>Giuliano Pochini</mention>

<p>Giuliano Pochini asked when the PowerPC tree would be merged into the
official sources, since none of the official versions would even compile. Cort
Dougan replied:</p>

<quote who="Cort Dougan">

<p>Grab a tree from <a
href="http://www.fsmlabs.com/linuxppcbk.html">http://www.fsmlabs.com/linuxppcbk.html</a>.
Those always compile and are up-to-date.</p>

<p>I send patches, but they don't always make it into the main tree.  In the
mean time, you have a consistent source of kernels with the above web site.</p>

</quote>

</section>

</kc>

