<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="40" date="25 Oct 1999 00:00:00 -0800" />

<intro>

<p>Thanks go out to Clemens Wehrmann for pointing out some embarrassing typos
both last week and the week before. Thanks, Clemens! Can I come to Red Dwarf
night? ;-)</p>

<p>Thanks also go to my Linuxcare compatriot Brett Neely for finding some other
embarrassing typos. You rock, Brett!</p>

</intro>

<stats posts="1623" size="6557" contrib="435" multiples="219" lastweek="137">

<person posts="60" size="253" who="Alan Cox " />
<person posts="58" size="200" who="Stephen Frost " />
<person posts="57" size="183" who="Shawn Leas " />
<person posts="43" size="187" who="Horst von Brand " />
<person posts="42" size="111" who="Dan Hollis " />
<person posts="39" size="164" who="Alexander Viro " />
<person posts="30" size="138" who="&quot;Khimenko Victor&quot; " />
<person posts="29" size="115" who="Andrea Arcangeli " />
<person posts="28" size="141" who="" />
<person posts="28" size="134" who="Horst von Brand " />
<person posts="23" size="100" who="David Ford " />
<person posts="23" size="88" who="Jeff Garzik " />
<person posts="22" size="95" who="Martin Dalecki " />
<person posts="21" size="75" who=" (david parsons)" />
<person posts="18" size="78" who="Riley Williams " />
<person posts="18" size="77" who="&quot;H. Peter Anvin&quot; " />
<person posts="18" size="59" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="17" size="54" who="Manfred Spraul " />
<person posts="15" size="60" who="Richard Gooch " />
<person posts="15" size="50" who="David Weinehall " />
<person posts="15" size="49" who="Pavel Machek " />
<person posts="14" size="41" who=" (Guest section DW)" />
<person posts="13" size="94" who="Jamie Lokier " />
<person posts="13" size="51" who="&quot;Jakma, Paul&quot; " />
<person posts="12" size="58" who="Johannes Erdfelt " />
<person posts="12" size="48" who="Nathan Hand " />
<person posts="12" size="45" who="&quot;Brandon S. Allbery KF8NH&quot; " />
<person posts="12" size="42" who="&quot;Richard B. Johnson&quot; " />
<person posts="12" size="37" who="Wakko Warner " />
<person posts="11" size="38" who="Steve Dodd " />
<person posts="10" size="44" who="Matthew Dharm " />
<person posts="10" size="36" who=" (david parsons)" />
<person posts="9" size="37" who="Michael Cummins " />
<person posts="9" size="35" who="Marcin Dalecki " />
<person posts="9" size="31" who="Linus Torvalds " />
<person posts="9" size="29" who="Andi Kleen " />
<person posts="8" size="49" who="Chris Noe " />
<person posts="8" size="35" who="" />
<person posts="8" size="34" who="&quot;Mike A. Harris&quot; " />
<person posts="8" size="32" who=" (Rogier Wolff)" />
<person posts="8" size="27" who="Brian Swetland " />
<person posts="8" size="23" who=" (Miquel van Smoorenburg)" />
<person posts="7" size="44" who="Artur Skawina " />
<person posts="7" size="29" who="&quot;Forever shall I be.&quot; " />
<person posts="7" size="29" who=" (H. Peter Anvin)" />
<person posts="7" size="29" who="&quot;Theodore Y. Ts'o&quot; " />
<person posts="7" size="25" who="Matthew Wilcox " />
<person posts="7" size="24" who="Jens Benecke " />
<person posts="7" size="23" who="David Woodhouse " />
<person posts="7" size="22" who="Mike Galbraith " />
<person posts="7" size="20" who="&quot;Jones D (ISaCS)&quot; " />
<person posts="6" size="31" who="&quot;David Waite&quot; " />
<person posts="6" size="29" who="&quot;Theodore Y. Ts'o&quot; " />
<person posts="6" size="23" who="" />
<person posts="6" size="21" who="Alex Nicolaou " />
<person posts="6" size="20" who="Bret Indrelee " />
<person posts="6" size="19" who="Florian Weimer " />
<person posts="6" size="18" who="Andre Hedrick " />
<person posts="6" size="17" who="Thomas Sailer " />
<person posts="6" size="17" who="&quot;Stefan Monnier&quot; " />
<person posts="6" size="17" who="Luca Montecchiani " />
<person posts="6" size="16" who="Tigran Aivazian " />
<person posts="6" size="15" who="" />
<person posts="5" size="26" who="Scott Henry " />
<person posts="5" size="25" who="Frank v Waveren " />
<person posts="5" size="21" who="Sergey Kubushin " />
<person posts="5" size="21" who="Paul Jakma " />
<person posts="5" size="19" who="Gorky " />
<person posts="5" size="17" who="Matti Aarnio " />
<person posts="5" size="17" who="Alan Modra " />
<person posts="5" size="17" who="" />
<person posts="5" size="17" who="Scott Marlowe " />
<person posts="5" size="16" who="&quot;Sean Hunter&quot; " />
<person posts="5" size="16" who="Ookhoi " />
<person posts="5" size="16" who="Oliver Xymoron " />
<person posts="5" size="16" who="Keith Owens " />
<person posts="5" size="16" who="Trond Myklebust " />
<person posts="5" size="14" who="Eleonora Autore " />
<person posts="5" size="14" who="Avenger " />
<person posts="5" size="12" who="Mike Cole " />
<person posts="4" size="64" who="Luke Deller " />
<person posts="4" size="23" who="David Lang " />
<person posts="4" size="21" who="Andreas Bombe " />
<person posts="4" size="19" who=" (Kanoj Sarcar)" />
<person posts="4" size="15" who="Davide Rossetti " />
<person posts="4" size="14" who="&quot;David S. Miller&quot; " />
<person posts="4" size="14" who="Peter Samuelson " />
<person posts="4" size="14" who="Borislav Deianov " />
<person posts="4" size="14" who=" (Arjan van de Ven)" />
<person posts="4" size="13" who="Jesse Pollard " />
<person posts="4" size="13" who="Q " />
<person posts="4" size="13" who="Giuliano Procida " />
<person posts="4" size="13" who="Rok Papez " />
<person posts="4" size="13" who="Ulrich Drepper " />
<person posts="4" size="12" who="Martin Mares " />
<person posts="4" size="12" who="Tim Waugh " />
<person posts="4" size="10" who="Michael Elizabeth Chastain " />
<person posts="4" size="10" who="&quot;Garst R. Reese&quot; " />
<person posts="4" size="10" who="Ingo Molnar " />
<person posts="4" size="9" who="J&#246;rg Fr&#252;hbrodt " />
<person posts="3" size="64" who="manfreds " />
<person posts="3" size="42" who="Deven Phillips " />
<person posts="3" size="26" who="Derek Glidden " />
<person posts="3" size="21" who="swoop " />
<person posts="3" size="21" who="&quot;Benjamin C.R. LaHaise&quot; " />
<person posts="3" size="19" who="Richard Adams " />
<person posts="3" size="16" who="Natapov Gleb " />
<person posts="3" size="15" who="Andreas Dilger " />
<person posts="3" size="14" who="Bernhard Rosenkraenzer " />
<person posts="3" size="13" who="Patrick Mau " />
<person posts="3" size="12" who="&quot;Michael H. Warfield&quot; " />
<person posts="3" size="12" who="David Dyck " />
<person posts="3" size="11" who=" (Linus Torvalds)" />
<person posts="3" size="11" who="Urban Widmark " />
<person posts="3" size="11" who="Zack Weinberg " />
<person posts="3" size="10" who="Christoph Rohland " />
<person posts="3" size="10" who="Hans Reiser " />
<person posts="3" size="10" who="Benny Amorsen " />
<person posts="3" size="10" who="John Kennedy " />
<person posts="3" size="10" who="Pete Clements " />
<person posts="3" size="10" who="Gerhard Mack " />
<person posts="3" size="10" who="&quot;Edward S. Marshall&quot; " />
<person posts="3" size="10" who="&quot;David Harris&quot; " />
<person posts="3" size="9" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="3" size="9" who="Christian Reis " />
<person posts="3" size="9" who="Bradley M Keryan " />
<person posts="3" size="9" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="3" size="9" who="Helge Hafting " />
<person posts="3" size="9" who="Benjamin Suto " />
<person posts="3" size="9" who="Min-Ken Lai " />
<person posts="3" size="9" who="Steffen Grunewald " />
<person posts="3" size="9" who="Gabor Lenart " />
<person posts="3" size="9" who="Jes Sorensen " />
<person posts="3" size="8" who="Greg Maxwell " />
<person posts="3" size="8" who="bert hubert " />
<person posts="2" size="54" who="Markus Hetzmannsederc " />
<person posts="2" size="34" who="Peter Hanecak " />
<person posts="2" size="32" who="&quot;Nicholas R LeRoy&quot; " />
<person posts="2" size="28" who="Tobias Haustein " />
<person posts="2" size="20" who="Dara Hazeghi " />
<person posts="2" size="15" who="Graham Murray " />
<person posts="2" size="13" who="&quot;J. E. Rodd&quot; " />
<person posts="2" size="12" who="Harald Koenig " />
<person posts="2" size="12" who="&quot;Chris Jones&quot; " />
<person posts="2" size="11" who="Peter Rival " />
<person posts="2" size="10" who="Tim Walberg " />
<person posts="2" size="9" who="Avi Kivity " />
<person posts="2" size="9" who="" />
<person posts="2" size="9" who="Henner Eisen " />
<person posts="2" size="9" who="Raul Miller " />
<person posts="2" size="9" who="Martin Lucina " />
<person posts="2" size="9" who="" />
<person posts="2" size="8" who="Nils Faerber " />
<person posts="2" size="8" who="John Ellson " />
<person posts="2" size="7" who="Jim Niemira " />
<person posts="2" size="7" who="Thorsten Kranzkowski " />
<person posts="2" size="7" who="Michael Poole " />
<person posts="2" size="7" who="CaT " />
<person posts="2" size="7" who="Marc Duponcheel " />
<person posts="2" size="7" who="Kernel List " />
<person posts="2" size="7" who="Thomas Strohm " />
<person posts="2" size="7" who="Petr Vandrovec " />
<person posts="2" size="7" who="Anton Ivanov " />
<person posts="2" size="7" who="Kesava Narasimhan " />
<person posts="2" size="7" who="Ralf Baechle " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="Alexandre Hautequest " />
<person posts="2" size="7" who="Larry McVoy " />
<person posts="2" size="7" who="James R Bruce " />
<person posts="2" size="7" who="Lars Marowsky-Bree " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Bradley Baetz " />
<person posts="2" size="6" who="Thierry Danis " />
<person posts="2" size="6" who="Martin Mares " />
<person posts="2" size="6" who="Mikael Pettersson " />
<person posts="2" size="6" who=" (Tom M. Kroeger)" />
<person posts="2" size="6" who="Nix " />
<person posts="2" size="6" who="&quot;Ulrich Windl&quot; " />
<person posts="2" size="6" who="George " />
<person posts="2" size="6" who="&quot;Michael S. Fischer&quot; " />
<person posts="2" size="6" who="Rik van Riel " />
<person posts="2" size="6" who="Torsten Landschoff " />
<person posts="2" size="6" who="tenthumbs " />
<person posts="2" size="6" who="Ralf Baechle " />
<person posts="2" size="6" who="&quot;Albert D. Cahalan&quot; " />
<person posts="2" size="6" who="German Jose Gomez Garcia " />
<person posts="2" size="6" who="Gr&#233;goire FAVRE " />
<person posts="2" size="6" who="Jarno Paananen " />
<person posts="2" size="6" who="Mark Orr " />
<person posts="2" size="6" who="George Bonser " />
<person posts="2" size="6" who="Jens Axboe " />
<person posts="2" size="5" who="DAVID BALAZIC " />
<person posts="2" size="5" who="Eric Dittman " />
<person posts="2" size="5" who="Bill Huey " />
<person posts="2" size="5" who="Sid Boyce " />
<person posts="2" size="5" who="Bradley Baetz " />
<person posts="2" size="5" who="Niels Kristian Bech Jensen " />
<person posts="2" size="5" who="Zach Brown " />
<person posts="2" size="5" who="Frantisek Dufka " />
<person posts="2" size="5" who="tenthumbs " />
<person posts="2" size="5" who="Bruce Tenison " />
<person posts="2" size="5" who="&quot;Ph. Marek&quot; " />
<person posts="2" size="5" who="Meelis Roos " />
<person posts="2" size="5" who="Alex Buell " />
<person posts="2" size="5" who="`Jag " />
<person posts="2" size="5" who="Kjetil Torgrim Homme " />
<person posts="2" size="5" who="Mofeed Shahin " />
<person posts="2" size="5" who="Lauri Tischler " />
<person posts="2" size="5" who="Thomas Molina " />
<person posts="2" size="5" who="Sebastian Ip " />
<person posts="2" size="5" who="Tim Hockin " />
<person posts="2" size="5" who="Simon Cahuk " />
<person posts="2" size="5" who="Foo Chun Choong " />
<person posts="2" size="5" who="Koblinger Egmont " />
<person posts="2" size="5" who="M Carling " />
<person posts="2" size="4" who=" (Avenger)" />
<person posts="2" size="4" who="Hannah Schroeter " />
<person posts="2" size="4" who="Tigran Aivazian " />
<person posts="2" size="4" who="&quot;Michael J. Dikkema&quot; " />
<person posts="1" size="76" who="Gadi Oxman " />
<person posts="1" size="16" who="Martin Maciaszek " />
<person posts="1" size="12" who="Ed Grimm " />
<person posts="1" size="10" who="Kelly STriker Price " />
<person posts="1" size="8" who="" />
<person posts="1" size="8" who="Oleg Drokin " />
<person posts="1" size="7" who="&quot;root&quot; " />
<person posts="1" size="7" who="Michael Zappe " />
<person posts="1" size="7" who="&quot;Dunlap, Randy&quot; " />
<person posts="1" size="7" who="&quot;Dr. Michael Weller&quot; " />
<person posts="1" size="7" who="&quot;Stephen D. WIlliams&quot; " />
<person posts="1" size="7" who="Simon Huggins " />
<person posts="1" size="7" who="" />
<person posts="1" size="6" who="Gert Vervoort " />
<person posts="1" size="6" who="Ivan Passos " />
<person posts="1" size="6" who="Chris Buchanan " />
<person posts="1" size="6" who="&quot;Anthony Barbachan&quot; " />
<person posts="1" size="6" who="Tobias Ringstrom " />
<person posts="1" size="6" who="Kelly French " />
<person posts="1" size="6" who=" &lt;nino@inform.dk&gt;" />
<person posts="1" size="6" who="Kurt Garloff " />
<person posts="1" size="6" who="Aron Griffis " />
<person posts="1" size="5" who="Scott Lampert " />
<person posts="1" size="5" who="Ming Lei " />
<person posts="1" size="5" who="William Stearns " />
<person posts="1" size="5" who="Brian Strand " />
<person posts="1" size="5" who="Dieter N&#252;tzel " />
<person posts="1" size="5" who="Ivan Kokshaysky " />
<person posts="1" size="5" who=" (William Lash)" />
<person posts="1" size="5" who="Alon Ziv " />
<person posts="1" size="5" who="Dan Kegel " />
<person posts="1" size="5" who="Matt Davis " />
<person posts="1" size="5" who="Ramon Pasetes " />
<person posts="1" size="4" who="Jason Gunthorpe " />
<person posts="1" size="4" who="&quot;Stanislav V. Voronyi&quot; " />
<person posts="1" size="4" who="&quot;Ben Castricum&quot; " />
<person posts="1" size="4" who="Grant Erickson " />
<person posts="1" size="4" who="&quot;Nemosoft Unv.&quot; " />
<person posts="1" size="4" who="&quot;cyco&quot; " />
<person posts="1" size="4" who="Florent Lesieur " />
<person posts="1" size="4" who="Warwick Mitchell " />
<person posts="1" size="4" who="Charles K Hardin " />
<person posts="1" size="4" who="Erik Mouw " />
<person posts="1" size="4" who="Brendan Cully " />
<person posts="1" size="4" who="Brendan Black " />
<person posts="1" size="4" who="Jean-Francois Brousseau " />
<person posts="1" size="4" who="Serge Melnichenko " />
<person posts="1" size="4" who="Jan Echternach " />
<person posts="1" size="4" who="Dieter Kraft " />
<person posts="1" size="4" who="Oliver Neukum " />
<person posts="1" size="4" who="Joe Diehl " />
<person posts="1" size="4" who="Simon Kirby " />
<person posts="1" size="4" who="Walter Reed " />
<person posts="1" size="4" who="&quot;Rus V. Brushkoff&quot; " />
<person posts="1" size="4" who="Gregory Maxwell " />
<person posts="1" size="4" who="Nick Holloway " />
<person posts="1" size="4" who="Nick Holloway " />
<person posts="1" size="4" who="&quot;Major'Trips'&quot; " />
<person posts="1" size="3" who="&quot;Matthew G. Marsh&quot; " />
<person posts="1" size="3" who="kees " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who=" (Paul Menage)" />
<person posts="1" size="3" who="Andi Kleen " />
<person posts="1" size="3" who="Chuck Mead " />
<person posts="1" size="3" who=" (H.J. Lu)" />
<person posts="1" size="3" who="Steve Underwood " />
<person posts="1" size="3" who="&quot;xie hua gang&quot; " />
<person posts="1" size="3" who="Leo Mauro " />
<person posts="1" size="3" who="Xenitellis S " />
<person posts="1" size="3" who="Kernel Stuffs " />
<person posts="1" size="3" who="A Guy Called Tyketto " />
<person posts="1" size="3" who="Russell Kroll " />
<person posts="1" size="3" who="Sami Dalouche " />
<person posts="1" size="3" who="Jan Kasprzak " />
<person posts="1" size="3" who="David Taylor " />
<person posts="1" size="3" who="&quot;Colleen &amp; Ken&quot; " />
<person posts="1" size="3" who="&quot;Paul Fulghum&quot; " />
<person posts="1" size="3" who=" (Bruce Janson)" />
<person posts="1" size="3" who="&quot;TOTALPC&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Dale Harris " />
<person posts="1" size="3" who="Jakub Jelinek " />
<person posts="1" size="3" who="Greg " />
<person posts="1" size="3" who="Ely Wilson " />
<person posts="1" size="3" who="Byron Stanoszek " />
<person posts="1" size="3" who="Harley Privitera " />
<person posts="1" size="3" who="David Odin " />
<person posts="1" size="3" who="Mohit Aron " />
<person posts="1" size="3" who="Pavel Machek " />
<person posts="1" size="3" who="riq " />
<person posts="1" size="3" who="Simon Kirby " />
<person posts="1" size="3" who="Claudio Calvelli " />
<person posts="1" size="3" who="Eric Bohm " />
<person posts="1" size="3" who="Rene Chaddock " />
<person posts="1" size="3" who="Brian Hall " />
<person posts="1" size="3" who="Martin Weinberg " />
<person posts="1" size="3" who="David Nelson " />
<person posts="1" size="3" who="Pierfrancesco Caci " />
<person posts="1" size="3" who="Dag Brattli " />
<person posts="1" size="3" who="Linas Vepstas " />
<person posts="1" size="3" who=" (Rogier Wolff)" />
<person posts="1" size="3" who="&quot;David L. Nicol&quot; " />
<person posts="1" size="3" who="&quot;Christopher J. Reimer&quot; " />
<person posts="1" size="3" who="Frederick Barnes " />
<person posts="1" size="3" who="Folkert van Heusden " />
<person posts="1" size="3" who="Jens David " />
<person posts="1" size="3" who="Kevin Waterson " />
<person posts="1" size="3" who="&quot;brettt&quot; " />
<person posts="1" size="3" who="&quot;Petr Vandrovec Ing. VTEI&quot; " />
<person posts="1" size="3" who="&quot;Tom Livingston&quot; " />
<person posts="1" size="3" who="Bruno Semrau " />
<person posts="1" size="3" who="Tommy van Leeuwen " />
<person posts="1" size="3" who="Rogerio Brito " />
<person posts="1" size="3" who="Drew Bernat " />
<person posts="1" size="3" who="&quot;Michael K. Johnson&quot; " />
<person posts="1" size="3" who="Xie Hua Gang " />
<person posts="1" size="3" who="Javier Kohen " />
<person posts="1" size="3" who="Luke Burton " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Alex Rojo " />
<person posts="1" size="3" who="Tom Eastep " />
<person posts="1" size="3" who="tenthumbs " />
<person posts="1" size="3" who=" (David K&#229;gedal)" />
<person posts="1" size="3" who="Jos Vos " />
<person posts="1" size="3" who="Stefan Becker " />
<person posts="1" size="3" who="Aaron T Porter " />
<person posts="1" size="3" who="mike mangino " />
<person posts="1" size="3" who="Ken Witherow " />
<person posts="1" size="3" who="&quot;B. James Phillippe&quot; " />
<person posts="1" size="2" who="Chad Miller " />
<person posts="1" size="2" who="Joseph Malicki " />
<person posts="1" size="2" who="Pierre Brua " />
<person posts="1" size="2" who="Stuart Siu " />
<person posts="1" size="2" who="David Whysong " />
<person posts="1" size="2" who="Paul Rusty Russell " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Albert Cranford " />
<person posts="1" size="2" who="Peter Bosch " />
<person posts="1" size="2" who="tenthumbs " />
<person posts="1" size="2" who="Markus D&#246;hr " />
<person posts="1" size="2" who="Myles Uyema " />
<person posts="1" size="2" who="Agent Drek " />
<person posts="1" size="2" who="&quot;Marco Goebenich&quot; " />
<person posts="1" size="2" who="Citron " />
<person posts="1" size="2" who="Marc Espie " />
<person posts="1" size="2" who="Paul Menage " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Vojtech Pavlik " />
<person posts="1" size="2" who="Daniel Schepler " />
<person posts="1" size="2" who=" (Peter Benie)" />
<person posts="1" size="2" who="Glenn Attwood " />
<person posts="1" size="2" who="&quot;Marco Bano&quot; " />
<person posts="1" size="2" who="Momchil Velikov " />
<person posts="1" size="2" who="Paul Gortmaker " />
<person posts="1" size="2" who="&quot;Brian D. Haymore&quot; " />
<person posts="1" size="2" who="Vojtech Pavlik " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Brian Macy " />
<person posts="1" size="2" who="Steve Youngs " />
<person posts="1" size="2" who="&quot;Vernon H. Soden&quot; " />
<person posts="1" size="2" who="Jeff Noxon " />
<person posts="1" size="2" who="Paul Mackerras " />
<person posts="1" size="2" who="Ove Ewerlid " />
<person posts="1" size="2" who="root " />
<person posts="1" size="2" who="&quot;gong, changbin&quot; " />
<person posts="1" size="2" who="&quot;Adam J. Richter&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Vandoorselaere Yoann " />
<person posts="1" size="2" who="Randy McCaskill " />
<person posts="1" size="2" who="ronis " />
<person posts="1" size="2" who="&quot;Subramanya Srinivas C&quot; " />
<person posts="1" size="2" who="Denis Chapligin " />
<person posts="1" size="2" who="Emanuele Caratti " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Jose Miguel Pereira Tavares " />
<person posts="1" size="2" who="Thomas Davis " />
<person posts="1" size="2" who="a sun " />
<person posts="1" size="2" who="Paul Flinders " />
<person posts="1" size="2" who="Raju K V " />
<person posts="1" size="2" who="Ken Witherow " />
<person posts="1" size="2" who="John Hayward-Warburton " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Michael Mess " />
<person posts="1" size="2" who="&quot;Johan Kullstam&quot; " />
<person posts="1" size="2" who="Philip Blundell " />
<person posts="1" size="2" who="Xavier Leclercq " />
<person posts="1" size="2" who="&quot;Louis J. LaBash&quot; " />
<person posts="1" size="2" who="ramudu " />
<person posts="1" size="2" who="Brian Gerst " />
<person posts="1" size="2" who="&quot;Kamalov&quot; " />
<person posts="1" size="2" who=" (Lars Gullik Bj&#248;nnes)" />
<person posts="1" size="2" who="Martin Lucina " />
<person posts="1" size="2" who="Luis Montgomery " />
<person posts="1" size="2" who="&quot;Brent M. Smith&quot; " />
<person posts="1" size="2" who="Chris Wedgwood " />
<person posts="1" size="2" who="Michael Harnois " />
<person posts="1" size="2" who="Savochkin Andrey Vladimirovich " />
<person posts="1" size="2" who="David Cougle " />
<person posts="1" size="2" who="Stephen Rothwell " />
<person posts="1" size="2" who="Alan Cox " />
<person posts="1" size="2" who="Mike Panetta " />
<person posts="1" size="2" who="Adam Sulmicki " />
<person posts="1" size="2" who="Arjan van de Ven " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Tonglu Yi " />
<person posts="1" size="2" who="wang yong " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who=" (Linux User)" />
<person posts="1" size="2" who="Siddharth Srivastav " />
<person posts="1" size="2" who="Ted Gervais " />
<person posts="1" size="2" who="Patrick Schaaf " />
<person posts="1" size="2" who="Pete Zaitcev " />
<person posts="1" size="2" who="Linux Lists " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />

</stats>

<section
  title="SMP CPU-Binding Discussion"
  subject="[PATCH] Binding processes to selected CPUs"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9910_01/msg00239.html"
  posts="21"
  startdate="03 Oct 1999 00:00:00 -0800"
  enddate="15 Oct 1999 00:00:00 -0800"
>
<topic>SMP</topic>

<mention>Andrea Arcangeli</mention>
<mention>Matti Aarnio</mention>
<mention>Tim Hockin</mention>
<mention>Rik van Riel</mention>

<p>Avi Kivity posted a patch against 2.3.18, to allow processes to specify
which CPUs they may execute on. He added a small program to demonstrate the
feature. Rik van Riel pointed out that the patch added some time-heavy code
to <a
href="http://lxr.linux.no/source/kernel/sched.c?v=2.3.14#L159">goodness()</a>,
which is called once for each process on the runqueue for each reschedule.
Any code added to goodness() would slow down every part of the system. He
suggested setting the processor during a rebind instead.</p>

<p>Tim Hockin also pointed out that <a
href="http://isunix.it.ilstu.edu/~thockin/pset">pset</a> provided all the
functionality of Avi's patch and more. He added that it was under active
(though slow) development, and that as the author, he received daily emails
from users.</p>

<p>Elsewhere, Andrea Arcangeli asked why the feature would be needed, Avi said
he'd implemented it just in order to try his hand at kernel hacking. Andrea
replied that he thought his (Andrea's) SMP scheduling patch would optimize
better than merely assigning a process to a CPU. Avi did some benchmarks
maximizing the CPU migration penalty, and found that there was no benefit to
be gained from binding processes to specific CPUs, at least on smaller
machines. He wasn't sure if larger machines would show a difference or not.</p>

<p>Matti Aarnio objected that folks' perspectives tended to be too narrow. He
agreed that on UMA (Uniform Memory Access) machines, i.e. tightly-coupled
SMP systems, Avi's observations and benchmarks might well apply; but on NUMA
(Non-Uniform Memory Access) machines, which have fast access to local memory
but slower access to other memory, CPU-binding facilities would be very
useful.</p>

</section>

<section
  title="Big Devfs Discussion"
  subject="USB device allocation"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9910_01/msg00518.html"
  posts="631"
  startdate="03 Oct 1999 00:00:00 -0800"
  enddate="14 Oct 1999 00:00:00 -0800"
>
<topic>FS: devfs</topic>
<topic>USB</topic>

<mention>Alan Cox</mention>
<mention>Steffen Grunewald</mention>
<mention>Pavel Machek</mention>
<mention>Linus Torvalds</mention>

<p>This debate first came up in <kcref subject="RE: UUIDs (and devfs and
major/minor numbers)" startdate="10 Jun 1999 00:00:00 -0800"></kcref>. This time it started
innocently enough with a discussion of USB device number allocation. Pavel
Machek pointed out that USB was finally starting to get useful, which meant
it was time to allocate /dev entries for various USB devices. He allocated
32 entries for 16 devices, and Steffen Grunewald asked about other USB
devices like monitors, speakers, etc.; and Dan Hollis replied, <quote
who="Dan Hollis">The desperate need for devfs becomes all more
clear.</quote> At this point there was no turning back. The debate raged for
about a week and a half, generating over 600 posts. Linus Torvalds, although
back from vacation, posted nothing in any of the related threads; while Alan
Cox addressed his posts strictly to peripheral, technical details.</p>

</section>

<section
  title="Universal BIOS Problems"
  subject="2.3.20 will not boot"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9910_02/msg00507.html"
  posts="17"
  startdate="10 Oct 1999 00:00:00 -0800"
  enddate="14 Oct 1999 00:00:00 -0800"
>
<topic>PCI</topic>

<mention>Graham Murray</mention>
<mention>Tim Waugh</mention>
<mention>Horst von Brand</mention>

<p>Graham Murray tried 2.3.20 but found his kernel would oops during bootup. He
couldn't report the exact message because the text scrolled by too quickly;
Horst von Brand confirmed the problem, as did Tim Waugh. Tim stuck a
'for(;;)' in the code to freeze the system right after the oops, to catch
the text. He posted it to the list, and Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>It's a almost certainly a buggy
BIOS.</p>

<p>Not surprising, it's one of the issues we've always had - the 32-bit BIOS
interfaces tend to be buggy because they are never tested. When the PCI code
calls into the BIOS to find out the interrupt routing, the BIOS gets
confused and craps all over. The code to call into the BIOS for the irq
number is new as of 2.3.19 or so..</p>

<p>Martin, let's just change the defaults: NOT call the BIOS by default (and
maybe have a kernel command line to say "pciirq=bios" for the two people who
need it and have a working BIOS) because I'll bet this is not going to be
the only report on machines not booting when more people start testing. And
it's not as if we got the interrupt numbes wrong by just looking them up by
hand.</p>

<p>Getting a irq wrong occasionally is better than crashing mysteriously at
boot. A device may not work, but at least it is a lot more debuggable. And
it's probably (almost certainly) more likely that there are more broken
32-bit BIOS interfaces than there are broken machines where we have trouble
guessing the irq number without the BIOS.</p>

</quote>

<p>Alex Nicolaou tried to have it both ways, suggesting comparing the kernel's
results with the results of a BIOS call, and displaying an error if the two
disagreed. But Linus replied:</p>

<quote who="Linus Torvalds">

<p>It's not about "when you
disagree"..</p>

<p>If the BIOS is buggy and you call into it, the machine will crash. Hard.
There is no way to recover gracefully.</p>

<p>That's why I don't want BIOS calls. Every single time we've called a BIOS
routine (APM, standard PCI config routines, and now PCI interrupt info),
there has been a non-negligible subset of BIOSes that have been buggy enough
to crash the machine when called.</p>

<p>That's why parsing tables in memory is fine - when you parse the tables you
can at least try to recover from buggy tables.</p>

<p>Note that this is partially why I moved the APM stuff into a separate
process: it still crashes, but now a crashing BIOS can at least occasionally
be somewhat contained (I'm not saying it's secure or anything like that, but
the stupid random bugs that are due to the BIOS expecting DOS and Windows
data structures at certain addresses tend to cause a clean kill rather than
anything worse).</p>

<p>But I don't want to have something as critical as PCI scanning be dependent
on something that is known to be unreliable. Doing it by hand may be painful
too, but at least we can fix the bugs and we can analyze what goes wrong
when it is done by hand.</p>

</quote>

<p>Michael Cummins said, <quote who="Michael Cummins">I
bet you wish the bug reports generated from the buggy bioses problem ended
up in the BIOS manufacturer E-mail box, not yours,</quote> and Linus
replied:</p>

<quote who="Linus Torvalds">

<p>Well, the thing is that even if
they ended up there, they'd just shake their heads and say "tough luck".
Even if they cared enough to fix the bug for newer versions of their BIOS
(big if), that would still leave existing BIOSes with the bug. And while you
can update the BIOS on pretty much all modern machines (that didn't use to
be the case - remember EPROMs?), it's still not something most people want
to do..</p>

<p>And yes, it's a bad circle. Because BIOSes have been buggy in this area,
nobody uses them (including MS), so nobody tests them in real use, so they
never get fixed, so...</p>

<p>This is why it's best to consider the BIOS just a glorified loader and not
much more. Depend on it to set up the machine in a close to usable state,
but be ready to do everything else on your own.</p>

</quote>

</section>

<section
  title="IDE SMP Messiness In The Stable Series"
  subject="SMP-CPU + IDE-HD + 2.2.13pre15"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9910_02/msg00574.html"
  posts="7"
  startdate="10 Oct 1999 00:00:00 -0800"
  enddate="12 Oct 1999 00:00:00 -0800"
>
<topic>Disks: IDE</topic>
<topic>SMP</topic>

<p>Marc Duponcheel was getting an oops with 2.2.13pre15, and guessed that
<quote who="Marc Duponcheel">something generic between 2.2.13pre14 and
2.2.13pre15 has given rise to this SMP-CPU + IDE-HD conflict.</quote> Alan
Cox replied, <quote who="Alan Cox">It is trickier than that. The problem is
that 2.2.13pre14 has a deadlock condition in the IDE code for SMP.
2.2.13pre15 fixes the deadlock but opens a race condition in the request
handling. Trying to fix that looks like someone will finally have to fix the
locking in the ide driver and the request queue handling instead of
continually hacking up an existing bad job.</quote> He added, <quote
who="Alan Cox">And it won't be me...</quote></p>

<p>Andre Hedrick replied, <quote who="Andre Hedrick">I
heard you the first time..........sheesh.....</quote> He went on to explain,
<quote who="Andre Hedrick">Yes it is going to be
messy and long...... I am going to be out of pocket for two or three weeks
during a transition/relocation............so any initial grunt work would be
useful. Since the old guard is now effectively gone and not to return, I
dread going back into history to try and catch the races during the
introduction of SMP........2.1.90 -&gt; 95 was the intro date/kernel. Recall
that it was around 2.1.122 that offered to pick up the pieces and
go.......Thus I have been playing catchup from before day one.</quote></p>

<p>Alan said, <quote who="Alan Cox">I dont envy any one
trying to fix that IDE locking bug - its a nasty one.</quote> He went on,
<quote who="Alan Cox">I've been going through the
locking and its really hard to follow quite what is being locked in places.
The irq one is pretty nasty. We can't allow an IRQ to come in - even
momentarily during the lock and disable irq sequence, yet we can't disable
the irq with locks held as the IRQ might already be running. I have the
request queue stuff partly fixed now, I need to sort out the error
propogation bit.</quote></p>

<p>Digging in, Andre reported, <quote who="Andre Hedrick">I found several old __cli and ide__sti that dangle and never
set a spinlock. These are not paired either and get set and cleard in
different calls.</quote> Later in the same post, he added, <quote who="Andre
Hedrick">there are unlimited combinations of
deadlock that can randomly clear one or another by chance....you know the
old russian game...BANG!!!!</quote></p>

<p>Marc tried 2.2.13pre16 and reported, <quote who="Marc Duponcheel">The 2.2.13pre16 version 'fix' does work fine for several
hours now so *thanks* everybody for the work (to be?) done!</quote></p>

</section>

<section
  title="Paper On Fine-Grained OS Timers"
  subject="paper on fine-grained OS timers"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9910_02/msg00889.html"
  posts="1"
  startdate="12 Oct 1999 00:00:00 -0800"
  enddate="12 Oct 1999 00:00:00 -0800"
>
<topic>Networking</topic>

<p>Mohit Aron announced, <quote who="Mohit Aron">I'd
like to tell the Linux community about my paper entitled "Soft timers:
efficient microsecond software timer support for network processing" that's
going to appear in SOSP '99. The abstract for the paper is attached below.
The gzip'd postscript for the paper can be downloaded from <a
href="http://www.cs.rice.edu/~aron/papers/soft-timers.ps.gz">http://www.cs.rice.edu/~aron/papers/soft-timers.ps.gz</a></quote></p>

<p>He included an abstract:</p>

<quote who="Mohit Aron">

<p>This paper proposes and
evaluates soft timers, a new operating system facility that allows the
efficient scheduling of software events at a granularity down to tens of
microseconds. Soft timers can be used to avoid interrupts and reduce context
switches associated with network processing without sacrificing low
communication delays.</p>

<p>More specifically, soft timers enable transport protocols like TCP to
efficiently perform rate-based clocking of packet transmissions. Experiments
show that rate-based clocking can improve HTTP response time over
connections with high bandwidth-delay products by up to 89% and that soft
timers allow a server to employ rate-based clocking with little CPU overhead
(2--6%) at high aggregate bandwidths.</p>

<p>Soft timers can also be used to perform network polling, which eliminates
network interrupts and increases the memory access locality of the network
subsystem without sacrificing delay. Experiments show that this technique
can improve the throughput of a Web server by up to 25%.</p>

</quote>

</section>

<section
  title="Linus Weighs In On Direction Of PCI Development"
  subject="PCI patch for 2.3.21"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9910_02/msg01058.html"
  posts="6"
  startdate="13 Oct 1999 00:00:00 -0800"
  enddate="14 Oct 1999 00:00:00 -0800"
>
<topic>PCI</topic>
<topic>USB</topic>

<mention>Doug Ledford</mention>

<p>Martin Mares announced, <quote who="Martin Mares">If
you have any PCI related problems with 2.3.21, please try my new patch
available from <a
href="ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/alpha/l-pci-2.3.21.gz">ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/alpha/l-pci-2.3.21.gz</a>.</quote></p>

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

<ul>

<li>Added pci_set_power_state() for waking up and suspending of PCI devices.</li>

<li>Added pci_enable_device() to be called by PCI drivers before they
attempt to communicate with the device. Asks low-level code to enable the
regions and wakes up the device if it was suspended.</li>

<li>pci-i386: Enable the device only when asked by a driver, not
automatically. Except for machines with BuggyBIOS (TM), drivers should work
with no changes, I'll update them later.</li>

<li>Updated Documentation/pci.txt</li>

<li>pci-pc: Avoid IRQ 14 and 15.</li>

<li>devlist.h is now generated automatically from pci.ids, script included</li>

<li>pci-pc: Avoid asking BIOS for IRQ routing by default. Use "pci=biosirq"
switch to activate it manually.</li>

<li>pci-pc: Recognize secondary buses on Compaq and RCC bridges (thanks to
Doug Ledford for his 2.2 patch, I've only ported it to 2.3).</li>

<li>pci-pc: Avoid brute force peer bridge scans by default as it was
superceded by chipset-specific hooks and IRQ table tricks. Use "pci=peer" if
you really need it.</li>

<li>pci-i386: Don't try to manipulate resources of host bridges and
classless devices, they are usually very strange.</li>

</ul>

<p>Someone reported that with USB IRQ disabled in BIOS, they'd get a hard lock;
while with ESB IRQ enabled in BIOS, everything was fine. Regarding the
lock-up, Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>This seems to be due to the
excessively clever IRQ routing code that is new as of 2.3.19, which thinks
that it should fix up things that the BIOS left disabled.</p>

<p>Which is absolutely deadly, because the BIOS in this case apparently left
the irq routing disabled for a very good reason: it is probably routing the
USB IRQ into an SMI, and doing the magic "emulate old devices with USB" in
SMM mode thing.</p>

<p>When the new PCI code then changes the IRQ routing without being aware of
the two levels of drivers that are using the interrupts (the kernel driver
for a PS/2 mouse, and the SMM-mode BIOS driver that has the USB device
enabled), you end up with an endless stream of USB interrupts that go to the
wrong driver (which won't know what to do with them, so they'll keep coming
- PCI interrupts are level-triggered, and once they start with nobody to
shut them off they will just never stop).</p>

</quote>

<p>And regarding the nonlocking case, he went on:</p>

<quote who="Linus Torvalds">

<p>That's because when the USB irq is
enabled, the BIOS won't have activated the USB controller because it thinks
that the OS will handle the USB interrupt natively (you don't happen to have
the USB driver enabled, so in your case the OS will _not_ have enabled the
USB controller either, and you never get an endless stream of interrupts,
because in this case there won't be any confusion - the only driver that
will actually use irq12 is the PS/2 driver and it will be able to correctly
handle all incoming interrupts - none of the crossed wires as in the bad
case).</p>

<p>Martin, the 2.3.19 code must go.  It cannot be fixed up, and this cannot
continue.</p>

<p>Maybe NOW you understand why I have harped and harped on the issue of NOT
trying to fix up random PCI state without having the driver explicitly ask
for it? This is going to keep on happening as long as the PCI subsystem
continues to think that it can know what the "RightThing(tm)" to do is. But
the PCI subsystem really doesn't know enough in the absense of a driver, and
there may be some really good reason why an IO area is not mapped or an IRQ
is not enabled.</p>

<p>This is why missing interrupt routing stuff and missing IO mappings etc
should be enabled ONLY by the driver. Because by the time the driver enables
them, we know that they will be managed properly (or at least at that time
it can be considered a driver bug and fixed at the proper level). Not
before.</p>

</quote>

</section>

<section
  title="FPU Emulation"
  subject="PATCH: (on Alpha) emulating missing instructions"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9910_03/msg00012.html"
  posts="16"
  startdate="15 Oct 1999 00:00:00 -0800"
  enddate="16 Oct 1999 00:00:00 -0800"
>

<mention>Alan Cox</mention>

<p>Luke Deller and Daniel Potts patched the kernel to emulate some Alpha
instructions, and in the course of discussion, Alan Cox opined that the
kernel's floating-point emulation should probably have been done in
userspace. Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>I don't think you lived through
the horror of Minix and having user-space FP emulation. It's a horrible pain
- either overloading SIGFPE with all that implies, or another magic hidden
signal with ld.so loading a FP library on demand etc - and then core-dumps
tend to be impossible to figure out etc etc.</p>

<p>So it definitely was a lot better off in kernel space - the user space
solution would just have made everybody go slightly mad after the five
hundreth bug in some shared library configuration. With the kernel solution
there were no surprising interactions, just a lot of reasonably complex code
that had mostly been written earlier anyway.</p>

<p>HOWEVER, it may be that times have changed, and that it _now_ would be
better off in user space simply because it's almost never an issue any more,
and user space can do some hacks that you can't do in kernel space due to
security reasons etc.</p>

<p>At the same time it also doesn't really matter any more. I don't think the
FP emulator has been changed in the last year or so, and it works. It has
some slightly painful issues with fp state saving etc, but they are at least
_solved_ issues.</p>

</quote>

</section>

</kc>
