<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="71" date="12 Jun 2000 00:00:00 -0800" />

<intro>

<p>Thanks again go to Tom Davey for typo corrections. That's three issues in a
row. Thanks, Tom!</p>

<p>William Astle had some information to add about the 6809 chip in <kcref
subject="Linux on the TI-89/92[+]???" startdate="16 May 2000 00:00:00 -0800"></kcref><!--
kt20000605_70.html#1 -->. Thanks a lot, William!</p>

<p>Also, many thanks go to Stephen Landamore for pointing out that the
multi-mount feature discussed in <kcref subject="Linux 2.3.99pre9-2 JOB
list" startdate="18 May 2000 00:00:00 -0800"></kcref><!-- kt20000605_70.html#2 --> had a
predecessor in the devfs discussion covered in <kcref subject="question on
your MOUNT_REWRITE changes." startdate="14 Apr 2000 00:00:00 -0800"></kcref><!--
kt20000424_64.html#9 -->. Stephen, you totally rock! Those are tough
connections to spot, but they really help make sense out of what's going on.</p>

<p>As of KT publication time, kernelnotes.org seems to be down, so there are no
links into the mailing list archives at the moment. I'll fix them when it
comes back up.</p>

</intro>

<stats posts="1855" size="7757" contrib="527" multiples="272" lastweek="167">

<person posts="92" size="277" who="Alan Cox " />
<person posts="53" size="187" who="James Sutherland " />
<person posts="45" size="171" who="Eric S. Raymond " />
<person posts="43" size="188" who="Jeff Garzik " />
<person posts="35" size="129" who="Andre Hedrick " />
<person posts="31" size="113" who="Alexander Viro " />
<person posts="27" size="117" who="Rik van Riel " />
<person posts="26" size="118" who="Khimenko Victor " />
<person posts="23" size="92" who="Bartlomiej Zolnierkiewicz " />
<person posts="22" size="81" who="Kenneth C. Arnold " />
<person posts="18" size="80" who="Ed Carp " />
<person posts="17" size="68" who="Russell King " />
<person posts="16" size="82" who="Andrew Morton " />
<person posts="16" size="75" who="Jesse Pollard " />
<person posts="16" size="73" who="Tigran Aivazian " />
<person posts="16" size="70" who="Michael D. Crawford " />
<person posts="16" size="60" who="David Ford " />
<person posts="15" size="88" who="Juan J. Quintela " />
<person posts="15" size="58" who="Andries Brouwer " />
<person posts="15" size="56" who="Pavel Machek " />
<person posts="15" size="55" who="H. Peter Anvin " />
<person posts="15" size="52" who="Dave Cinege " />
<person posts="15" size="51" who="James Simmons " />
<person posts="14" size="91" who="Horst von Brand " />
<person posts="14" size="87" who="Theodore Y. Ts'o " />
<person posts="14" size="60" who="Jeff V. Merkey " />
<person posts="14" size="50" who="David Weinehall " />
<person posts="13" size="42" who="David Woodhouse " />
<person posts="13" size="39" who="Richard B. Johnson " />
<person posts="13" size="39" who="Andrey Savochkin " />
<person posts="12" size="45" who="Garst R. Reese " />
<person posts="11" size="72" who="Jesse Pollard " />
<person posts="11" size="57" who="Christoph Rohland " />
<person posts="11" size="37" who="Matthias Andree " />
<person posts="10" size="40" who="Warren Young " />
<person posts="10" size="36" who=" (Rogier Wolff)" />
<person posts="10" size="33" who="Chad Schwartz " />
<person posts="10" size="31" who="Chip Salzenberg " />
<person posts="10" size="25" who="Sasi Peter " />
<person posts="9" size="57" who="Kip Macy " />
<person posts="9" size="37" who="Neil Brown " />
<person posts="9" size="32" who="Andi Kleen " />
<person posts="9" size="32" who="Jens Axboe " />
<person posts="9" size="30" who="Anton Blanchard " />
<person posts="9" size="28" who="Keith Owens " />
<person posts="8" size="80" who="H. Peter Anvin " />
<person posts="8" size="31" who="Rusty Russell " />
<person posts="8" size="30" who="Nils Rennebarth " />
<person posts="8" size="30" who="Matthew Dharm " />
<person posts="8" size="28" who="Dragan Stancevic " />
<person posts="8" size="27" who=" (Stuart Lynne)" />
<person posts="8" size="25" who="" />
<person posts="8" size="22" who="Marcelo Tosatti " />
<person posts="8" size="20" who="Dan Hollis " />
<person posts="7" size="62" who="Peter Samuelson " />
<person posts="7" size="47" who="Albert D. Cahalan " />
<person posts="7" size="25" who="" />
<person posts="7" size="24" who="Markus Pfeiffer " />
<person posts="7" size="23" who="Florian Weimer " />
<person posts="7" size="22" who="Gregory Maxwell " />
<person posts="7" size="20" who="Andrea Arcangeli " />
<person posts="6" size="42" who="Dunlap, Randy " />
<person posts="6" size="38" who="Linda Walsh " />
<person posts="6" size="32" who="Tim Waugh " />
<person posts="6" size="31" who=" (david parsons)" />
<person posts="6" size="25" who="David Marshall " />
<person posts="6" size="24" who="Erik Andersen " />
<person posts="6" size="22" who="Rask Ingemann Lambertsen " />
<person posts="6" size="21" who="Jacob Luna Lundberg " />
<person posts="6" size="21" who="Richard Zidlicky " />
<person posts="6" size="20" who="" />
<person posts="6" size="18" who="Jamie Lokier " />
<person posts="6" size="18" who="Chris Wedgwood " />
<person posts="6" size="18" who="Tom Rini " />
<person posts="6" size="18" who="Christopher Thompson " />
<person posts="6" size="16" who="bert hubert " />
<person posts="5" size="26" who="Eric S. Raymond " />
<person posts="5" size="24" who="Andrzej Krzysztofowicz " />
<person posts="5" size="21" who="Julian Squires " />
<person posts="5" size="18" who="Andi Kleen " />
<person posts="5" size="18" who="Jonathan Walther " />
<person posts="5" size="18" who="Martin Dalecki " />
<person posts="5" size="18" who="Steve Dodd " />
<person posts="5" size="18" who="Manfred Spraul " />
<person posts="5" size="17" who="Jeff Dike " />
<person posts="5" size="17" who="Trond Myklebust " />
<person posts="5" size="16" who="" />
<person posts="5" size="16" who="" />
<person posts="5" size="14" who="Brian Gerst " />
<person posts="5" size="14" who="Francis GALIEGUE " />
<person posts="5" size="13" who="" />
<person posts="5" size="13" who="Paolo Rossi " />
<person posts="4" size="37" who="George Anzinger " />
<person posts="4" size="33" who="Kamlesh Bans " />
<person posts="4" size="32" who="Thomas Molina " />
<person posts="4" size="27" who="Larry Sendlosky " />
<person posts="4" size="23" who="Sukumar Thirunarayanan " />
<person posts="4" size="23" who="Jan Evert van Grootheest " />
<person posts="4" size="20" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="4" size="19" who="Andreas Dilger " />
<person posts="4" size="19" who="Horst von Brand " />
<person posts="4" size="16" who="M Sweger " />
<person posts="4" size="16" who="Werner Almesberger " />
<person posts="4" size="15" who="Christopher Smith " />
<person posts="4" size="14" who="Chen-Li Tien " />
<person posts="4" size="14" who="Marek Mentel " />
<person posts="4" size="13" who="Adam J. Richter " />
<person posts="4" size="13" who="Peter T. Breuer " />
<person posts="4" size="12" who="Krzysztof Halasa " />
<person posts="4" size="12" who="Tkil " />
<person posts="4" size="12" who="Kallol Biswas " />
<person posts="4" size="12" who="Billy Harvey " />
<person posts="4" size="12" who="David Hinds " />
<person posts="4" size="12" who="Ralf Baechle " />
<person posts="4" size="11" who=" (Miquel van Smoorenburg)" />
<person posts="4" size="11" who="Peter Blomgren " />
<person posts="4" size="11" who="Leonard N. Zubkoff " />
<person posts="4" size="11" who="Jeff Garzik " />
<person posts="4" size="11" who="Alex Buell " />
<person posts="4" size="11" who="Chris Evans " />
<person posts="4" size="10" who="Martin Josefsson " />
<person posts="3" size="69" who="Chris Lattner " />
<person posts="3" size="41" who="Joe " />
<person posts="3" size="37" who="Andrzej Krzysztofowicz " />
<person posts="3" size="34" who="Matt Yourst " />
<person posts="3" size="28" who="dLux " />
<person posts="3" size="21" who="Phillips, Mike " />
<person posts="3" size="21" who="Joe " />
<person posts="3" size="19" who="Chemolli Francesco (USI) " />
<person posts="3" size="19" who="David L. Parsley " />
<person posts="3" size="14" who="G. Hugh Song " />
<person posts="3" size="12" who="Roderich Schupp " />
<person posts="3" size="12" who="Maciej W. Rozycki " />
<person posts="3" size="12" who="Casey Schaufler " />
<person posts="3" size="12" who="Riley Williams " />
<person posts="3" size="12" who="John Goerzen " />
<person posts="3" size="11" who="Boerner, Brian " />
<person posts="3" size="11" who=" (Kai Henningsen)" />
<person posts="3" size="11" who="Robert Redelmeier " />
<person posts="3" size="11" who="Robert Dinse " />
<person posts="3" size="11" who="Giacomo Catenazzi " />
<person posts="3" size="11" who="Rob Hill " />
<person posts="3" size="11" who="Hans Reiser " />
<person posts="3" size="10" who="Hideaki YOSHIFUJI (=?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=) " />
<person posts="3" size="10" who="Brent Verner " />
<person posts="3" size="10" who="Dr. Kelsey Hudson " />
<person posts="3" size="10" who="CaT " />
<person posts="3" size="9" who="Jakub Jelinek " />
<person posts="3" size="9" who="David L. Nicol " />
<person posts="3" size="9" who="Bruce Guenter " />
<person posts="3" size="9" who="Felix von Leitner " />
<person posts="3" size="9" who="John Fulmer " />
<person posts="3" size="9" who="Joel Sloan " />
<person posts="3" size="9" who="Gabor Lenart " />
<person posts="3" size="9" who="OKUJI Yoshinori " />
<person posts="3" size="9" who="david " />
<person posts="3" size="9" who="Wade Hampton " />
<person posts="3" size="9" who="Olivier Galibert " />
<person posts="3" size="8" who="Olaf Titz " />
<person posts="3" size="8" who="Alan Modra " />
<person posts="3" size="8" who="Brian Kress " />
<person posts="3" size="8" who="Richard Gooch " />
<person posts="3" size="8" who="The Pyralinx " />
<person posts="3" size="8" who="Steve Hill " />
<person posts="3" size="7" who="S.Venkat Raman " />
<person posts="3" size="7" who="Per Lundberg " />
<person posts="2" size="91" who="Roger Gammans " />
<person posts="2" size="33" who="Seiichi Nakashima " />
<person posts="2" size="20" who="Linda Walsh " />
<person posts="2" size="19" who="Wynne, Conor " />
<person posts="2" size="18" who="Zdenek Kabelac " />
<person posts="2" size="14" who="luvassu " />
<person posts="2" size="14" who="Tom Leete " />
<person posts="2" size="14" who="Helge Hafting " />
<person posts="2" size="13" who="Serguei Miridonov " />
<person posts="2" size="12" who="" />
<person posts="2" size="11" who="Lee Mitchell " />
<person posts="2" size="11" who="Ian Soboroff " />
<person posts="2" size="11" who="Julian Anastasov " />
<person posts="2" size="11" who="David Lang " />
<person posts="2" size="10" who="John Fremlin " />
<person posts="2" size="10" who="Trever Adams " />
<person posts="2" size="10" who="Reto Baettig " />
<person posts="2" size="10" who="" />
<person posts="2" size="9" who="John D. Rowell " />
<person posts="2" size="9" who=" (Bear Giles)" />
<person posts="2" size="9" who="Fumitoshi UKAI " />
<person posts="2" size="9" who="Khimenko Victor " />
<person posts="2" size="9" who="Oertel, Tim " />
<person posts="2" size="9" who="Paul Barton-Davis " />
<person posts="2" size="8" who="david parsons " />
<person posts="2" size="8" who="=?ISO-2022-JP?B?GyRCJVclaSUkJVAlNyE8Py8zMhsoQh==?= " />
<person posts="2" size="8" who="Matthew G. Marsh " />
<person posts="2" size="8" who="Francesco Chemolli " />
<person posts="2" size="8" who="Christopher E. Brown " />
<person posts="2" size="8" who="Mark Kettenis " />
<person posts="2" size="8" who="Marcelo de Paula Bezerra " />
<person posts="2" size="8" who="Richard A Nelson " />
<person posts="2" size="8" who="Anthony Barbachan " />
<person posts="2" size="8" who="Dieter =?iso-8859-1?Q?N=FCtzel?= " />
<person posts="2" size="8" who="Zoran Davidovac " />
<person posts="2" size="8" who="Yuji Sekiya " />
<person posts="2" size="8" who="Egbert Eich " />
<person posts="2" size="7" who="Larry McVoy " />
<person posts="2" size="7" who="Willy Tarreau " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="Tom Gilbert " />
<person posts="2" size="7" who="Rani Chouha " />
<person posts="2" size="7" who="Momchil Velikov " />
<person posts="2" size="7" who="Jan-Benedict Glaw " />
<person posts="2" size="7" who="Vincent Vanackere " />
<person posts="2" size="7" who="GOTO Masanori " />
<person posts="2" size="7" who="Vojtech Pavlik " />
<person posts="2" size="7" who="Thomas Graichen " />
<person posts="2" size="7" who="Nathan Hand " />
<person posts="2" size="7" who="Michal Ostrowski " />
<person posts="2" size="7" who=" (goingware.com)" />
<person posts="2" size="7" who="Chris Meadors " />
<person posts="2" size="7" who="Frederic Bouvier " />
<person posts="2" size="7" who="Marc Lehmann " />
<person posts="2" size="7" who="Thomas Pornin " />
<person posts="2" size="6" who="Ingo Oeser " />
<person posts="2" size="6" who="Janek Hiis " />
<person posts="2" size="6" who="David Wragg " />
<person posts="2" size="6" who="George " />
<person posts="2" size="6" who="Robert Cawley " />
<person posts="2" size="6" who="Walter Hofmann " />
<person posts="2" size="6" who="Daniel Stone " />
<person posts="2" size="6" who="Amit S. Kale " />
<person posts="2" size="6" who="Niels Kristian Bech Jensen " />
<person posts="2" size="6" who="System Administrator " />
<person posts="2" size="6" who="Michael D. Crawford " />
<person posts="2" size="6" who="Bob Lorenzini " />
<person posts="2" size="6" who="Donald Becker " />
<person posts="2" size="6" who="=?iso-8859-1?Q?H=E5vard?= Garnes " />
<person posts="2" size="6" who="Yuri Per " />
<person posts="2" size="6" who="Rick Stevens " />
<person posts="2" size="6" who="Ward Vandewege " />
<person posts="2" size="6" who="Jean Wolter " />
<person posts="2" size="6" who="Ville Herva " />
<person posts="2" size="6" who="Frederick Barnes " />
<person posts="2" size="6" who="Michael Riepe " />
<person posts="2" size="6" who="Steven N. Hirsch " />
<person posts="2" size="6" who="Ishikawa " />
<person posts="2" size="6" who="Forwarded SuSE Mail " />
<person posts="2" size="5" who="Wolfgang Wegner " />
<person posts="2" size="5" who="Nasser Abbasi " />
<person posts="2" size="5" who="Jeremy Fitzhardinge " />
<person posts="2" size="5" who="John Cagle " />
<person posts="2" size="5" who="dave madden " />
<person posts="2" size="5" who="Guus Sliepen " />
<person posts="2" size="5" who="Siddharth Kashyap " />
<person posts="2" size="5" who="Adam " />
<person posts="2" size="5" who="Ben McCann " />
<person posts="2" size="5" who="Francois ROMIEU " />
<person posts="2" size="5" who="Bill Wendling " />
<person posts="2" size="5" who="Stephen Frost " />
<person posts="2" size="5" who="Igmar Palsenberg " />
<person posts="2" size="5" who="Josh Huber " />
<person posts="2" size="5" who="Thomas Sailer " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Cesar Eduardo Barros " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Luke Reeves " />
<person posts="2" size="5" who="Mark Hahn " />
<person posts="2" size="5" who="Rick van Rein " />
<person posts="2" size="5" who="Daniel Roesen " />
<person posts="2" size="4" who="James H. Cloos Jr. " />
<person posts="2" size="4" who="Chris Noe " />
<person posts="2" size="4" who="Karel Kulhavy " />
<person posts="2" size="4" who="David S. Miller " />
<person posts="2" size="4" who="Wes Cowley " />
<person posts="1" size="43" who="Harm Verhagen " />
<person posts="1" size="27" who="Rajendran  Kolandasamy " />
<person posts="1" size="24" who="Adam Huffman " />
<person posts="1" size="21" who="" />
<person posts="1" size="17" who="James Bourne " />
<person posts="1" size="16" who="Dave Dillow " />
<person posts="1" size="15" who="James Stevenson " />
<person posts="1" size="15" who="Eric Youngdale " />
<person posts="1" size="11" who="bsdinet " />
<person posts="1" size="9" who="David Addison " />
<person posts="1" size="9" who="Malcolm Beattie " />
<person posts="1" size="9" who="Giampaolo Gallo " />
<person posts="1" size="8" who="The Eternal Void " />
<person posts="1" size="8" who="Ben Greear " />
<person posts="1" size="7" who="Steven Hanley " />
<person posts="1" size="7" who="Zlatko Calusic " />
<person posts="1" size="7" who="Thomas Jacob " />
<person posts="1" size="7" who="Marty Leisner " />
<person posts="1" size="6" who="John Wagner " />
<person posts="1" size="6" who="Anton Ivanov " />
<person posts="1" size="6" who="Daniel Olsson " />
<person posts="1" size="6" who="" />
<person posts="1" size="6" who="Leo Mauro " />
<person posts="1" size="6" who="Andrew van der Stock " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="S. Baker " />
<person posts="1" size="5" who="Robert Stockmann " />
<person posts="1" size="5" who="Christoph Rohland " />
<person posts="1" size="5" who="Tim R. " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Sergey Kubushin " />
<person posts="1" size="5" who="lpala " />
<person posts="1" size="5" who="Sven Kirmess " />
<person posts="1" size="5" who="Catalin Muresan " />
<person posts="1" size="5" who="Joel Becker " />
<person posts="1" size="5" who="Robert M. Hyatt " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="William Stearns " />
<person posts="1" size="4" who="Michal Jaegermann " />
<person posts="1" size="4" who="Dominik Kubla " />
<person posts="1" size="4" who="Johannes Erdfelt " />
<person posts="1" size="4" who="Stephen J. Gowdy " />
<person posts="1" size="4" who="Nils Philippsen " />
<person posts="1" size="4" who="Geert Uytterhoeven " />
<person posts="1" size="4" who="HIBINO Kei " />
<person posts="1" size="4" who="Michael Meissner " />
<person posts="1" size="4" who="Rob Schmaling " />
<person posts="1" size="4" who="Andris Pavenis " />
<person posts="1" size="4" who="Sven Koch " />
<person posts="1" size="4" who="Stacy Krolczyk " />
<person posts="1" size="4" who="Brian Pomerantz " />
<person posts="1" size="4" who="Britton " />
<person posts="1" size="4" who="John Alvord " />
<person posts="1" size="4" who="Paul Mackerras " />
<person posts="1" size="4" who="Daniel Taylor " />
<person posts="1" size="4" who="Herbert =?ISO-8859-1?Q?U.H=FCbner?= " />
<person posts="1" size="4" who="David Lang " />
<person posts="1" size="4" who="Tom Berkley " />
<person posts="1" size="4" who="Ed Tomlinson " />
<person posts="1" size="4" who="Scott C. Karlin " />
<person posts="1" size="4" who="Steve Whitehouse " />
<person posts="1" size="4" who="Pawel Krawczyk " />
<person posts="1" size="4" who="Urban Widmark " />
<person posts="1" size="4" who="Andrey Slepuhin " />
<person posts="1" size="4" who="Felix Tang " />
<person posts="1" size="4" who="Curtis, Mark  MA " />
<person posts="1" size="4" who="David Forrest " />
<person posts="1" size="4" who="Justin " />
<person posts="1" size="3" who="Mike Porter " />
<person posts="1" size="3" who="Ian McKellar " />
<person posts="1" size="3" who="Paul Flinders " />
<person posts="1" size="3" who="Guido Viehoff " />
<person posts="1" size="3" who="Dan Maas " />
<person posts="1" size="3" who="James Manning " />
<person posts="1" size="3" who="Tim Walberg " />
<person posts="1" size="3" who="Anton Altaparmakov " />
<person posts="1" size="3" who="Burton Windle " />
<person posts="1" size="3" who="Christoph Hellwig " />
<person posts="1" size="3" who="Frank van Maarseveen " />
<person posts="1" size="3" who="Karim Yaghmour " />
<person posts="1" size="3" who="Jim Breton " />
<person posts="1" size="3" who="Michael H. Warfield " />
<person posts="1" size="3" who="Sandy Harris " />
<person posts="1" size="3" who="Matti Aarnio " />
<person posts="1" size="3" who="Brian K. White " />
<person posts="1" size="3" who="Davide Libenzi " />
<person posts="1" size="3" who="Austin Schutz " />
<person posts="1" size="3" who="Mark Cooke " />
<person posts="1" size="3" who="Christoph Barbian " />
<person posts="1" size="3" who="Alexander Viro " />
<person posts="1" size="3" who="Adam Sampson " />
<person posts="1" size="3" who="Chris Ricker " />
<person posts="1" size="3" who="Matan Ziv-Av " />
<person posts="1" size="3" who="Mike Taylor " />
<person posts="1" size="3" who="Ion Badulescu " />
<person posts="1" size="3" who="Brandon S. Allbery KF8NH " />
<person posts="1" size="3" who="Nathan Thompson " />
<person posts="1" size="3" who="=?iso-8859-1?Q?Alberto_Parga_Fern=E1ndez?= " />
<person posts="1" size="3" who="Zach Brown " />
<person posts="1" size="3" who="Paul Campbell " />
<person posts="1" size="3" who="Randy Dunlap " />
<person posts="1" size="3" who="Brent Turan " />
<person posts="1" size="3" who="Roeland Th. Jansen " />
<person posts="1" size="3" who="John Cavan " />
<person posts="1" size="3" who="Tim N. van der Leeuw,,, " />
<person posts="1" size="3" who="Petr Vandrovec " />
<person posts="1" size="3" who="Bret Indrelee " />
<person posts="1" size="3" who="Manfred Spraul " />
<person posts="1" size="3" who="Andrew Sharp " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Sean Hunter " />
<person posts="1" size="3" who="Richard Lyons " />
<person posts="1" size="3" who="Juan P. Gonzalez " />
<person posts="1" size="3" who="Brad Douglas " />
<person posts="1" size="3" who="Adrian Bridgett " />
<person posts="1" size="3" who="Mikael Grahn " />
<person posts="1" size="3" who="Romano Giannetti " />
<person posts="1" size="3" who=" (Arjan van de Ven)" />
<person posts="1" size="3" who="Mohammad Banikazemi " />
<person posts="1" size="3" who="Joseph S D Yao " />
<person posts="1" size="3" who="Jim Nance " />
<person posts="1" size="3" who="Walter Hofmann " />
<person posts="1" size="3" who="Xuan Baldauf " />
<person posts="1" size="3" who="Andreas Roedl " />
<person posts="1" size="3" who="Felix Braun " />
<person posts="1" size="3" who="Victor Zandy " />
<person posts="1" size="3" who=" (Graham Stoney)" />
<person posts="1" size="3" who="John Cowan " />
<person posts="1" size="3" who="Petr Vandrovec " />
<person posts="1" size="3" who="Andreas Schwab " />
<person posts="1" size="3" who="Ian and Iris " />
<person posts="1" size="3" who="Erick Kinnee " />
<person posts="1" size="3" who=" (Marek Habersack)" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Torben Mathiasen " />
<person posts="1" size="3" who="Gisle S{lensminde " />
<person posts="1" size="3" who="Edward S. Marshall " />
<person posts="1" size="3" who="Dave Jones " />
<person posts="1" size="3" who="Bear Giles " />
<person posts="1" size="3" who="Martin Douda " />
<person posts="1" size="3" who=" (Andreas Jellinghaus)" />
<person posts="1" size="3" who="Dave Higgen " />
<person posts="1" size="3" who="Nick Rasmussen " />
<person posts="1" size="3" who="Nix " />
<person posts="1" size="3" who="Jon Akers " />
<person posts="1" size="3" who="David Schwartz " />
<person posts="1" size="3" who="Marius Feraru " />
<person posts="1" size="3" who="Roger Gammans " />
<person posts="1" size="3" who="Gleb Natapov " />
<person posts="1" size="3" who="Matt Kemner " />
<person posts="1" size="3" who=" (Dave Jones)" />
<person posts="1" size="3" who=" (Simon Cozens)" />
<person posts="1" size="3" who="Aaron Tiensivu " />
<person posts="1" size="3" who="Justin T. Gibbs " />
<person posts="1" size="3" who="Jamie Lokier " />
<person posts="1" size="3" who="Ben LaHaise " />
<person posts="1" size="3" who="Dag Bakke " />
<person posts="1" size="3" who="Philippe Troin " />
<person posts="1" size="3" who=" (Thomas Graichen)" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Pekka Riikonen [Adm] " />
<person posts="1" size="3" who="Martin Costabel " />
<person posts="1" size="3" who="Arjan van de Ven " />
<person posts="1" size="3" who="Alex Belits " />
<person posts="1" size="3" who="Jan Niehusmann " />
<person posts="1" size="3" who="Larry Colen - Open Source Group " />
<person posts="1" size="3" who="Prarit " />
<person posts="1" size="3" who="John Cowan " />
<person posts="1" size="3" who="Neil Schemenauer " />
<person posts="1" size="3" who="Sean Harding " />
<person posts="1" size="3" who="Arnaldo Carvalho de Melo " />
<person posts="1" size="3" who="Sean Hunter " />
<person posts="1" size="3" who="Malware " />
<person posts="1" size="3" who="James Harper " />
<person posts="1" size="3" who="Bernd Paysan " />
<person posts="1" size="3" who="=?ISO-8859-1?Q? =C3=D6=BF=B5=C1=F8 ?= " />
<person posts="1" size="3" who="Oliver Xymoron " />
<person posts="1" size="3" who="Mathieu Chouquet-Stringer " />
<person posts="1" size="3" who="Dax Kelson " />
<person posts="1" size="3" who="Arne Thomassen " />
<person posts="1" size="3" who="Ard van Breemen " />
<person posts="1" size="2" who="Sharon Valerie " />
<person posts="1" size="2" who="=?iso-8859-1?Q?Ragnar_Kj=F8rstad?= " />
<person posts="1" size="2" who="Linda Walsh " />
<person posts="1" size="2" who="Jan Kara " />
<person posts="1" size="2" who="Alexander Valys " />
<person posts="1" size="2" who="Robert S. Irrgang " />
<person posts="1" size="2" who="Ralf Baechle " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Paul Jakma " />
<person posts="1" size="2" who="Ph. Marek " />
<person posts="1" size="2" who="Sven Kirmess " />
<person posts="1" size="2" who="Austin Schutz " />
<person posts="1" size="2" who="Ricky Beam " />
<person posts="1" size="2" who="Kjartan Maraas " />
<person posts="1" size="2" who="Joey Hess " />
<person posts="1" size="2" who="Coy A Hile " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Glen Turner " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Raul Miller " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="root " />
<person posts="1" size="2" who="Simon Cozens " />
<person posts="1" size="2" who="Lyle Coder " />
<person posts="1" size="2" who="Sivakumar Kuppusamy " />
<person posts="1" size="2" who="Raj, Ashok " />
<person posts="1" size="2" who="Martin Mares " />
<person posts="1" size="2" who="Timur Tabi " />
<person posts="1" size="2" who="imel... " />
<person posts="1" size="2" who="Lee Chin " />
<person posts="1" size="2" who="Johan Kullstam " />
<person posts="1" size="2" who="Greg KH " />
<person posts="1" size="2" who="Gianluca Anzolin " />
<person posts="1" size="2" who="Chris Bednar " />
<person posts="1" size="2" who="octave klaba " />
<person posts="1" size="2" who="Admin Mailing Lists " />
<person posts="1" size="2" who="Myrddin Ambrosius " />
<person posts="1" size="2" who="khromy " />
<person posts="1" size="2" who="Maciej Zeczykowski " />
<person posts="1" size="2" who="Christopher Zimmerman " />
<person posts="1" size="2" who="Giuliano Pochini " />
<person posts="1" size="2" who="Nosh " />
<person posts="1" size="2" who="Menaka Lashitha Bandara " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Peter Chubb " />
<person posts="1" size="2" who="Dominique " />
<person posts="1" size="2" who="hyzhang " />
<person posts="1" size="2" who="Artur Skawina " />
<person posts="1" size="2" who="Dag B " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Daniel Dickman " />
<person posts="1" size="2" who="Balaji Ramani " />
<person posts="1" size="2" who="Meino Christian Cramer " />
<person posts="1" size="2" who="Termy " />
<person posts="1" size="2" who="Alan Cox " />
<person posts="1" size="2" who="Erik Jakobsen " />
<person posts="1" size="2" who="per erik =?iso-8859-1?Q?nordb=F8?= " />
<person posts="1" size="2" who="Michel A. S. Pereira - KIDMumU " />
<person posts="1" size="2" who="Martin Maciaszek " />
<person posts="1" size="2" who="Ivan Passos " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Mitchell Blank Jr " />
<person posts="1" size="2" who="Patrick Mauritz " />
<person posts="1" size="2" who="Henrik Eriksson " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="goSKN.com &lt;  &gt;" />
<person posts="1" size="2" who="Andreas Ehliar " />
<person posts="1" size="2" who="David Howells " />
<person posts="1" size="2" who=" (Preston F. Crow Adv94)" />
<person posts="1" size="2" who="Geoff R Deasey " />
<person posts="1" size="2" who="Jason " />
<person posts="1" size="2" who=" (Mailer-Daemon)" />

</stats>

<section
  title="Troubles Getting IDE Code Into The Stable Series"
  subject="ide.2.2.15.20000509 patch breaks WDC31200F w/ VIA 82C586B"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_03/msg00906.html"
  posts="15"
  startdate="21 May 2000 00:00:00 -0800"
  enddate="30 May 2000 00:00:00 -0800"
>
<topic>Disks: IDE</topic>

<mention>Andrzej Krzysztofowicz</mention>
<mention>Bartlomiej Zolnierkiewicz</mention>

<p>In the course of discussion, Bartlomiej Zolnierkiewicz tried pre-2.2.16-2
with the ide.2.2.15.20000504 patch and VIA82CXXX support, and got an
"unknown partition table" error during bootup. Alan Cox traced this to the
ide.2.2.15.20000504 patch, and added that 2.3.x had the same patch merged in
and thus had the same problem. He finished, <quote who="Alan Cox">I imagine
Andre</quote> [Hedrick] <quote who="Alan Cox">is still looking for this
one.</quote> Andre Hedrick replied, <quote who="Andre Hedrick">2.3 is going
to be clean or cleaner.........do not try to drop ide.2.2.15.20000509 on a
2.2.16-preX tree........the fragmentation is bad.</quote> (He added
peripherally, <quote who="Andre Hedrick">The real pain to try and write
blind code! I have ZERO VIA systems to date, but they are promised to send
something?!</quote>). Sasi Peter remarked, <quote who="Sasi Peter">At least
if they succeed to bring 2.2.16 performance back up to the level of 2.2.14
even in some 2.2.16preX, it would be good to have an ide patch for
it...</quote> But Alan replied that even if this were the case, he wouldn't
merge the patch because too many systems broke with it. Andrzej
Krzysztofowicz asked if there was a chance to merge the patch after all the
known bugs had been fixed, and Alan replied, <quote who="Alan Cox">By then
it'll be 2.4 time. (and I dont mean that rudely - thats a serious estimate
on timescales for the two things)</quote></p>

</section>

<section
  title="Some Discussion Of Signals And Threads"
  subject="pthread problem with asynchronous signals"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_04/msg00375.html"
  posts="9"
  startdate="23 May 2000 00:00:00 -0800"
  enddate="01 Jun 2000 00:00:00 -0800"
>

<p>In the course of discussion, Robert M. Hyatt remarked:</p>

<quote who="Robert M. Hyatt">

<p>Signals and threads just don't mix.  Signals
terminate many system calls with EINTR (for example). Multiple threads can
receive the signal, including every thread _but_ the one you really want to
see the thing.</p>

<p>I've been doing threads for a long time, dating back to Cray's first version
of Unicos. I found that signals are simply something to be completely
avoided if threads are being used.</p>

</quote>

<p>But Christopher Smith objected:</p>

<quote who="Christopher Smith">

<p>This is not entirely fair. Certainly, lots of
things that are done via signals in single-thread models don't map so well
in multi-thread models (and indeed are better done in the first place using
threads and blocking), but signals have a very valid place in a threaded
environment, if for no other reason than a threaded program should still be
able to respond to SIGINT. ;-)</p>

<p>Certainly it's not easy to provide a good interface to signals in a threaded
environment, but it can and has been done. Linux's implementation isn't
exactly perfect yet, but it's getting there.</p>

</quote>

</section>

<section
  title="Some Discussion Of Compiler Optimization Switches"
  subject="-O2 vs -O3"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_04/msg00472.html"
  posts="17"
  startdate="24 May 2000 00:00:00 -0800"
  enddate="01 Jun 2000 00:00:00 -0800"
>

<mention>Matthias Andree</mention>
<mention>Christopher Thompson</mention>

<p>Christopher Thompson asked why the kernel was compiled with -O2
optimization, instead of the more aggressive -O3. Several sub threads
branched out in reply. Dave Jones said anecdotally, <quote who="Dave
Jones">During the early development of Powertweak I set the Makefile files
to compile some routines with -O3 instead of -O2. I then spent hours looking
for a bug which wasn't there. The optimiser was over-zealous, and removed a
pointer assignment.</quote> Jamie Lokier explained, <quote who="Jamie
Lokier">-O3 turns on extra inlining. Inlining can allow the optimisers to do
fuller alias analysis. Type alias analysis breaks things which recast
pointer types such as malloc, memcpy, graphics rendering loops, etc. (But
usually only when they're inlined).</quote> Dave had also remarked that -O2
probably used only known-to-be-safe optimizations, but Rask Ingemann
Lambertsen corrected, <quote who="Rask Ingemann Lambertsen">It doesn't. None
of the -Ox options turn on unsafe optimisations. While compiler bugs do
occasionally happen, most of the time it is the programmer that violated the
rules.</quote></p>

<p>Andreas Schwab also replied to Christopher, explaining, <quote
who="Andreas Schwab">the only difference between -O2 and -O3 is
-finline-functions, which is bad for the kernel sources (which wants to
control inlining explicitly).</quote> Matthias Andree replied that this
could in turn be defeated with a '-fno-inline-functions' argument, but Johan
Kullstam objected, <quote who="Johan Kullstam">sure, but what exactly would
be the point? the compile command line is already long enough without this
completely gratuitous bloat.</quote></p>

<p>Matthew Wilcox also replied to Christopher, saying, <quote who="Matthew
Wilcox">-O3 introduces some optimisations which may not be appropriate for
the kernel. In particular, it tries to know better about function-inlining.
It is asserted (note I don't necessarily agree with the assertion :-) that
the kernel developers in their infinite wisdom have analysed which functions
would best be inlined and which are best out-of-line.</quote> And Thomas
Pornin elaborated, <quote who="Thomas Pornin">Just for completeness: there
are a couple of functions that must not be inlined (for instance, __delay()
that is in arch/i386/lib/delay.c); but the main reason seems to be the
following: the compiler uses some heuristics to guess whether a function is
worth inlining, or not. These heuristics are tuned for userland code, not
kernel code, where the situation is different (for instance, memory is much
more expensive in the kernel, since kernel memory cannot be swapped
out).</quote></p>

<p>There was a bit more discussion.</p>

</section>

<section
  title="CML2 Replacement For The 'kbuild' System; Language Dispute"
  subject="Announcing CML2, a replacement for the kbuild system"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_04/msg00490.html"
  posts="181"
  startdate="24 May 2000 00:00:00 -0800"
  enddate="03 Jun 2000 00:00:00 -0800"
>
<topic>Disks: SCSI</topic>
<topic>Kernel Build System</topic>

<mention>Giacomo Catenazzi</mention>
<mention>James Sutherland</mention>
<mention>Michael Elizabeth Chastain</mention>

<p>Eric S. Raymond announced (quoted in full):</p>

<quote who="Eric S. Raymond">

<p>For some weeks now, I have been developing a
replacement for the kbuild system used to configure Linux kernels. This
effort has had the support of Michael Elizabeth Chastain, the principal
kbuild maintainer, and has benefited from input by others on the kbuild
list.</p>

<p>The project is not yet complete, but it has reached a beta stage at which it
is usable and in significant ways functionally superior to the present
system. I am confident that it will complete. I am announcing now rather
than holding off until I'm completely done because there are some
preparations which, if begun now, will significantly reduce total transition
costs. These preparations will *not* break the present kbuild system.</p>

<p>Why this project at all?  It all started when I realized that building
kernels is way too hard. I wanted to simplify the configuration task enough
to make configuration accessible to non-gurus. It needs to have more policy
options. Rather than hundreds of questions like "Include FOOBAR2317
driver?", the novice should see stuff like "Compile in all modular drivers
as modules without prompting?"</p>

<p>This just can't be done with the existing kbuild system. The existing
config-language programs are hard to read and modify, and the code that
interprets them has become a huge, unmaintainable hairball of Tcl/Tk, C,
makefiles, and shell. It has all become terminally brittle, and the
maintainers agree that it needs to be nuked and rebuilt from scratch.</p>

<p>It happens that I love writing domain-specific minilanguages, so I have
tackled this problem head-on. I have designed a new configuration language I
call CML2 (the existing language I have retrospectively named CML1). The
implementation has two parts:</p>

<p>
<ol>

<li>I have implemented a CML2 compiler that validates CML2 rulesets and
generates a rulebase that can be used to drive a configuration process. I
have translated almost all of the 7049 lines of CML1 in the 2.3.99-pre9
source tree to validated CML2 (and *that*, believe me, was hard work -- it
took longer than the CML2 design and coding!).</li>

<li>I have written a configurator that is ready for testing. This program
reads in the rulebase and uses it to do the actual config-file generation
from a dialog with the user. Though not yet equipped with a Tk interface,
this program fully demonstrates the capabilities of CML2. It runs in either
line-oriented or curses mode depending on the display environment
(line-oriented mode can be forced with a command-line switch).</li>

</ol>
</p>

<p>The line-oriented mode of the new configurator is much more powerful than
the original Configure. It's possible to move backward or jump around in the
configuration sequence; the constraints that were expressed by if-then-else
logic in CML1 are now checked every time the value of a relevant symbol is
changed. It also has full access to the help system.</p>

<p>The curses mode, unlike the old menuconfig code, also has full access to the
help text. It reports attempts to set symbol combinations that would result
in an invalid configuration.</p>

<p>The configurator should be able to present a Tk-based menu interface when it
detects that it's running on an X display. This is the part I haven't
written yet.</p>

<p>The code needs more testing, which is one reason I am announcing now. It
would be useful for configure maintainers to begin running through odd
configurations to see if they can get it to misbehave.</p>

<p>The first alpha of CML2 is available at</p>

<p><a
href="http://www.tuxedo.org/~esr/kbuild/">http://www.tuxedo.org/~esr/kbuild/</a></p>

<p>It includes the alpha implementation, documentation, and a transition guide
for maintainers of CML1 code.</p>

<p>OK, here's the bad news: the new system will not be an instant, painless
replacement for the old. I tried hard, but there was just too much cruft to
clean up for that to be possible.</p>

<p>The major source of problems is, as you might expect, that 6747-line mass of
old code -- the new language is nontrivially different than the old, and the
CML1 corpus is so tangled and nasty that I am certain I have made at least a
few mistakes in the translation. There are a couple of places where I didn't
understand the author's intentions well enough to translate some
particularly grotty CML1 code. I'll need some help untangling these knots.</p>

<p>I apologize for this, but the translation overhead would only have been
avoidable if CML1 had been good enough not to replace. It's a cost we have
to pay to clean up a mess that would otherwise only have gotten worse, and
eventually have become a serious drag on kernel development and porting.</p>

<p>There are some other minor problems, which we can fix up front.  Mostly they
have to do with cleaning up the configuration-symbol namespace (which would
be a good idea even if we planned to keep CML1).</p>

<p>Now the good news: we will win big by changing over.  Here are some of the
advantages of the new language:</p>

<p>
<ol>

<li>Single parser and front end<br />
CML1 had three different interpreters, none perfectly compatible with any of
the others. CML2 has one rule compiler and one rulebase-interpreter front
end. This will be good for consistency and economy.</li>

<li>A more expressive, easier-to-program configuration language<br />
The rather spiky and cluttered shell-like syntax of CML1 is replaced with a
much simpler and more regular format resembling that of .netrc or
.fetchmailrc. More importantly, the semantics of the language are
declarative rather than imperative -- a better match for the problem domain,
and thus more expressive and easier to code in.</li>

<li>Drastic reduction in code size and complexity<br />
The 7049 lines of CML1 in the 2.3.99-pre9 kernel translate to a hair less
than 2400 lines of CML2, a reduction by a factor of about three. The CML2
compiler and prototype interpreter are the same factor of three smaller than
the nearly 10,000 lines of code in the CML1 interpreters and tools. Where
CML1 is a complex mixture of C, shell, Tcl/Tk, and Makefiles, CML2 is all be
written in a single language (Python).</li>

<li>Eliminates (or at least drastically reduces) lag between port
configurations<br />
The fact that the top-level CML1 files of the nine ports in the kernel tree
are separate means there have been plenty of opportunities for the common
code in them to suffer from version skew -- I point out about a dozen bugs
of this kind in the list of errors at the end of this post. CML2's design
and compilation rules should effectively prevent future bugs of this
kind.</li>

<li>Clean separation between configuration language and configuration UI<br />
CML decouples the configuration language from the configuration user
interface (they communicate with each other only through the compiled
rulebase). This means that it will be relatively easy to improve the UI and
the language separately.</li>

<li>Internationalization<br />
CML2 query prompts and menu banners are separated from the symbol dependency
declarations. Thus CML2 system definitions can be internationalized and
localized.</li>

<li>Language is fully documented<br />
CML2 has a complete, explicit description.  Syntax, language semantics, and
front-end policy options are all discussed in detail.</li>

<li>Policy-based options<br />
The declarative semantics of CML2 makes it much easier to set up and check
interdependencies among symbols. I have done only enough of this in the CML1
translation for demonstration purposes (there are new symbols TUNING, EXPERT
and WIZARD that change some visibilities). Once CML2 is in place, it should
be a relatively small effort to give the user a rich set of policy and
don't-bother-me options.</li>

</ol>
</p>

<p>So, how do we get there from here?</p>

<p>Obviously, I have to finish the CML2 front end.  This is not a large job; I
already have a demonstrable prototype that runs in tty and curses modes, and
even on my heavy travel schedule I expect to have the Tk version ready in
about two weeks.</p>

<p>I have designed the CML2 implementation to coexist with CML1, so both
methods can be used while CML2 is being field-tested and debugged. I
anticipate a phase-in over three or four point releases during 2.5.x,
followed by a back-port to 2.4.x. Once CML2 is reported OK by the various
porting groups, Linus can quietly nuke the CML1 machinery.</p>

<p>There are a couple of preparation steps that can fruitfully begin now and
should happen before 2.4 in order to minimize backporting hassles later.</p>

<p>
<ol>

<li>

<p>Notably, I would appreciate it if config-file maintainers made the
following changes in those files and relevant C code:</p>

<table border="0">

<tr><td>CONFIG_6xx             </td><td>-&gt; CONFIG_PPC_6xx</td></tr>
<tr><td>CONFIG_4xx             </td><td>-&gt; CONFIG_PPC_4xx</td></tr>
<tr><td>CONFIG_PPC64           </td><td>-&gt; CONFIG_PPC_64</td></tr>
<tr><td>CONFIG_8260            </td><td>-&gt; CONFIG_PPC_8260</td></tr>
<tr><td>CONFIG_8xx             </td><td>-&gt; CONFIG_PPC_88x</td></tr>
<tr><td>CONFIG_060_WRITETHROUGH</td><td>-&gt; CONFIG_M68060_WRITETHROUGH</td></tr>
<tr><td>CONFIG_21285_WATCHDOG  </td><td>-&gt; CONFIG_DC21285_WATCHDOG</td></tr>
<tr><td>CONFIG_3C515           </td><td>-&gt; CONFIG_ISA3C515</td></tr>
<tr><td>CONFIG_8139TOO         </td><td>-&gt; CONFIG_RTL8139</td></tr>
<tr><td>CONFIG_82C710_MOUSE    </td><td>-&gt; CONFIG_CT82C710_MOUSE</td></tr>
<tr><td>CONFIG_977_WATCHDOG    </td><td>-&gt; CONFIG_WB83C977_WATCHDOG</td></tr>
<tr><td>CONFIG_3215            </td><td>-&gt; CONFIG_IBM3215</td></tr>
<tr><td>CONFIG_3215_CONSOLE    </td><td>-&gt; CONFIG_IBM3215_CONSOLE</td></tr>

</table>

<p>The reason for these is that CML2 symbol names drop the CONFIG_ prefix. It's
unneeded clutter, and made CML1 programs harder to read (the eye-brain
systems that handle spelling look for prefix matches to recognize things).</p>

<p>Also, I had to change the KEYBOARD and MOUSE symbols used in the MIPS branch
to MIPS_KEYBOARD and MIPS_MOUSE. This is because the MOUSE symbol seems to
be used in different ways on different architectures (notably in the Intel
branch).</p>

</li>

<li>I also found some apparent errors.  I need these explained so I'll know
how to handle them in the translation. A summary of these apparent errors is
included at the end of this post.</li>

<li>Those are the easy parts.  The hard part is that I'd like to ask config
maintainers to eyeball-check the CML2 translation of their work *now*. Where
I am most likely to have erred is in setting visibility constraints by
architecture. Ideally, I'd like everyone to have confidence that the
translation is correct by the time the Tk-based front end comes out.</li>

</ol>
</p>

<p>Presently the entire CML2 translation lives in a single file, rather than
being distributed into per-subdirectory files like the CML1 corpus. This is
a temporary expedient to make the transition easier. CML2's "source"
facility is quite powerful enough to support distributing the information
later on.</p>

<p>The current CML2 menu tree is ugly and poorly organized -- that is to say,
it has changed relatively little from the CML1 version. I am deliberately
refraining from large changes yet. Once we have tested and switched over to
CML2, it will be possible to do a complete redesign of the kbuild user
experience. The most important feature of CML2 is that it will give us the
capability to explore that design space without risking breaking the ability
to build kernels at all.</p>

<p>Here are the apparent errors I found in the CML1 corpus:</p>

<hr />

<p>There is what appears to be an error in the M68K configuration sequence.
Inside a PARPORT guard, the question 'Q40 Parallel port' sets PARPORT again.
I created a PARPORT_Q40 symbol and set it from this question.</p>

<p>The symbols SGI occurs in conditionals in config files but are never set or
associated with a query, nor are they used in C code anywere.</p>

<p>The symbol SUN3 is used in conditionals and set to n at one point, but there
is no place where it is set to y.</p>

<p>The symbol FB_CONSOLE is set at one point but never used in either C or
config language code.</p>

<p>The symbol ABSTRACT_CONSOLE is not used in C code, nor set anywhere in
config code.</p>

<p>The symbol AIC7XXX_TAGGED_QUEUEING is set in the sparc64 configuration code,
but not used in C code. I suspect it should be AIC7XXX_TCQ_ON_BY_DEFAULT.</p>

<p>The symbol ADB_PMU68K defined in the M68K driver is not referenced anywhere
in the config code and not used in the C code. It seems to be a misspelling
of ADB_PMU. I have eliminated it.</p>

<p>In the ARM port configuration, symbols ARCH_TBOX and ARCH_SHARK and
ARCH_NEXUSPCI and ARCH_NEXUSPCI are referenced but never associated with a
query or defined.</p>

<p>There are two symbols in the configuration code that seem to relate to
endianness on processors that can operate in either big-endian or
little-endian mode. One is CPU_LITTLE_ENDIAN (in the MIPS ports) and the
other is LITTLE_ENDIAN (in the SuperH port). Neither is used in the C code;
CPU_LITTLE_ENDIAN is used in a guard, once, in the MIPS32 config. I have
changed LITTLE_ENDIAN to CPU_LITTLE_ENDIAN.</p>

<p>The symbol PRINTER_READBACK is queried for once, but never used in the
config or C code. I suspect it should have been asking for PARPORT_1284.</p>

<hr />

<p>Note: this announcement was crossposted to the linux-kernel and linux-kbuild
lists. You may want to use group reply in respnding to it to reach both
populations.</p>

<p>Port maintainers and others with a continuing interest in the development of
CML2 should probably join the kbuild list -- subscribe in the usual way via
linux-kbuild-request@torque.net</p>

</quote>

<p>There were a few minor complaints (the URL didn't work at first, etc.) and
one big one: the code was written in python. Alexander Viro put it, <quote
who="Alexander Viro">Dependency on Python is definitely a problem - not
everyone uses 'everything and a kitchen sink' type of userland.</quote> Alan
Cox replied, <quote who="Alan Cox">Python is actually pretty small and you
need it on the build box not on the runtime host.</quote> Eric also replied
to Alexander, saying:</p>

<quote who="Eric S. Raymond">

<p>I'm aware of the problem :-).  Python programs
can be compiled to portable C sources using the `freeze' tool. The
translation is inelegant (it embeds a Python byte-code interpreter in the
generated C) but it works. So a working CML2 configurator can be shipped for
an environment without Python.</p>

<p>Even if this weren't true, we'd be trading dependencies and not adding one.
The Perl stuff in the scripts directory will go away shortly (that is,
assuming that Linus approves the CML1-&gt;CML2 change). This would be a net
gain in kernel autonomy, as Perl *can't* be compiled away.</p>

</quote>

<p>James Sutherland pointed out that in fact it could, and various other
linguistic comparisons started throwing off sparks. A perl vs. python war
seemed likely to break out, with various people trying to pour buckets on
the flames before the curtains caught.</p>

<p>In one place, on the possibility of rewriting CML2 in C, Peter Samuelson
remarked historically, <quote who="Peter Samuelson">When Eric first brought
his proposal to linux-kbuild a few months ago, we made him promise to draft
a full language spec (as opposed to just a RTSL spec). This is one reason --
so it can be reimplemented accurately. In fact, depending on how well I end
up liking his language (haven't downloaded it yet, but I remember roughly
what it looked like in earlier design stages -- it did seem sane) I might
take this on myself. Because I don't know if I want to see the extra tool
requirement.</quote></p>

<p>Eric replied, <quote who="Eric S. Raymond">I feel impelled to note that the
kbuild guys didn't "make" me promise that -- I would have written a careful
language description anyway because I just *do* things that way. It's called
professionalism, or something.</quote> And Peter amended, <quote who="Peter
Samuelson">I know, sorry for implying otherwise. MEC</quote> [Michael
Elizabeth Chastain] <quote who="Peter Samuelson">asked you to, as I recall,
and you said you had already planned on it.</quote></p>

<p>Elsewhere, Larry McVoy interupted the arguing to remark, <quote who="Larry
McVoy">I'd just like to welcome Eric back to programming. I personally think
that you lead by example, and what better way to lead a bunch of programmers
than by programming? Welcome back, Eric, it's good to see you doing what you
do so well.</quote> Eric replied:</p>

<quote who="Eric S. Raymond">

<p>The truth is that I never stopped coding. But I
guess this list can't be expected to be au courant on SNG or pnglib or the
other stuff I've been up to in the last year.</p>

<p>I wrote a lot of CML2 on my VAIO in hotel rooms and on plane flights. Coding
is how I stay sane amidst the suits and journalists.</p>

</quote>

<p>Elsewhere, under the Subject: <a
href="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_05/msg00342.html">CML2
version 0.18 is available</a>, Eric announced:</p>

<quote who="Eric S. Raymond">

<p>This version fixes some curses-mode lockups
reported by Giacomo Catenazzi and David Kamholz; I had a crucial test
reversed :-(.</p>

<p>This version also online command help, a go-to command, and a search command
to the Tk interface.</p>

</quote>

<p>Later on, he announced 0.2.0, 0.2.3, and 0.2.9 (at which point he said,
<quote who="Eric S. Raymond">We seem to be closing in on production-ready
status.</quote>) At around this point, under the Subject: <a
href="http://kernelnotes.org/lnxlists/linux-kernel/lk_0006_01/msg00824.html">State
of CML2</a>, he explained:</p>

<quote who="Eric S. Raymond">

<p>It occurs to me that amidst the noise of debate
about CML2's implementation and my point release announcements, many people
on the list may not be aware of the capabilities CML2 has grown since I
announced it last week.</p>

<p>So here is a brief list of things CML2 can do, *right now*, given a correct
rulebase:</p>

<p>
<ol>

<li>When a symbol is turned on, all the stuff it requires is turned on as
well. Thus, features can be selected in any order.</li>

<li>Invalid configurations will be caught at the moment you try to create
them. In fact, the configurator won't let you create an inconsistent
configuration at all; instead, you get notified of the rules it would break
and your last change (including its side effects) is backed out.</li>

<li>You can search for symbols matching a given regexp in their name or
prompt. The search hits are presented as a menu like any other menu. You can
also go to a symbol by name.</li>

<li>In the normal, "top-down" view, questions are not visible until you have
enabled all their pre-requisites. Thus (for example) you won't even see
questions about individual SCSI drivers unless you specify that you want to
support SCSI.</li>

<li>However, there is a switch you can flip which will cause all symbols to
show, so you can configure "bottom-up" by specifying your hardware and
letting the front end deduce what it needs.</li>

<li>I fibbed a bit in point 5. It is possible to commit or "freeze" symbols
so they are never queried for, even in bottom-up mode. In particular, the
equivalent of "make oldconfig" works by reading in your .config, freezing
all the symbols in it, and then using those to deduce most of the rest of
your configuration.</li>

</ol>
</p>

<p>For balance, here is a list of CML2's known problems.</p>

<p>
<ol>

<li>The Tk front end sometimes creates panels too large for the screen. The
xconfig trick using a canvas and scrollbar is the *only* CML1 thing that
CML2 can't yet do.</li>

<li>The curses front end cannot yet edit string values longer than 8
chars.</li>

<li>The curses front end, as of two days ago, still had some crash bugs.
These may be gone now but I'm not holding my breath. It will probably take
another week to be reasonably sure they're nailed.</li>

<li>Turning module support on and then off may leave some module symbols
stranded in a bad state.</li>

</ol>
</p>

<p>These things will be fixed.  I have some long plane flights coming up
:-).</p>

</quote>

</section>

<section
  title="Adaptec Blows Off Kernel Developers"
  subject="Adaptec AAA-131U2 RAID"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_04/msg00953.html"
  posts="7"
  startdate="26 May 2000 00:00:00 -0800"
  enddate="30 May 2000 00:00:00 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>

<mention>Alan Cox</mention>

<p>Rick Stevens asked if the Adaptec AAA-131U2 RAID controller was supported
under Linux. Andre Hedrick said that if that was their ATA RAID then no, it
was not supported, and he went on with gar, <quote who="Andre Hedrick">If
they can not get off their ASS to meet me when I call them about it and show
up in their campus the day they announce a press release, they can write it
themselves for all I care at this point in time......</quote> But Alan Cox
corrected him, saying that Rick's hardware was Adaptec's Ultra2 SCSI RAID,
and was not supported. But someone else pointed out that the card could be
induced to work as a regular SCSI adapter, using the aic7xxx driver.</p>

<p>Elsewhere, Andre went into more detail:</p>

<quote who="Andre Hedrick">

<p>I need to explain why I am upset with them......
Back at LinuxWorld they asked me to work with them on development. They
never called upon the product release. They choose to ignore me after asking
for help. It is a matter of professionalism given to the OS regardless of
the people involved.</p>

<p>Think of it as not showing up for a blind date.</p>

</quote>

<p>Steven N. Hirsch replied with darkened brow, <quote who="Steven N.
Hirsch">Actually, I think of it as being "business as usual" for Adaptec.
They seem to go out of their way to be uncooperative.</quote></p>

</section>

<section
  title="Troubles Getting NFS Fixes Into 2.2.x"
  subject="Linux 2.2.16pre5"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_04/msg00981.html"
  posts="76"
  startdate="27 May 2000 00:00:00 -0800"
  enddate="03 Jun 2000 00:00:00 -0800"
>
<topic>FS: NFS</topic>

<p>Alan Cox announce 2.2.16pre5, and Chip Salzenberg implored, <quote who="Chip
Salzenberg">Trond, Neil, and Dave Higgen have NFS rock-solid. Could we
please get it into 2.2.16? Please?!?!</quote> Alan replied, <quote who="Alan
Cox">How many thousand testers on how many OS's ? I have Trond's small
lockup fix in. That'll do for now. There are reasons for doing 2.2.16
promptly or I'd be willing to try the new NFS patches.</quote> Chip sighed,
and asked if they might make it into 2.2.17. Alan replied, <quote who="Alan
Cox">Never a guarante, but we definitely need to get the NFS stuff in and
tested.</quote> Chip argued that it had been well tested by various folks,
and Alan compromised, <quote who="Alan Cox">we'll give it a spin but
understand that if it generates a pile of 'it broke' mail it goes back
out.</quote></p>

<p>Andi Kleen pointed out, <quote who="Andi Kleen">The new NFS code requires
user land updates for nfs-tools/knfsd. Is that appropiate for a 2.2
kernel?</quote> Elsewhere but close by, Alan said, <quote who="Alan
Cox">Either they make it work with the existing tools as shipped by the
vendors or it doesnt go in. It has to work as well as before with the old
tools.</quote> But, also close by, Neil Brown objected, <quote who="Neil
Brown">Which came first, the chicken or the egg? Having full v3 support in
the kernel might help encourage util-linux to get up-to-date.</quote></p>

<p>Elsewhere, under the Subject: <a
href="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_05/msg00409.html">Linux
2.2.16pre6</a>, in the course of discussion, David Weinehall lamented Alan's
plan to release 2.2.16 without NFS. He said, <quote who="David Weinehall">I
know that this seems a little narrow-sighted, but NFSv3 (or indeed, any
NFS-related fixups) has been on hold for so long now that I've lost count.
For every new kernel release, I hold my hopes up "Yes, now we can spend the
time between this minor and the next one merging NFS-fixes and testing them
out properly", but so far, nothing of the kind has happened.</quote> Alan
replied that there were good reasons to get 2.2.16 out as soon as possible.
Ben McCann asked what these reasons were, and Stephen Frost replied, <quote
who="Stephen Frost">2.2.15 ain't the best, from what I understand.</quote>
There followed a few scattered reports against 2.2.15, but nothing
comprehensive.</p>

</section>

<section
  title="Backporting Filesystem Fixes To 2.2/2.0"
  subject="[PATCH] 2.2.X fix ext2 socket filetype"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_04/msg01086.html"
  posts="7"
  startdate="27 May 2000 00:00:00 -0800"
  enddate="01 Jun 2000 00:00:00 -0800"
>
<topic>FS: ext2</topic>
<topic>FS: ext3</topic>

<mention>Stephen C. Tweedie</mention>
<mention>Alan Cox</mention>
<mention>Jamie Lokier</mention>
<mention>Theodore Y. Ts'o</mention>

<p>Andreas Dilger posted a short patch against linux-2.2.14/fs/ext2/namei.c,
and said, <quote who="Andreas Dilger">Alan, can you please add the following
patch into the 2.2.16-pre tree. It is a back-port of a fix in 2.3 which adds
the missing de-&gt;file_type information for sockets in ext2. Without this
patch, e2fsck complains about all of the inodes in the filesystem that are
sockets because the filetype hasn't been set. This is easily seen after a
crash and e2fsck on /tmp when X/Enlightenment/Gnome have been running, since
they create a lot of named sockets.</quote> Alan Cox replied that he'd
forwarded the patch along to Stephen C. Tweedie and Theodore Y. Ts'o, but
hadn't heard back one way or the other. He said if he didn't hear from them
soon he'd just use his own judgement. Jamie Lokier said he thought the patch
looked OK; and Theodore replied that he seemed to have lost Alan's email,
but that if the backport from 2.3 to 2.2 was straightforward, it should be
OK. David Weinehall came in at this point, to ask if he should port the code
back to 2.0; but Andreas replied, <quote who="Andreas Dilger">Nope, the
filetypes feature is not implemented in the 2.0 kernels at all for ext3, so
it isn't just a matter of fixing a few lines. However, you may be interested
in Ted's backport of the "sparse super" ext2 support for 2.0. This reduces
filesystem overhead considerably for large filesystems, as well as speeding
up e2fsck a bit.</quote> And David ended the thread with, <quote who="David
Weinehall">Ted's sparse superblocks patch has been included in
pre-patch-2.0.39-pre2</quote></p>

</section>

<section
  title="Sound Confusion On Dell Latitudes; No Docs From Neomagic"
  subject="NM256 audio trouble"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_05/msg00036.html"
  posts="6"
  startdate="29 May 2000 00:00:00 -0800"
  enddate="30 May 2000 00:00:00 -0800"
>

<p>Per Lundberg reported trouble with trying to get sound working on his Dell
Latitude LS with the Dell Neomagic chip. The entire machine would hang right
after the NM256 module initialized (later, he elaborated, <quote who="Per
Lundberg">it's the correct chip. The driver detects it and everything, but
there seems to be some incompatibility. If it would just oops or crash
normally, it would be so much easier to debug...</quote>). Alan Cox replied
that this driver wouldn't work on Dell Latitudes, and suggested that the
OPL3-SA might work with some luck. Kjartan Maraas replied that actually, the
NM256 did work on his Dell Latitude CPiA PII 366 with the 256 AV chip. Sean
Harding also reported success with an identical machine. Alan admitted that
he hadn't meant to say that the driver didn't work on <i>any</i> Dell
Latitude, only that it wouldn't work on that particular one. He went on:</p>

<quote who="Alan Cox">

<p>Its all really odd. It appears there are three species
of neomagic audio - or one that has 3 microcode sets. We have no docs from
neomagic so it is tricky to tell.</p>

<p>Some of them are nm256 driver, some are opl3sa* and some think they are
sound blasters.</p>

<p>Confused ? join the club.</p>

</quote>

</section>

<section
  title="Porting International Patch To Recent Stable Kernels"
  subject="2.2.15int"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_05/msg00079.html"
  posts="7"
  startdate="29 May 2000 00:00:00 -0800"
  enddate="30 May 2000 00:00:00 -0800"
>

<mention>Andrew Pam</mention>
<mention>Gleb Natapov</mention>
<mention>Andrew Morton</mention>

<p>Someone asked when the international/crypto patch would be available for
2.2.15; Bartlomiej Zolnierkiewicz gave a pointer to <a
href="http://www.sericyb.com.au/patch-int-2.2.15.1.bz2">the patch</a> and
added, <quote who="Bartlomiej Zolnierkiewicz">It's dated 2000-05-07 and
Xanni posted announce the same day.</quote> Igmar Palsenberg took a
stauncher approach, telling the original poster, <quote who="Igmar
Palsenberg">stop wining, and patch it yourself.</quote> Andrew Morton felt
that this was a bit harsh, and that on the scale of cluelessness, the
original poster could have scored a lot worse. At this point the original
poster came back, explained that the intention was not to hurry anyone, the
patch was just needed for a server at work. Gleb Natapov quoted Andrew Pam's
announcement of the latest international patch, and H. Peter Anvin ended the
thread with, <quote who="H. Peter Anvin">Note, if someone is actually
maintaining the kerneli patches these days, with the new U.S. export rules
we can actually make space for them on kernel.org. Please contact &lt;<a
href="mailto:ftpadmin@kernel.org">ftpadmin@kernel.org</a>&gt;.</quote> There
was no reply.</p>

</section>

<section
  title="Anti- Open Source Article Discussed"
  subject="Bertrand Meyer challenges some open-source assumptions"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_05/msg00081.html"
  posts="10"
  startdate="29 May 2000 00:00:00 -0800"
  enddate="31 May 2000 00:00:00 -0800"
>
<topic>Sound: OSS</topic>

<mention>Richard M. Stallman</mention>
<mention>Steve Dodd</mention>

<p>Henrik Eriksson gave a pointer to <a
href="http://www.sdmagazine.com/features/2000/03/f4.shtml">"The Ethics Of
Free Software"</a> by Bertrand Meyer, <quote who="Henrik Eriksson">a famous
guru in objectorientation.</quote> Alan Cox asked sardonically, <quote
who="Alan Cox">Is this the guy who designed Eiffel and now has a competing
free Eiffel compiler to worry about ?</quote> And James Sutherland replied,
quoting the article:</p>

<quote who="James Sutherland">

<p>You'd never guess - "For example the GNU
Eiffel compiler was developed at the University of Nancy by employees of
that university who (in contrast with commercial Eiffel vendors, who need
paying customers to survive) get every month a salary from the State,
whether the users are happy or not with the product. This is a typical case
of taxpayer-funded software. "</p>

<p>Translation: "I can't take the competition, so I'm trying FUD instead."</p>

<p>I'm halfway through the article so far, and he's contradicted himself in
every paragraph. I can't wait to see the rest...</p>

</quote>

<p>Steve Dodd gave a pointer to a <a
href="http://www.advogato.org/article/94.html">discussion of the article</a>
on <a href="http://www.advogato.org">advogado</a>, but added that the
linux-kernel thread was probably getting off-topic. Horst von Brand gave the
article a read, and reported (referring to Richard M. Stallman and Eric S.
Raymond by their initials):</p>

<quote who="Horst von Brand">

<p>No hard facts, quotes other people without
giving a shred of evidence on why they say what they say against Linux (Ken
Thompson might find it worse than Windows, but on what grounds?). RMS's
opinions on free software are automatically to be dismissed because of his
inflamatory writings, and somewhat peculiar views, and with them the whole
GNU idea. Whatever ESR advocates is wrong because he is a firearm nut (I'm
against firearms myself, that doesn't make me respect ESR's opinion on
software less). So, due to this "highly moral" problems, OSS is bad for you.
After telling you in detail that "The observation [that highly moral people
can advocate evil causes] works the other way too: bad people can defend
good causes. A corrupt and dishonest politician may sincerely support
principles of democracy and freedom. His personal failings do not disqualify
the ideas of democracy and freedom any more than the Nazi regime's
impressive building of autobahnen disqualifies the merits of freeways."</p>

<p>Nice troll, this one. Best done example of ad hominem I've seen in a long
time. But please take it elsewhere.</p>

</quote>

<p>David Parsons gave his reaction as well, saying, <quote who="David
Parsons">Well, it will certainly be good for pushing up the circulation, but
chumming the water with guns and communism usually is. It would have been
better if he'd not spent so much time poking holes in rms, but had edited
his article to make it a little bit tighter.</quote></p>

<p>Almost all of those were single-post subthreads stemming off of the initial
post. Ian Soboroff started an actual (though small) discussion, with his
take on the article:</p>

<quote who="Ian Soboroff">

<p>it mostly seems to be a diatribe on (a) RMS's
definition of free software and (b) ESR's perspectives on gun rights. he has
a couple interesting but certainly not new things to say about RMS's views,
some rather bald statements on the topics of ethics in general, some more
rather bald statements about economics in general, and lots of vitriol about
guns.</p>

<p>bondage-and-discipline ethics to go with a b&amp;d language.</p>

</quote>

<p>Eric S. Raymond came into the discussion, remarking on Ian's final
sentence:</p>

<quote who="Eric S. Raymond">

<p>Heh.  Putting it that way is funnier than you
know -- because the term "bondage-and-discipline language" was originated by
one of the targets of Meyer's vitriol.</p>

<p>(It was me.  But it could just as easily have been RMS; he loves the
term.)</p>

</quote>

<p>Ian replied:</p>

<quote who="Ian Soboroff">

<p>that i didn't know... hah!  mind if i ask the
context?</p>

<p>of course, i have two misgivings about the line... (1) there are a couple
things i actually like about Eiffel, and (2) i'm jewish... we invented b&amp;d
ethics ;-)</p>

</quote>

<p>Eric quoted one of his usenet posts from December 19<b>8</b>8 (quoted in
part):</p>

<quote who="Eric S. Raymond">

<p>From postnews Thu Dec 22 15:07:46 1988<br />
Newsgroups: comp.lang.misc<br />
Subject: Re: colon-equal vs equal<br />
Message-ID: &lt;eWbWj#4OkIf8=eric@snark.UUCP&gt;<br />
Date: 22 Dec 88 20:02:04 GMT<br />
References: &lt;3300001@uxg.cso.uiuc.edu&gt;<br />
Status: RO</p>

<p>In article &lt;3300001@uxg.cso.uiuc.edu&gt;, phil@uxg.cso.uiuc.edu
writes:</p>

<blockquote>

<p>&gt; How did the := come into being in languages like Algol, Pascal, and
Ada?</p>

</blockquote>

<p>It originated with ALGOL-60. The European `bondage-and-discipline' school of
language design (the people who brought you Algol-68, Pascal, Modula, Ada,
and Modula-2 and are now having yet another try at getting their mistakes
right in Modula-3) likes to claim apostolic descent from that language, and
they've retained := and some of its other crotchets.</p>

</quote>

</section>

<section
  title="aic7xxx Problems In Latest ac Kernels"
  subject="2.4.0test1-ac4/5 problems"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_05/msg00165.html"
  posts="3"
  startdate="29 May 2000 00:00:00 -0800"
  enddate="30 May 2000 00:00:00 -0800"
>

<p>Someone was having trouble getting the aic7xxxx driver to work under
2.4.0-test1-ac4 and ac5. Jon Akers confirmed this on ac5, and Alan Cox
replied briefly, <quote who="Alan Cox">The scsi fixes broke the aic7xxxx
driver. At first glance it seems to be the driver that is the
problem.</quote></p>

</section>

<section
  title="Some Success With X Under user-mode Linux"
  subject="user-mode port 0.24-2.3.99-pre9"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0005_05/msg00200.html"
  posts="5"
  startdate="29 May 2000 00:00:00 -0800"
  enddate="01 Jun 2000 00:00:00 -0800"
>
<topic>Framebuffer</topic>
<topic>User-Mode Linux</topic>

<mention>Pavel Machek</mention>

<p>Jeff Dike announced:</p>

<quote who="Jeff Dike">

<p>The user-mode port of 2.3.99-pre9 is available.</p>

<p>There is now a real hardware interrupt mechanism, which I got by copying the
i386 irq code, and wrapping user-mode stuff around it. The consoles and
network device now do their I/O off interrupts rather than the timer, which
greatly reduces latency. The interactive feel is much better, especially
under X.</p>

<p>As a side-effect of this, 'cat /proc/interrupts' will no longer hang the
kernel :-)</p>

<p>I fixed the stair-stepping problem with the console output.</p>

<p>I also fixed the problem that some people had running kernels that they had
built themselves. So, if you built a -pre8 kernel from source, and it did
nothing but hang, that's fixed.</p>

<p>I've also got some caveats to go with this batch of good news.  Now that
this port is much more interrupt-driven, it is more prone to races. I've
fixed a bunch of them, but I still see an occasional process segfault.</p>

<p>There is also a slight difficulty at times with the network.  Sometimes
packets will stop flowing. I have no idea why, but typing at a console will
wake things up and get those packets flowing again. This is most easy to
reproduce under X (start an xterm and a window manager and wave the mouse in
and out of the xterm, and after a while, the xterm will stop blinking and
the mouse will stop changing shape), but I've also seen it affect ping.</p>

<p>The project's home page is <a
href="http://user-mode-linux.sourceforge.net">http://user-mode-linux.sourceforge.net</a>
The project's download page is <a
href="http://sourceforge.net/project/filelist.php?group_id=429">http://sourceforge.net/project/filelist.php?group_id=429</a></p>

</quote>

<p>Pavel Machek asked if, since Jeff was talking about reproducing a problem
under X, this meant that X was working under user-mode Linux. Jeff replied:</p>

<quote who="Jeff Dike">

<p>Yeah, that's actually worked for a while.  I just
haven't gone out of my way
to publicize it.</p>

<p>This is how to do it:</p>

<p>Install the X clients in your favorite user-mode root filesystem.  Make sure
you get Xnest. Boot it up and bring the network up if it isn't already. If
necessary, xhost the virtual machine on the host. In the virtual machine run
'DISPLAY=host:0 Xnest &amp;' You'll get an Xnest window, and you can then
set your DISPLAY to :0 and run whatever X clients you want. What I normally
do is 'DISPLAY=:0 fvwm2 &amp;' That gives me a window manager and enough of
an environment to do what I want without needing to go back to the console.</p>

<p>This is a rerun url (I ran it last week as a demo of the virtual network),
but have a look at <a
href="http://user-mode-linux.sourceforge.net/net.html">http://user-mode-linux.sourceforge.net/net.html</a>.
It's a screenshot of a virtual net, but Xnest is also involved.</p>

</quote>

<p>Pavel remarked that he'd been hoping Jeff would have used the framebuffer,
which would prevent malicious apps from connecting to the X server directly
and capturing keystrokes. Jeff replied:</p>

<quote who="Jeff Dike">

<p>I did it that way to exercise the kernel and to
demonstrate that it could run its own local X server.</p>

<p>If you were running it as a sandbox, you would put the Xnest outside,
running on the host. You'd make sure that it accepted connections from the
virtual machine and that your native X server didn't. That way, the only
server available to evil proggies running inside the virtual machine is the
Xnest, which can be made to go away with a click of the mouse if it starts
trying nasty things like creating infinite windows.</p>

</quote>

</section>

<section
  title="Trying To Reserve System Call Table Entries"
  subject="Syscall number allocation"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0006_01/msg00428.html"
  posts="7"
  startdate="02 Jun 2000 00:00:00 -0800"
  enddate="05 Jun 2000 00:00:00 -0800"
>

<mention>Alan Cox</mention>
<mention>Olaf Titz</mention>

<p>Josh Huber asked about the procedure for reserving syscall table entries. He
explained, <quote who="Josh Huber">I'm working on getting a new version of
our crash dump system ready, and binary compatibility for the user-space
part between kernel versions would be a big plus for users,</quote> and went
on, <quote who="Josh Huber">I'm told that Linus is somewhat anti debugging
systems in the kernel, so it seems like the only route to make using our
system and painless as possible would be to have system call entries marked
as unimplemented, which would be filled in when you apply our patch.</quote></p>

<p>Victor Khimenko explained Linus' stance, <quote who="Victor Khimenko">Not
anti-debugging. His opinion is simple: kernel debuggers tend to affect
system functionaly and it's NOT what you want when kernel works non-properly
and when kernel works properly why you need kernel debugger in first place ?
Some debugging facilities can be added (was added, will be added) if it does
not affect work of kernel when there are no bugs... On other hand he has
VERY strong opinion AGAINST crash dump systems. EVEN if it does not affect
normal system behaviour. Of course he can change his mind sometime in future
but before it happens probability of getting ANY support for such system
(including syscall numbers) is exactly zero.</quote> H. Peter Anvin remarked
in reply, <quote who="H. Peter Anvin">Actually, the "procedure" is to
convince Linus to let you reserve a syscall number; he will put it in the
kernel as unimplemented. It has been done, I belive, twice: once for afs and
once for STREAMS.</quote></p>

<p>Alan Cox and Olaf Titz both wondered why Josh needed this to be a syscall,
and Josh replied to Alan, <quote who="Josh Huber">That's a good question.
The answer is, it doesn't really -- I'll take a look at alternatives. Using
a /dev/ entry would also alleviate the problem of updating architecture
dependant syscall entries.</quote></p>

</section>

<section
  title="Hotplugging All Hardware"
  subject="Hot pluggable CPUs ( was Linux 2.5 / 2.6 TODO (preliminary) )"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0006_01/msg00492.html"
  posts="24"
  startdate="03 Jun 2000 00:00:00 -0800"
  enddate="05 Jun 2000 00:00:00 -0800"
>
<topic>Hot-Plugging</topic>
<topic>PCI</topic>

<mention>Andrew Sharp</mention>

<p>In the course of discussion, Andrew Sharp remarked that hot-plug CPU's would
be easy to implement. Hot-plug RAM, on the other hand, he felt would be much
more difficult. James Sutherland went with it, musing:</p>

<quote who="James Sutherland">

<p>It shouldn't be all that harder. Harder than
killing a CPU, certainly, but far from impossible. Mark the range as
unavailable, then page out any user pages from that region. Most kernel
pages could just be moved elsewhere; the big problem will be devices using
buffers for DMA. Presumably the best way to solve that would be either to
reinitialise that driver (rmmod, insmod) or to have a way to tell the driver
to perform the move itself.</p>

<p>Except for reinitialising the drivers, the only impact should be a
performace hit while the memory contents are moved. With the right driver
modifications, we could avoid any actual loss of functionality during the
transition.</p>

<p>This is, IMHO, quite an attractive idea: a fully hot-swappable system, where
any failed component can be replaced without any downtime.</p>

</quote>

<p>Bruce Guenter tried to grab the reins, with, <quote who="Bruce Guenter">And
how do you plan on swapping out the motherboard that everything connects
into?</quote> But James bucked, with:</p>

<quote who="James Sutherland">

<p>Every "component" is mounted on a carrier
board; this then connects to a pair of backplanes. Each individual component
can, obviously, be replaced; you can also remove/disable one backplane at
once without downtime.</p>

<p>The next issue is to enable software upgrades without downtime. For
applications, this can be done by installing the new version, then
signalling the old version to "exec" the new one. (Apache can do something
similar with configuration files already.) For a WWW server, for example,
this can be done without dropping or refusing a single connection.</p>

<p>The kernel itself would be harder, of course. Kernel modules could do
something similar - just unload the old one and reload the new one, taking
care to avoid anything trying to use the module in the mean time - leaving
just the core code - memory management etc., which would be much more
difficult.</p>

</quote>

<p>The discussion continued in good fun, with various objections and answers.
At one point, James remarked:</p>

<quote who="James Sutherland">

<p>There are quite a few specialist systems which
do similar things; the one which springs to mind is Tandem's Himalaya
series, but they aren't the only player by any means.</p>

<p>Right now, it's a very specialised area - but it is certainly becoming less
so. Servers like Sun's E10k Starfire systems implement partitioning, for
example, and things like hotplug PCI are appearing. Soon, this sort of N+N
redundancy could be relatively common in high-end servers: it would be nice
to see Linux getting there first...</p>

</quote>

</section>

<section
  title="Winmodem Progress"
  subject="RFC Maestro-3i"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0006_01/msg00720.html"
  posts="12"
  startdate="04 Jun 2000 00:00:00 -0800"
  enddate="05 Jun 2000 00:00:00 -0800"
>
<topic>Modems</topic>
<topic>Sound: Maestro</topic>

<mention>Pavel Machek</mention>

<p>In the course of discussion, Jeff Garzik summed up the winmodem
situation:</p>

<quote who="Jeff Garzik">

<p>I think when people initially make predictions
about winmodem-type modems not working, they didn't think much about the
momentum of cheap PC hardware and open source.. With so many winmodems out
there today, Linux programmers would inevitably get irked enough to reverse
engineer the hardware support.</p>

<p>In just a year or two, we have gone from "winmodem support is impossible!"
to hardware support for Lucent (and easily added for AC97 modem codecs), and
a V.32 protocol stack in the works. Watch <a
href="http://www.linmodems.org/">http://www.linmodems.org/</a>
periodically.</p>

</quote>

<p>Martin Dalecki (who'd started the thread) replied, <quote who="Martin
Dalecki">As far as I can see there isn't much for reverse engine for in the
ESS Maestro-3i part. I have the specs (anybody can get them on <a
href="ftp://esstech.com.tw">ftp://esstech.com.tw</a>. However this part is
*really really cheap* Blame on HP for including such a piece of CRAP into
such an expensive notebook! And I doubt the timeframe needed to reverse
engineer this thing will be shorter then the time frame during which it will
get obsoleted...</quote></p>

<p>Pavel Machek also replied to Jeff's statement about the inevitability of
reverse engineering winmodems. He said, <quote who="Zach Brown">This has
already happened. I reverse engineered lucent winmodem; I can now do v.21
with fully open-source components [I've actually used it debugging usb].
(Don't get too excited, v.21 is 300bps).</quote></p>

</section>

</kc>
