<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="38" date="11 Oct 1999 00:00:00 -0800" />

<intro>

<p>Well, a lot of people had problems with the formatting of last week's issue.
Actually it was just a &lt;pre&gt; tag around a very long line. Special
thanks go to Szabolcs Szakacsits, who identified this problem. Thanks,
Szaka! And thanks to everyone else who emailed me about it too. Your help is
very much appreciated.</p>

<p>Special thanks also to Peter Samuelson, who (yet again) pointed out some
significant errors. Thanks, Peter!</p>

</intro>

<stats posts="1131" size="4675" contrib="441" multiples="190" lastweek="152">

<person posts="62" size="176" who="Alan Cox " />
<person posts="42" size="146" who="Jes Sorensen " />
<person posts="29" size="97" who="Jamie Lokier " />
<person posts="24" size="99" who="Andrea Arcangeli " />
<person posts="19" size="105" who="&quot;Tom Livingston&quot; " />
<person posts="19" size="101" who="Andre Hedrick " />
<person posts="19" size="54" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="15" size="64" who="Jesse Pollard " />
<person posts="14" size="55" who="Jeff Garzik " />
<person posts="13" size="43" who="Jens Axboe " />
<person posts="12" size="70" who="Larry McVoy " />
<person posts="12" size="48" who=" (Rogier Wolff)" />
<person posts="12" size="39" who="&quot;Richard B. Johnson&quot; " />
<person posts="11" size="55" who="Nat Lanza " />
<person posts="10" size="38" who="David Weinehall " />
<person posts="10" size="38" who="Steve Underwood " />
<person posts="9" size="34" who="Ingo Molnar " />
<person posts="8" size="28" who="&quot;B. James Phillippe&quot; " />
<person posts="8" size="25" who="Pavel Machek " />
<person posts="8" size="24" who="Wakko Warner " />
<person posts="8" size="22" who=" (Guest section DW)" />
<person posts="7" size="48" who="&quot;David S. Miller&quot; " />
<person posts="7" size="28" who="Chuck Lever " />
<person posts="7" size="28" who="David Hinds " />
<person posts="7" size="23" who="Peter Hanecak " />
<person posts="7" size="21" who=" (david parsons)" />
<person posts="6" size="26" who="Thomas Molina " />
<person posts="6" size="24" who="Shawn Leas " />
<person posts="6" size="22" who="" />
<person posts="6" size="21" who="Andi Kleen " />
<person posts="6" size="21" who=" (H. Peter Anvin)" />
<person posts="6" size="16" who="&quot;Jones D (ISaCS)&quot; " />
<person posts="5" size="91" who="Pavel Machek " />
<person posts="5" size="35" who="Jordan Mendelson " />
<person posts="5" size="28" who=" (William Lash)" />
<person posts="5" size="27" who="Henner Eisen " />
<person posts="5" size="24" who="Oliver Xymoron " />
<person posts="5" size="22" who="Benjamin Scott " />
<person posts="5" size="22" who="Paul Rusty Russell " />
<person posts="5" size="22" who="&quot;WANG,YIDING (HP-SanJose,ex1)&quot; " />
<person posts="5" size="20" who="Alexander Viro " />
<person posts="5" size="17" who="Steve Dodd " />
<person posts="5" size="17" who="Matthew Wilcox " />
<person posts="5" size="16" who="&quot;Theodore Y. Ts'o&quot; " />
<person posts="5" size="16" who="Rik van Riel " />
<person posts="5" size="15" who="Matthew Jacob " />
<person posts="4" size="35" who="Tigran Aivazian " />
<person posts="4" size="27" who="Peter Miller " />
<person posts="4" size="27" who="Tim Waugh " />
<person posts="4" size="23" who="" />
<person posts="4" size="22" who="Chris Noe " />
<person posts="4" size="19" who="Richard Guy Briggs " />
<person posts="4" size="19" who="&quot;Petr Vandrovec Ing. VTEI&quot; " />
<person posts="4" size="18" who="Bear Giles " />
<person posts="4" size="17" who="&quot;Matthew J. Sullivan&quot; " />
<person posts="4" size="16" who="Patrick Mau " />
<person posts="4" size="15" who="Stephen Frost " />
<person posts="4" size="14" who="Steve Underwood " />
<person posts="4" size="14" who="Paul Flinders " />
<person posts="4" size="13" who="Stephan van Hienen " />
<person posts="4" size="13" who="&quot;Towers, Tim (London)&quot; " />
<person posts="4" size="13" who="Gerhard Mack " />
<person posts="4" size="13" who="&quot;Manfred&quot; " />
<person posts="4" size="12" who="Perry Wagle " />
<person posts="4" size="12" who="&quot;Pham, QuoiX&quot; " />
<person posts="4" size="12" who="Johannes Erdfelt " />
<person posts="4" size="12" who="Andreas Schuldei " />
<person posts="4" size="11" who="&quot;Stefan Monnier&quot; " />
<person posts="4" size="11" who="&quot;Bradley D. LaRonde&quot; " />
<person posts="4" size="11" who="Manfred Spraul " />
<person posts="4" size="10" who="Philip Blundell " />
<person posts="4" size="10" who="Alex Buell " />
<person posts="4" size="9" who="&quot;Garst R. Reese&quot; " />
<person posts="3" size="23" who="Patrick Schaaf " />
<person posts="3" size="23" who="Thomas Speck " />
<person posts="3" size="20" who="Kurt Huwig " />
<person posts="3" size="17" who="Konrad Rosenbaum " />
<person posts="3" size="16" who="Wade Hampton " />
<person posts="3" size="16" who="Leigh Orf " />
<person posts="3" size="14" who="&quot;Mike Black&quot; " />
<person posts="3" size="12" who="&quot;Edward S. Marshall&quot; " />
<person posts="3" size="12" who="Nate Riffe " />
<person posts="3" size="12" who="Michael Elizabeth Chastain " />
<person posts="3" size="12" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="3" size="11" who="Bret Indrelee " />
<person posts="3" size="11" who="Jeff Haumont " />
<person posts="3" size="11" who="Dennis Hou " />
<person posts="3" size="11" who="&quot;Nicholas R LeRoy&quot; " />
<person posts="3" size="11" who="Jim Niemira " />
<person posts="3" size="11" who="Stefan Eilemann " />
<person posts="3" size="10" who="Jens Benecke " />
<person posts="3" size="10" who="Andi Kleen " />
<person posts="3" size="10" who="Robert Redelmeier " />
<person posts="3" size="10" who="&quot;Mike A. Harris&quot; " />
<person posts="3" size="10" who="Chuck Campbell " />
<person posts="3" size="10" who="&quot;Magnus N&#228;slund(b)&quot; " />
<person posts="3" size="10" who="Richard Gooch " />
<person posts="3" size="10" who="Trond Myklebust " />
<person posts="3" size="9" who="&quot;Henrik Stolpe&quot; " />
<person posts="3" size="9" who="Peter Desnoyers " />
<person posts="3" size="9" who="Linux Lists " />
<person posts="3" size="8" who="Jos Hulzink " />
<person posts="3" size="8" who="Michael Bacarella " />
<person posts="3" size="8" who="Thomas Sailer " />
<person posts="3" size="7" who="" />
<person posts="3" size="7" who="Meelis Roos " />
<person posts="2" size="27" who="Martin Schenk " />
<person posts="2" size="22" who="Delman Lee " />
<person posts="2" size="14" who="Didier CONTIS " />
<person posts="2" size="12" who="Brian May " />
<person posts="2" size="11" who="Gerard Roudier " />
<person posts="2" size="10" who="&quot;Ram'on Garc'ia Fern'andez&quot; " />
<person posts="2" size="10" who="Tim Ricketts " />
<person posts="2" size="10" who="Richard Dynes " />
<person posts="2" size="9" who="David Olofson " />
<person posts="2" size="9" who="&quot;Dr. Michael Weller&quot; " />
<person posts="2" size="9" who="Casey Schaufler " />
<person posts="2" size="9" who="Mark Hagger " />
<person posts="2" size="9" who="Nathan Hand " />
<person posts="2" size="9" who="Brian A May " />
<person posts="2" size="9" who="Martin Weinberg " />
<person posts="2" size="8" who="Jeff Moyer USG " />
<person posts="2" size="8" who=" (G.W. Wettstein)" />
<person posts="2" size="8" who="Michael Cummins " />
<person posts="2" size="8" who="Ronald Wahl " />
<person posts="2" size="8" who="Lennert Buytenhek " />
<person posts="2" size="8" who="Nicholas Dronen " />
<person posts="2" size="8" who="Andreas Bombe " />
<person posts="2" size="8" who="Donald Jeff Dionne " />
<person posts="2" size="8" who="" />
<person posts="2" size="8" who="&quot;Barrett G. Lyon&quot; " />
<person posts="2" size="7" who="Paul Slootman " />
<person posts="2" size="7" who="Allen Brown " />
<person posts="2" size="7" who=" (Ton Hospel)" />
<person posts="2" size="7" who="Lars Christensen " />
<person posts="2" size="7" who="Michael Poole " />
<person posts="2" size="7" who="Dag Brattli " />
<person posts="2" size="7" who="Erik Mouw " />
<person posts="2" size="7" who="Horst von Brand " />
<person posts="2" size="7" who="&quot;Henning P. Schmiedehausen&quot; " />
<person posts="2" size="7" who="Nils Faerber " />
<person posts="2" size="7" who="" />
<person posts="2" size="6" who="Daniele Bernardini " />
<person posts="2" size="6" who="Robbert Muller " />
<person posts="2" size="6" who="Dale Amon " />
<person posts="2" size="6" who="Helge Hafting " />
<person posts="2" size="6" who="David Odin " />
<person posts="2" size="6" who="&quot;Derek J. Balling&quot; " />
<person posts="2" size="6" who="Marc Lehmann " />
<person posts="2" size="6" who=" (Casey Schaufler)" />
<person posts="2" size="6" who="&quot;Christopher E. Brown&quot; " />
<person posts="2" size="6" who="&quot;Mikkel Lauritsen&quot; " />
<person posts="2" size="6" who="Pavel Machek " />
<person posts="2" size="6" who="Florian Heinz " />
<person posts="2" size="6" who="&quot;Mark H. Wood&quot; " />
<person posts="2" size="6" who="Horst von Brand " />
<person posts="2" size="6" who="Pekka Pietikainen " />
<person posts="2" size="6" who="James Manning " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Martin Mares " />
<person posts="2" size="6" who="Jeroen Massar " />
<person posts="2" size="6" who="Phil Blecker " />
<person posts="2" size="6" who="Eric Lammerts " />
<person posts="2" size="6" who="Petko Manolov " />
<person posts="2" size="6" who="Harald Milz " />
<person posts="2" size="6" who="Helge Hafting " />
<person posts="2" size="6" who="Tim Hockin " />
<person posts="2" size="6" who="Matthew Kirkwood " />
<person posts="2" size="5" who="&quot;Albert D. Cahalan&quot; " />
<person posts="2" size="5" who="Enrico Weigelt " />
<person posts="2" size="5" who="Bernd Eckenfels " />
<person posts="2" size="5" who="Mark Hahn " />
<person posts="2" size="5" who="Momchil Velikov " />
<person posts="2" size="5" who="&quot;Theodore Y. Ts'o&quot; " />
<person posts="2" size="5" who="Jeff Epler " />
<person posts="2" size="5" who="Dave " />
<person posts="2" size="5" who=" (Patrick J. LoPresti)" />
<person posts="2" size="5" who="Mike Frisch " />
<person posts="2" size="5" who="&quot;casler, heather&quot; " />
<person posts="2" size="5" who="HELLRAiDER " />
<person posts="2" size="5" who="Mike " />
<person posts="2" size="5" who="Robert Cardell " />
<person posts="2" size="5" who="Graffiti " />
<person posts="2" size="5" who="Rui Sousa " />
<person posts="2" size="5" who="Ben Pfaff " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Marcelo Tosatti " />
<person posts="2" size="4" who="&quot;Tom Sutterfield&quot; " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="&quot;Bastian Stegen&quot; " />
<person posts="1" size="67" who="&quot;Alex&quot; " />
<person posts="1" size="40" who="Joseph Pranevich " />
<person posts="1" size="32" who="manfreds " />
<person posts="1" size="22" who="&quot;Joe Kellner&quot; " />
<person posts="1" size="20" who="&quot;Brian D. Wright&quot; " />
<person posts="1" size="20" who="Patrick Schaaf " />
<person posts="1" size="19" who="Petr Vandrovec " />
<person posts="1" size="18" who="Julian Anastasov " />
<person posts="1" size="15" who="&quot;Jonathan A. Davis&quot; " />
<person posts="1" size="14" who="Anant Kabra " />
<person posts="1" size="11" who="Nix " />
<person posts="1" size="11" who="&quot;G. Allen Morris III&quot; " />
<person posts="1" size="9" who="&quot;texelsoft&quot; " />
<person posts="1" size="8" who="Paul Cassella " />
<person posts="1" size="8" who="Simon Kirby " />
<person posts="1" size="8" who="Valentin Pavlov " />
<person posts="1" size="7" who="Scott Thomson " />
<person posts="1" size="7" who="Uwe Solleder " />
<person posts="1" size="7" who="Vincent Stemen " />
<person posts="1" size="7" who="Ming Lei " />
<person posts="1" size="6" who="phazer " />
<person posts="1" size="6" who="&quot;lirunbo&quot; " />
<person posts="1" size="6" who="Harald Koenig " />
<person posts="1" size="6" who="martinsk " />
<person posts="1" size="6" who="&quot;Stephen D. Williams&quot; " />
<person posts="1" size="6" who="CaT " />
<person posts="1" size="6" who="Bruce Tenison " />
<person posts="1" size="5" who="&quot;Administracao&quot; " />
<person posts="1" size="5" who="Tom Yates " />
<person posts="1" size="5" who="David Wragg " />
<person posts="1" size="5" who="Kurt Garloff " />
<person posts="1" size="5" who="&quot;Rafael D'Halleweyn&quot; " />
<person posts="1" size="5" who="Mike Tilstra " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Art Pina " />
<person posts="1" size="5" who="Sushil Agarwal " />
<person posts="1" size="5" who="Al Smith " />
<person posts="1" size="4" who="Anthony Towns " />
<person posts="1" size="4" who="Martins Krikis " />
<person posts="1" size="4" who="Dave Broudy " />
<person posts="1" size="4" who="Karsten Keil " />
<person posts="1" size="4" who="&quot;Ulrich Windl&quot; " />
<person posts="1" size="4" who="&quot;James Gurganus&quot; " />
<person posts="1" size="4" who="&quot;Brandon S. Allbery KF8NH&quot; " />
<person posts="1" size="4" who="Paul Gortmaker " />
<person posts="1" size="4" who="Jarno Paananen " />
<person posts="1" size="4" who="Ville Herva " />
<person posts="1" size="4" who="John Summerfield " />
<person posts="1" size="4" who="Chad Schwartz " />
<person posts="1" size="4" who="&lt; (Erik Bennett) " />
<person posts="1" size="4" who="Vojtech Pavlik " />
<person posts="1" size="4" who="Jimmie Mayfield " />
<person posts="1" size="4" who="Joel Becker " />
<person posts="1" size="4" who="&quot;Leonard N. Zubkoff&quot; " />
<person posts="1" size="4" who="David Ford " />
<person posts="1" size="4" who="Assassin " />
<person posts="1" size="4" who="CJones " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="&quot;Gabor Z. Papp&quot; " />
<person posts="1" size="4" who="Mikael Pettersson " />
<person posts="1" size="4" who="&quot;H . J . Lu&quot; " />
<person posts="1" size="4" who="Brian Swetland " />
<person posts="1" size="4" who="&quot;Martin Krzywinski&quot; " />
<person posts="1" size="4" who="Martin Lucina " />
<person posts="1" size="4" who="Stanislav Brabec " />
<person posts="1" size="4" who="&quot;Stephen D. WIlliams&quot; " />
<person posts="1" size="4" who="Arnaldo Carvalho de Melo " />
<person posts="1" size="4" who="Riley Williams " />
<person posts="1" size="4" who="&quot;Louis J. LaBash&quot; " />
<person posts="1" size="4" who="ani joshi " />
<person posts="1" size="3" who="Chuck Mead " />
<person posts="1" size="3" who=" (Kanoj Sarcar)" />
<person posts="1" size="3" who="Andreas Schuldei " />
<person posts="1" size="3" who="Drizzt " />
<person posts="1" size="3" who="&quot;gokhan sozmen&quot; " />
<person posts="1" size="3" who="mike burrell " />
<person posts="1" size="3" who="Nicola Bernardelli " />
<person posts="1" size="3" who="Yann DRONEAUD " />
<person posts="1" size="3" who="Audin Malmin " />
<person posts="1" size="3" who="Mario Mikocevic " />
<person posts="1" size="3" who="Rick Hohensee " />
<person posts="1" size="3" who="Paul Mackerras " />
<person posts="1" size="3" who="Werner Almesberger " />
<person posts="1" size="3" who="Bernhard Rosenkraenzer " />
<person posts="1" size="3" who="Vojtech Pavlik " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Thorsten Kranzkowski " />
<person posts="1" size="3" who="Andrzej Krzysztofowicz " />
<person posts="1" size="3" who="&quot;Rainer Mager&quot; " />
<person posts="1" size="3" who="Andrew Bartlett " />
<person posts="1" size="3" who="Malcolm Beattie " />
<person posts="1" size="3" who="&quot;Russell Foster&quot; " />
<person posts="1" size="3" who="&quot;W. Crooy&quot; " />
<person posts="1" size="3" who="&quot;D. Hugh Redelmeier&quot; " />
<person posts="1" size="3" who="Anton Ivanov " />
<person posts="1" size="3" who="Charles K Hardin " />
<person posts="1" size="3" who="&quot;Allen K. Smith&quot; " />
<person posts="1" size="3" who="Will Morton " />
<person posts="1" size="3" who="SK " />
<person posts="1" size="3" who="Moritz Franosch " />
<person posts="1" size="3" who="Eduardo Soriano " />
<person posts="1" size="3" who="Jon Bright " />
<person posts="1" size="3" who=" (H.J. Lu)" />
<person posts="1" size="3" who="Antoine DROUIN " />
<person posts="1" size="3" who="&quot;Homme R. Bitter&quot; " />
<person posts="1" size="3" who="David Luyer " />
<person posts="1" size="3" who="Gustav Kristoffer Ek " />
<person posts="1" size="3" who="&quot;Alex Butcher(linkern)&quot; " />
<person posts="1" size="3" who="Constantine Gavrilov " />
<person posts="1" size="3" who="&quot;Chris Jones&quot; " />
<person posts="1" size="3" who="Ryan Krebs " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Jim McQuillan " />
<person posts="1" size="3" who="Axel Bernal " />
<person posts="1" size="3" who="Ric Tibbetts " />
<person posts="1" size="3" who="Jan Kara " />
<person posts="1" size="3" who="David Forrest " />
<person posts="1" size="3" who="Chipzz " />
<person posts="1" size="3" who="Dan Hollis " />
<person posts="1" size="3" who="Jeffrey Hundstad " />
<person posts="1" size="3" who="Scott Marlowe " />
<person posts="1" size="3" who="Richard Dynes " />
<person posts="1" size="3" who="&quot;Gregory T. Norris&quot; " />
<person posts="1" size="3" who="Jasper Berlijn " />
<person posts="1" size="3" who="Lazarus Long " />
<person posts="1" size="3" who="Brian Grayson " />
<person posts="1" size="3" who="Jan Vroonhof " />
<person posts="1" size="3" who="Bethany Shifflett " />
<person posts="1" size="3" who="Andreas Dilger " />
<person posts="1" size="3" who="&quot;Steven N. Hirsch&quot; " />
<person posts="1" size="3" who="HA Quoc Viet " />
<person posts="1" size="3" who="Rob van Nieuwkerk " />
<person posts="1" size="3" who="Andrzej Krzysztofowicz " />
<person posts="1" size="3" who="Thierry Danis " />
<person posts="1" size="3" who="&quot;Alan Curry&quot; " />
<person posts="1" size="3" who=" (Arjan van de Ven)" />
<person posts="1" size="3" who="Tethys " />
<person posts="1" size="3" who=" (Alexander L. Belikoff)" />
<person posts="1" size="3" who="Jochen Friedrich " />
<person posts="1" size="3" who="Erick Kinnee " />
<person posts="1" size="3" who="Bruno Semrau " />
<person posts="1" size="3" who="Ian Abbott " />
<person posts="1" size="3" who="Jeff Garzik " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="DAVID BALAZIC " />
<person posts="1" size="3" who="Michael Meissner " />
<person posts="1" size="3" who="Timothy E Newsome " />
<person posts="1" size="3" who="Aaron Holtzman " />
<person posts="1" size="3" who=" (Zygo Blaxell)" />
<person posts="1" size="3" who="&quot;Diego S. Cicero&quot; " />
<person posts="1" size="3" who="Derek Fawcus " />
<person posts="1" size="3" who="Jeroen Massar " />
<person posts="1" size="3" who="&quot;Jarmo Paavilainen&quot; " />
<person posts="1" size="3" who="Eric Hanchrow " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="David Woodhouse " />
<person posts="1" size="3" who="Gabor Lenart " />
<person posts="1" size="3" who="Bored Bug Hunter " />
<person posts="1" size="3" who="Richard Scobie " />
<person posts="1" size="3" who="Jochen Friedrich " />
<person posts="1" size="3" who="Mikulas Patocka " />
<person posts="1" size="3" who="Kai Schulte " />
<person posts="1" size="3" who="Shankar Vasudevan " />
<person posts="1" size="3" who=" (Michael Shields)" />
<person posts="1" size="3" who="Erik Walthinsen " />
<person posts="1" size="3" who="&quot;Lou Grinzo&quot; " />
<person posts="1" size="3" who=" (Ruud de Rooij)" />
<person posts="1" size="3" who="German Jose Gomez Garcia " />
<person posts="1" size="3" who="Bret Indrelee " />
<person posts="1" size="3" who="JF " />
<person posts="1" size="2" who="Robert Dinse " />
<person posts="1" size="2" who="Fuzzy Fox " />
<person posts="1" size="2" who="&quot;BuzzBud&quot; " />
<person posts="1" size="2" who="Paul Mackerras " />
<person posts="1" size="2" who="Pascal Schmitt " />
<person posts="1" size="2" who="John Duthie " />
<person posts="1" size="2" who="&quot;John Hayward-Warburton (Programming account)&quot; " />
<person posts="1" size="2" who="&quot;Craig I. Hagan&quot; " />
<person posts="1" size="2" who="Dale Harris " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Florian Weimer " />
<person posts="1" size="2" who="Ren Haddock " />
<person posts="1" size="2" who="&quot;Sean Hunter&quot; " />
<person posts="1" size="2" who="Philip Blundell " />
<person posts="1" size="2" who="Admin Mailing Lists " />
<person posts="1" size="2" who="Andreas Unterkircher " />
<person posts="1" size="2" who="Andreas Gruenbacher " />
<person posts="1" size="2" who="Benjamin Herrenschmidt " />
<person posts="1" size="2" who="Niels Kristian Bech Jensen " />
<person posts="1" size="2" who="David DeGeorge " />
<person posts="1" size="2" who="Derek Wildstar " />
<person posts="1" size="2" who=" (John Alvord)" />
<person posts="1" size="2" who="&quot;Giuliano Pochini&quot; " />
<person posts="1" size="2" who="akpm " />
<person posts="1" size="2" who="Arjan van de Ven " />
<person posts="1" size="2" who="Zach Brown " />
<person posts="1" size="2" who="Tomasz Motylewski " />
<person posts="1" size="2" who="Alex Nicolaou " />
<person posts="1" size="2" who="Joerg Diederich " />
<person posts="1" size="2" who="Martin Mares " />
<person posts="1" size="2" who="Benjamin LaHaise " />
<person posts="1" size="2" who="Jeremy Katz " />
<person posts="1" size="2" who="Ian Soboroff " />
<person posts="1" size="2" who="Heinz Diehl " />
<person posts="1" size="2" who="Matti Aarnio " />
<person posts="1" size="2" who="peter karlsson " />
<person posts="1" size="2" who="Peter Monta " />
<person posts="1" size="2" who="David Lang " />
<person posts="1" size="2" who="Ari Pollak " />
<person posts="1" size="2" who="news at janux " />
<person posts="1" size="2" who="Benno Senoner " />
<person posts="1" size="2" who="Alain Borel " />
<person posts="1" size="2" who="Ron Flory " />
<person posts="1" size="2" who="Jean-Daniel Pauget " />
<person posts="1" size="2" who="Joshua Brandon Myer " />
<person posts="1" size="2" who="&quot;Ph. Marek&quot; " />
<person posts="1" size="2" who="Marnix Coppens " />
<person posts="1" size="2" who="Fabrice Premel " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Oystein Viggen " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Greg Ingram " />
<person posts="1" size="2" who="&quot;Robert A. Hayden&quot; " />
<person posts="1" size="2" who="&quot;Raj, Ashok&quot; " />
<person posts="1" size="2" who="Russell Foster " />
<person posts="1" size="2" who="Krzysztof Halasa " />
<person posts="1" size="2" who="Jan Vicherek " />
<person posts="1" size="2" who="&quot;christophe leroy&quot; " />
<person posts="1" size="2" who="Jonathan Disher " />
<person posts="1" size="2" who="David Howells " />
<person posts="1" size="2" who=" (Jonathan Corbet)" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who=" (Miquel van Smoorenburg)" />
<person posts="1" size="2" who="Tonglu Yi " />
<person posts="1" size="2" who="Ralf Gerbig " />
<person posts="1" size="2" who="Adam Sulmicki " />
<person posts="1" size="2" who="Andrej Todosic " />
<person posts="1" size="2" who="meridian " />
<person posts="1" size="2" who="Daniel Wirth " />
<person posts="1" size="2" who="Ted Gervais " />
<person posts="1" size="2" who="Adam Fritzler " />
<person posts="1" size="2" who="Song Jianping " />
<person posts="1" size="2" who="Andreas Jellinghaus " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="L Parthipan " />
<person posts="1" size="2" who="&quot;I'm too cool to read BitchX.doc *&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="1" who="f5ibh " />

</stats>

<section
  title="Reproducible 2.2.12 SMP Crashes Hunted"
  subject="IDE + SMP Lockup (no OOPS) in 2.2.12, 2.2.10"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9909_03/msg01179.html"
  posts="40"
  startdate="13 Sep 1999 00:00:00 -0800"
  enddate="04 Oct 1999 00:00:00 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>Modems</topic>
<topic>Networking</topic>
<topic>PCI</topic>
<topic>SMP</topic>

<mention>Benjamin LaHaise</mention>

<p>Tom Livingston was experiencing regular crashes on the latest stable kernels
compiled with SMP, including 2.2.12; he described his system:</p>

<quote who="Tom Livingston">

<p>Abit BP-6 dual 366
celerons, 128MB PC100 RAM, redhat 6.0, 12 ide disks attached (to primary
PIIX4 and three PCI PDC20246's... note, I am NOT using the onboard HPT-366),
3com 3c905b 100mbit ethernet</p>

<p>I have two other very similar systems, both Abit BP-6 dual celeron 366,
128MB RAM, 3c905b's, redhat 6.0, 2.12.12 but using Tekram 390F controllers
and UW SCSI disks + raid, and they are both 100% stable.</p>

</quote>

<p>Benjamin LaHaise confirmed the problem, saying that his PDC20246 with drives
on either channel would reproducibly lock up under SMP.</p>

<p>Stephan van Hienen also confirmed the problem. He was running in UP mode
because SMP would crash his system immediately. He posted the details of his
system:</p>

<pre>Asus P2B-D
+ 2 * Promise UDMA/66 controllers
+ 1 * Adaptec 2940UW
+ 1 * 3com 3c905b
and dual p2-450 / 512mb ram
+ 1 * 9.1u2w ibm scsi hd
+ 5 * 25gb ibm ide hd (1 on the onboard controller
and 4 on the promise controllers)</pre>

<p>Mario Mikocevic replied, confirming the problem. His sysem:</p>

<pre>Dual P2 350
mixed IDE + aic7xxx
2 x 4.5GiB IBM SCSI
1 x 2GiB IDE</pre>

<p>He explained, <quote who="Mario Mikocevic">Hangs
(without _any_ output even SysRq) started when I added another 64MiB DIMM to
already existing 64MiB one. I thought, bad RAM. Replaced it, the same. I've
spent whole day changing all possible combinations of 64MiB DIMMs and every
time with 64+64 it wouldn't run into 10min of uptime. Sometimes it hang on
fsck, sometimes later. The very same 64MiB DIMMs when used alone worked
fine. Day after (today :) I aquired 128MiB DIMM piece. Hangs all around
place. _never_ in the same place of booting ! Ofcourse kernel is 2.2.12,
compiled for SMP on RH5.2 box with all updates, running as web and dns
server.</quote></p>

<p>Alan Cox also replied to Stephan, asking if this was happening with straight
2.7.2; if so he was very interested in debugging it. Stephan replied that he
was using version 2.91.66; Andre Hedrick gave a recipe for tracking down the
problem:</p>

<quote who="Andre Hedrick">

<p>I know about this, but not
a clue to resolve the issue. I have brought up the issue with Promise and
they are working with me. There is a duplicate issue with M$'s NT, I hope to
get the method of resolution to this problem and not "miniport" code.</p>

<p>First test to verify the problem, build another kernel that is UP. Include
raid and rag the hell out of the box. This should not fail, based upon other
test reports.</p>

<p>If the box throttles in UP, the driver core is RAID UP Stable.</p>

<p>Second, disable RAID under SMP and push a sequencal access on the last two
channels.</p>

<p>What is the irq routing table for this board?
Did you remove all the Promise BIOS chips execpt for the one that
registers hde/f/g/h ?</p>

<p>Have you patched with "ide.2.2.12.19990921.patch.bz2"?
New Promise OEM support.</p>

<p>You are required to set these for more than two cards.<br />
CONFIG_BLK_DEV_PDC202XX=y<br />
PDC202XX_FORCE_BURST_BIT=y</p>

</quote>

<p>Tom (the original poster) replied that yes, UP mode with RAID was fully
stable. He disabled RAID and enabled SMP and got the hard lockup again.
Regarding Andre's IRQ routing question, Tom tried many configurations but
was unable to reproduce the lockup with any configuration of IRQ overlays.
He added that he had not been using the ide.2.2.12.19990921.patch.bz2 patch
because it hadn't been released when he was doing his tests; and all his
tests had<br />
CONFIG_BLK_DEV_PDC202XX=y<br />
PDC202XX_FORCE_BURST_BIT=y<br />
properly set.</p>

<p>Tom was just getting warmed up. He described his grusome dissections:</p>

<quote who="Tom Livingston">

<p>Ok, so what have I been
doing since I first reported this?</p>

<p>The box that I reported these lockups against is basically a production box.
It's an 80 gig RAID array, so you know we must be using it for something ;)
To make things worse, it is colocated at an ISP. After I reported the
problems, I pretty much had to set it to UP mode and let it run.</p>

<p>However, I have two other abit BP6 based development systems, and my intent
is to try to duplicate these results with one of these. They are local to
me, and can be fucked with without worries.</p>

<p>They are both Tekram based SCSI system, however, so some modifications were
needed. I have temporarily claimed two 14G IBM 7200 udma33 drives for
testing, and I ordered two PDC20246's to put in to round out the picture.</p>

<p>So far, I haven't been able to get this configuration to crash.  But I fear
it's for lack of volume running through the controllers. I hooked up one IBM
drive each to the two PDC controllers, and ran it with equal load on the
hard disks, but no crashes.</p>

<p>I am going to break apart the rest of my computers here in an attempt to
borrow three more IDE drives (two maxtors, and a quantum). I'm going to hook
these up so that I have a disk as hda, and one disk on each of the promise
channels. I'll then test with the vanilla kernels and with the
ide.2.2.12.19990921.patch.bz2 patch and see if I can get it to crash. My
guess is that 5 drives, working most of the channels... will be able to
produce the same results.</p>

<p>I'll be doing these tests in the next few days, so I will relay my
results.</p>

</quote>

<p>A few days later, he reported his progress:</p>

<quote who="Tom Livingston">

<p>As an update, I have
succeeded in getting both of the boxes to crash very repeatedly. The trick
turns out to be running drives on both interfaces on a PDC20246. With SMP
enabled and concurrent access to both disks, the machine locks up almost
immediately. It doesn't have to have more than one PDC20246, or more than
two ide drives attached.</p>

<p>Though the normal kernel doesn't produce an oops, I am able to get an NMI
OOPS with 2.2.12 + ikd + NMI oopser. However, I must obtain a null modem
cable to capture the OOPS before I can decode it an forward the results.
Hopefully that will be tomorrow.</p>

<p>kernels that crash this way: (all smp) 2.2.12 vanilla, 2.2.12 + ide,
2.2.13pre12, 2.2.10</p>

<p>kernels that don't crash: (any UP), anything pre 2.2.6 (I will also test
2.2.7-9 for my full report)</p>

<p>I write prematurely just in case you are working on tracking this down.
Since I've done it on three machines now, it might be reproducible on your
hardware Andre. I think SMP + PDC20246 with two drives attached will cause
it reliably.</p>

<p>Like I said, I will write as soon as possible with more kernel tests and the
decoded OOPS that ikd generates.</p>

</quote>

<p>The thread seemed dead for about a week thereafter, until Stephan asked what
the status of the bug was, and Alan replied, <quote who="Alan Cox">Having
read the IDE code in detail chasing some other bugs I think there are a list
of things that need fixing before we get into the "why does it still not
work" case</quote></p>

<p>Andre also replied to Stephan, saying:</p>

<quote who="Andre Hedrick">

<p>I just now have a way to
produce the crash as of tonight. What I need to know is what parallel races
are we referring/hunting and against which kernels?</p>

<p>Alan just pointed out one location last night. It is now 10:00pm here and I
have about 4 hours of brain left. I will check back in about 15 minutes. I
am off to grab AC's latest and see what "Andrea A." has to offer about
finding the races.</p>

</quote>

<p>Tom and Alan had a brief staircase at this point, resulting in Alan
uncovering the nature of the bug. Tom posted oopsen from his tests, and
said:</p>

<quote who="Tom Livingston">

<p>I have seen one race.  At
this point it appears to me that any time you have concurrent access to two
ide channels sharing the same interrupt while running SMP. As you see below,
I have duplicated with the hpt-366 controller as well.</p>

<p>I have tried:</p>

<p>2.2.6 (with or without ide patch): works in SMP mode</p>

<p>2.2.7 (same): works in SMP (as I remember, haven't tested recently)</p>

<p>2.2.[89] : haven't tested</p>

<p>2.2.10 and later: crashes in SMP mode</p>

<p>2.2.12 +</p>

<p>2.3.18: crashes in SMP mode</p>

<p>It would seem that is actually a generic ide/smp bug, and not one that is
promise controller specific. I was able to cause the same behavior tonight
with the onboard hpt-366 controller.</p>

<p>kernel: 2.2.12 + ide.2.2.12.19990925.patch.gz + 2.2.12-ikd1.gz</p>

<p>Tested normal crashing setup, one drive on each channel of pdc20246.  Got
normal ikd NMI oopser oops. Looked like the other one I reported. oops is
attached as text file.</p>

<p>Then I moved the drives, one per channel to the onboard hpt-366.  I had
previously commented out the two lines in ide-pci.c at line 630 that say:</p>

<pre>if (dev2 &amp;&amp; hpt363_shared_irq)
   return;</pre>

<p>so that I could enable the second channel for the test.</p>

<p>I did my standard crashme (which I have simplified to 'dd if=/dev/hdi
of=/dev/null &amp; dd if=/dev/hdk of=/dev/null' you only need one block each to
trigger the crash) and got what looks like to me the same lockup as the
pdc20246 with the hpt-366. This oops is also attached.</p>

<p>I retested this configuration in UP mode and found it completely stable even
with the 2nd channel disabling removed. My abit bp-6 bios is the original LP
revision, I have never flashed. Board is a "newer" board, bought about
8/1... it has plastic cpu handles as opposed to metal, like my first one
bought in early june. I cannot see any silk screening indicating revision on
the board.</p>

<p>I was thinking that this might have caused your impression that there is a
buggy chipset/revision out there that needs this 2nd channel disabled on the
hpt-366. Or is it two bugs? One is the motherboard, and if that's OK you
still have the multichannel + smp bug?</p>

</quote>

<p>This was all Alan needed. He analyzed the oopsen and said:</p>

<quote who="Alan Cox">

<p>Ok whats happened is this</p>

<pre>                CPU0                            CPU1
          take hwgroup spinlock
                                        take an irq
          disable_irq
          [wait for IRQ completion]
                                        try to take hwgroup spinlock</pre>

</quote>

<p>Based on this, Tom posted a patch that stopped the crashes, though he
acknowledged that there could very well be problems with it that he couldn't
see. Alan replied, <quote who="Alan Cox">That proves
the diagnosis which is good. I was trying to work out if it was safe or not
but the code needs a bit of cleaning up before I could be sure.</quote> At
this point the discussion skewed off into other topics.</p>

</section>

<section
  title="ext3 Filesystem Status; ACLs"
  subject="Ext3 filesystem info?"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9909_03/msg00295.html"
  posts="77"
  startdate="16 Sep 1999 00:00:00 -0800"
  enddate="28 Sep 1999 00:00:00 -0800"
>
<topic>Access Control Lists</topic>
<topic>Backward Compatibility</topic>
<topic>FS: Coda</topic>
<topic>FS: NTFS</topic>
<topic>FS: ext2</topic>
<topic>FS: ext3</topic>
<topic>POSIX</topic>

<mention>Miquel van Smoorenburg</mention>
<mention>Jesse Pollard</mention>
<mention>Alex Buell</mention>

<p>Someone asked about the status of the ext3 filesystem. Miquel van
Smoorenburg gave a pointer to Stephen C. Tweedie's <a
href="ftp://ftp.linux.org.uk/pub/linux/sct/fs/jfs/">FTP directory</a>, and
Theodore Y. Ts'o explained:</p>

<quote who="Theodore Y. Ts'o">

<p>There is a 0.01 release
which came out 1-2 weeks ago. It was against 2.2.2, and has bugs which have
since been fixed. I imagine that Stephen will be releasing a new version
fairly shortly.</p>

<p>So the good news is that most of the code has been written but we still need
to do some bugfixing (and bug finding) before it will be completely
production ready.</p>

</quote>

<p>Later, he added, <quote who="Theodore Y. Ts'o">Note
that the 0.0.1 release has a number of caveats; it only works on Linux
2.2.2, and if used as your root filesystem, it will turn /dev into a socket.
:-)</quote> and concluded, <quote who="Theodore Y. Ts'o">you may want to wish for Stephen's next version, which will
fix a number of bugs and will port things to 2.2.12.</quote></p>

<p>Stephen gave some more details:</p>

<quote who="Stephen C. Tweedie">

<p>0.0.2 over the
weekend is the plan. I've fixed all of the known bugs except for one, but
that one requires a bit of a reworking of how I track committed buffers
which are still needed by the transaction code. Once that is done I expect
to have a version which is pretty stable against the 2.2.2 kernel. I already
have a 2.2.12 version of the 0.0.1 code done so merging the 2.2.2 fixes into
the 2.2.12 stream should not be hard.</p>

<p>Currently the released journaling code journals everything, including data.
That is deliberate: journaling metadata only turns out to be _lots_ more
complex (hint---what happens if you delete a block of metadata and
reallocate it as data or vice-versa), so although all of the necessary
support is there in the journaling layers, the released ext3 code does not
do metadata-only journaling yet.</p>

<p>Once people have had a chance to thrash out any bugs left in the 0.0.2 code,
I'll enable the metadata-only journaling and we can all watch the pretty
fireworks as filesystems all over the planet explode in a curious and
interesting manner...</p>

</quote>

<p>Elsewhere, Alex Buell asked if there would be tools to convert from ext2 to
ext3, and Ted replied, <quote who="Theodore Y. Ts'o">No real tools are needed; it's just a matter of mount -t
ext3 with an appropriate mount option to ask it to create the journal inode.
After you unmount an ext3 volume with journaling, you'll be able to mount it
using ext2. Some future extensions (like B-tree directories) change this in
the future, but if you're only using journalling, it's completely backwards
compatible.</quote></p>

<p>Stephen was more circumspect, and replied to Alex:</p>

<quote who="Stephen C. Tweedie">

<p>That isn't finalised.
I _might_ make the ext3 journal use a reserved inode, but right now there
isn't actually a difference between ext2 and ext3. You just create a journal
file on the ext2 filesystem and tell the kernel where to find it. Then when
you mount it as ext3, everything is automatically journaled to that file.</p>

<p>If you uncleanly shutdown, then the ext3 filesystem will have a
compatibility flag set in the superblock to prevent you from remounting it
as ext2 without doing a recovery step first. Once that is done, it becomes
mountable as ext2 again.</p>

</quote>

<p>Elsewhere, someone changed the subject, asking if there was any chance of
seeing Access Control Lists (ACLs) in the near future. Stephen gave a link
to the <a href="http://aerobee.informatik.uni-bremen.de/acl_eng.html">Group
ACL For ext2 In Live</a> page, and there followed a big implementation
discussion. Jeff Haumont asked if the CODA project would have the same ACL
commands as ext2. Jesse Pollard opined that ACL code should move into the
Virtual Filesystem (VFS) layer, leaving the question of support up to
individual filesystem implementations. This, he felt, would allow a common
set of user utilities and user-to-OS interface. But Theodore Y. Ts'o pointed
out:</p>

<quote who="Theodore Y. Ts'o">

<p>The problem is that
different, already established filesystems: AFS, Coda, NTFS, etc., all have
different ACL semantics. For example, AFS only has an ACL on a per-directory
basis. I'm not sure about Coda, but it may be the same as AFS. NTFS uses 128
bit UUID's in its ACL's to name users and groups. The POSIX acl interface
uses uid_t and gid_t for user and group id's.</p>

<p>So it would be *nice* to do this, but there's quite a lot of design work to
make the interfaces similar enough that a single interface could be used at
both the UI and system call level. I won't say that it's impossible, but
it's definitely non-trivial.</p>

</quote>

<p>Oliver Xymoron added, <quote who="Oliver Xymoron">Not
to mention that auditing a system using ACLs for security is *much* more
difficult. And that such a system would break all mature UNIX tools' notions
of what is secure. ACLs tend to be an answer for people who are asking the
wrong question anyway.</quote></p>

<p>Stefan Monnier replied, <quote who="Stefan Monnier">No, they simply ask a different question. ACLs should
normally not be used for the part that one might want to audit, but they'll
be used for all kinds of cases where one wants to share some info with some
persons. How can you give read access to some persons, and write access to
some others without ACLs?</quote> Jesse Pollard also felt there was no other
way to grant fine-grained permissions without ACLs. Benjamin Scott agreed
with Oliver that, <quote who="Benjamin Scott">As far
as existing tools and auditing techniques go, yes, ACLs are outside their
domain,</quote> but added that, <quote who="Benjamin Scott">There are a number of things that ACLs let you do, that
standard UNIX security does not. I would even argue that ACLs can lead to
better security, as it allows you to specify combinations which would be
difficult or impossible with traditional UNIX mechanisms.</quote></p>

</section>

<section
  title="A Use For Winmodems"
  subject="Turning lucent winmodem into soundcard"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9909_03/msg00385.html"
  posts="82"
  startdate="16 Sep 1999 00:00:00 -0800"
  enddate="28 Sep 1999 00:00:00 -0800"
>
<topic>Modems</topic>
<topic>Sound</topic>

<mention>Pavel Machek</mention>
<mention>H. Peter Anvin</mention>

<p>Pavel Machek got Lucent winmodems to do something useful. With his driver
they can be used as soundcards. H. Peter Anvin asked if it could handle
telephone hangups, ring detects, and so on; if so, he suggested it might
make a usable answering machine. Jamie Lokier replied, <quote who="Jamie
Lokier">It currently handles detecting dial tone,
busy tone, and a few other things, using the on board DSP. Dialing and
hangup are done properly. It is not quite ready to be an answering machine,
but nearly. Full tone detection, ring detection and so on is coming
soon.</quote> There followed some implementation discussion.</p>

</section>

<section
  title="Some History And Explanation Of Kernel Configuration"
  subject="bug in 2.3.18ac9 net/Config.in"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9909_04/msg00823.html"
  posts="29"
  startdate="27 Sep 1999 00:00:00 -0800"
  enddate="28 Sep 1999 00:00:00 -0800"
>
<topic>Kernel Build System</topic>
<topic>Microsoft</topic>

<mention>Eric Youngdale</mention>

<p>Someone found an "if" without a "then" in a kernel configuration script. Jes
Sorensen replied, <quote who="Jes Sorensen">the questions is really why
nobody fixes menuconfig instead. It seems that for every little irrelevant
change either menuconfig or xconfig breaks for whatever stupid thing. If the
situation is not improved we really should remove them from the kernel tree,
they seem to cause more grief than good.</quote> Alan Cox replied, <quote
who="Alan Cox">There is a spec. The spec says net/Config.in is wrong. End of
debate.</quote></p>

<p>Michael Elizabeth Chastain also replied to Jes, giving this fascinating
explanation of the past, present, and potential future of kernel
configuration:</p>

<quote who="Michael Elizabeth Chastain">

<p>I've got
insomnia so you get a long answer.</p>

<p>First, on a literal level, leaving out a "then" keyword is not a "little
irrelevant change". Documentation/kbuild/config-language.txt is the
specification for Config Language. Based on legacy "bash" syntax, the Config
Language syntax specifies that an "if" statement must have a "then" keyword.</p>

<p>So I think the real question is "how come Menuconfig doesn't print out
informative syntax errors?" Because if it did, then the people who write
Config.in scripts with syntax errors would get error reports before
submitting their patches to Alan or Linus.</p>

<p>The problem goes back a long, long ways to the use of ad hoc scripts for
kernel configuration.</p>

<p>First there was some old 'Configure' shell script, which I've never seen.
Then sometime in 1993, or even earlier, Raymond Chen of Microsoft wrote the
current 'Configure' script.</p>

<p>Next, Eric Youngdale wrote a very kludgy Config.in-&gt;tk translator, which
works OK most of the time. So you have a choice: you can run the reliable
but awkward text-mode script written by a Microsoft engineer, or you can run
the flashy, crashy windowing version from somebody else. (Ironic, isn't it?)</p>

<p>After that, William Roadcap (not from Microsoft) wrote Menuconfig, which is
a super kludge of a language interpreter, but wow does it have a nice curses
interfaces. Mr. Roadcap disappeared, I took responsibility, I fixed a lot of
bugs in Menuconfig, and then I semi-disappeared too.</p>

<p>These ad hoc script interpreters simply do not scale up to the size of the
development community. Some poor guy trying to add something to the network
drivers omits a required keyword and instead of a nice syntax error, dozens
of people get a mysterious message. As you noticed, this happens several
times a year.</p>

<p>Here is the second Microsoft-ish irony:</p>

<p>&lt;flame-bait&gt;</p>

<p>Linux developers have high standards for the work they produce, but when it
comes to the tools they use to do their *own* work, they value features and
familiarity and speed more than correctness.</p>

<p>&lt;/flame-bait&gt;</p>

<p>Don't believe me?  Read scripts/Menuconfig, figure out what the hell it's
doing (including the magic awk script in the middle), and then ask yourself
if Linus would knowingly accept a driver or a filesystem that behaves so
randomly in the presence of errors. But the kbuild procedure is full of this
kind of shit: CONFIG_MODVERSIONS, "make modules_install", three different
configuration parsers, configuration parameters tucked into the Makefiles.</p>

<p>I believe the right fix is a real grammar, written in bison, with real
syntax checking and real error messages. I have one in progress with a
generic back-end and a curses front-end. I've actually configured and built
kernels with it. Jim Bray is working on a gtk front-end for it.</p>

<p>The code's been available for eight months now and I've gotten some interest
in it. Menuconfig is not well-loved among its captive audience (more
Microsoft parallels).</p>

<p>My new mconfig runs in about 5% of the CPU time of Menuconfig. (I developed
it on a 486, a *slow* 486, so I made it fast, *very* fast). But forget about
the speed. The nicest part of mconfig is that when I ran it on 2.3.18ac9
tonight, it said:</p>

<pre>    net/Config.in: 70: parse error</pre>

<p>What I really need now is a block of hacking time, about 2-4 weeks long, to
bring it to a usable level. I expect to use my winter vacation to do this.</p>

<p>Then I am going to try to put Menuconfig out of business.  Also Configure
and Xconfig, too. Not by taking them away from people -- but by offering
something that they prefer to run so that the old ones die from lack of
users.</p>

<p>Work in progress:</p>

<pre>    <a href="ftp://ftp.shout.net/pub/users/mec/experimental/mconfig-0.15.tar.gz">ftp://ftp.shout.net/pub/users/mec/experimental/mconfig-0.15.tar.gz</a></pre>

<p>I actually *don't* want much feedback on this yet.  I'm just putting it up
so people can see the direction I'm going.</p>

</quote>

<p>There were mixed reactions to this post. Some folks felt Michael was wrong
to try to get rid of the older configuration methods, but that those methods
("make menuconfig" and "make xconfig" should be fixed instead).</p>

</section>

<section
  title="Version Control System Flamewar"
  subject="The Linux Kernel Project Management System (INITIAL PROPOSAL)"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9909_04/msg00858.html"
  posts="38"
  startdate="27 Sep 1999 00:00:00 -0800"
  enddate="29 Sep 1999 00:00:00 -0800"
>
<topic>Version Control</topic>

<mention>Larry McVoy</mention>
<mention>Jordan Mendelson</mention>

<p>Jordan Mendelson opened a big can of worms when he posted a long proposal
suggesting the Open Source <a
href="http://www.canb.auug.org.au/~millerp/aegis/aegis.html">Aegis
version-control/bug-tracking system</a>. Later, he gave a link to a <a
href="http://kernelnotes.org/lnxlists/linux-kernel/lk_9903_04/msg00650.html">March
1999 proposal on linux-kernel</a> by Aegis' author Peter Miller, who also
participated in the discussion this time.</p>

<p>The battle was joined when Larry McVoy started pushing his commercial <a
href="http://www.bitkeeper.com/">BitKeeper</a> project. An ugly flamewar
quickly ensewed.</p>

<p>Larry's main points seem to be:</p>

<ul>

<li> BitKeeper solves the technical problems better than any other system </li>

<li> BitKeeper has to be commercial in order to pay for further development </li>

<li> BitKeeper would become GPLed in the event that a particular web server
on the West Coast went down for more than six months at a time. </li>

</ul>

<p>The main points of BitKeeper detractors seem to be:</p>

<ul>

<li> BitKeeper is not Open Source </li>

<li> BitKeeper is currently vaporware (nothing has yet been released) </li>

<li> BitKeeper is not Open Source </li>

<li> Larry's motivation is profit-driven rather than Linux-driven </li>

<li> BitKeeper is not Open Source </li>

<li> BitKeeper is not Open Source </li>

</ul>

</section>

<section
  title="Some Discussion Of Windows 2000 Spinlocks"
  subject="possible spinlock optimizations"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9909_04/msg01005.html"
  posts="38"
  startdate="28 Sep 1999 00:00:00 -0800"
  enddate="02 Oct 1999 00:00:00 -0800"
>
<topic>Assembly</topic>
<topic>SMP</topic>

<p>Someone gave a pointer to an article on <a
href="http://www.numega.com/drivercentral/resources/spinlocks.shtml">Windows
2000 spinlocks</a>, which claimed that their new kind of spinlocks had
better SMP memory bus characteristics than standard spinlocks. Ingo Molnar
replied:</p>

<quote who="Ingo Molnar">

<p>they are fixing the symptoms. Windows NT apparently
has problems with high contention spinlocks. So instead of reducing the
number of spinlocks and reducing lock collisions, they decided to optimize
the 'contention case'. This is a step in the wrong direction, as it makes
the 'no contention' case slower. No amount of trickery is going to avoid the
spinning CPU to waste precious cycles on pure spinning! The 'no contention
case' in Linux is highly optimized, it's only 2 inlined assembly
instructions to aquire, and 1 inlined assembly instruction to release.
Windows NT is digging itself into a deeper and deeper architectural hole me
thinks ...</p>

<p>Linux is doing another trick here to reduce bus traffic if lock contention
happens: once we go into the slow path we do not do interlocked atomic
instructions to poll the state of the spinlock flag, but normal memory
access instructions - this also ensures that we generate cross-cache bus
traffic only when the spinlock is released. This way we basically get the
kind of 'good' (nonintrusive) bus traffic what queued spinlocks are supposed
to do primarily - without the overhead of queued spinlocks.</p>

<p>(btw. NT doesnt do the kind of off-line spinlock slow-path thing Linux does,
no wonder they see high spinlock overhead. NT calls functions to
aquire/release spinlocks, yuck!)</p>

<p>NT designers i believe also have made a mistake with the 'processor-local
area' thing which they currently implement through a special segment and
%fs. Not only is it slower on x86 (%fs access is a bigger opcode and
doesnt optimize as well within the CPU), but they'll also have to waste a
whole register on that in IA64 ... Apparently that David Cutler guy has
already left the building? ;)</p>

<p>in the semaphore case the picture is completely different - semaphores
(mutexes) naturally want to have the kind of queueing characteristics
described above. Linux 2.3 does this and more (we do wake-one on
semaphores). Linux semaphores are still very lightweight in the no
contention case: 2 inlined assembly instructions to aquire and 2 inlined
assembly instructions to release.</p>

<p>anyway, Linux tries to have the highest quality SMP core architecture
possible physically - if you can poke holes into it, feel free!</p>

</quote>

</section>

<section
  title="Mailing-list Problems"
  subject="mailing-list-problems"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9909_05/msg00221.html"
  posts="2"
  startdate="30 Sep 1999 00:00:00 -0800"
  enddate="30 Sep 1999 00:00:00 -0800"
>

<p>Daniel Wirth wasn't getting any mail from linux-kernel for almost 24 hours,
and asked if anything was wrong. Matti Aarnio replied, <quote who="Matti
Aarnio">Backlog at VGER towards UK+DE exploder,
which has got stuck. Circumvention is now in effect, and aside of messages
which are stuck inside the sick system, the flow has now resumed to normal
(although perhaps not quite in chronological order..)</quote> EOT.</p>

</section>

</kc>
