<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<headquote><a href="http://www.tux.org/lkml/">linux-kernel FAQ</a> |
<a href="http://www.tux.org/lkml/#s3-1">subscribe to linux-kernel</a> | <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html">linux-kernel
Archives</a> | <a href="http://www.kernelnotes.org/">kernelnotes.org</a>
| <a href="http://lxr.linux.no/">LxR Kernel Source Browser</a> |
<a href="http://www.memalpha.cx/Linux/Kernel/">All Kernels</a> | <a
href="http://perso.wanadoo.es/xose/linux/linux_ports.html">Kernel
Ports</a> | <a
href="http://jungla.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html">Kernel
Docs</a> | <a href="http://members.aa.net/~swear/pedia/kernel.html">Gary's
Encyclopedia: Linux Kernel</a> | <a
href="http://kernelnewbies.org/">#kernelnewbies</a></headquote>

<issue num="115" date="23 Apr 2001 00:00:00 -0800" />

<intro>

<p>Checking over the <a href="http://kt.zork.net/authors.html">KC Author's
Page</a>, I see that this issue marks my 2000th thread summary, counting
summaries written for other Cousins.</p>

</intro>

<stats posts="1261" size="5208" contrib="459" multiples="208" lastweek="199">

<person posts="85" size="280" who="Alan Cox " />
<person posts="26" size="131" who="george anzinger " />
<person posts="23" size="84" who="Alexander Viro " />
<person posts="23" size="76" who="Rik van Riel " />
<person posts="22" size="78" who="&quot;Eric S. Raymond&quot; " />
<person posts="21" size="89" who="Jeff Garzik " />
<person posts="20" size="65" who="Jamie Lokier " />
<person posts="18" size="51" who="Jens Axboe " />
<person posts="16" size="45" who="Andi Kleen " />
<person posts="15" size="62" who="Linus Torvalds " />
<person posts="14" size="56" who="Mark Salisbury " />
<person posts="13" size="39" who="&quot;Albert D. Cahalan&quot; " />
<person posts="12" size="43" who="&quot;H. Peter Anvin&quot; " />
<person posts="11" size="208" who="David Howells " />
<person posts="11" size="40" who="Andrew Morton " />
<person posts="11" size="39" who="&quot;Adam J. Richter&quot; " />
<person posts="10" size="92" who="Daniel Phillips " />
<person posts="10" size="50" who="Andreas Dilger " />
<person posts="10" size="38" who="Marcelo Tosatti " />
<person posts="10" size="36" who="Jan Kasprzak " />
<person posts="9" size="84" who="Ed Tomlinson " />
<person posts="9" size="39" who="" />
<person posts="9" size="27" who="Matti Aarnio " />
<person posts="8" size="76" who="Maneesh Soni " />
<person posts="8" size="59" who="&quot;Eric S. Raymond&quot; " />
<person posts="8" size="34" who="&quot;Eugene B. Berdnikov&quot; " />
<person posts="8" size="27" who="Andre Hedrick " />
<person posts="8" size="27" who="Andreas Peter " />
<person posts="8" size="27" who="Miles Lane " />
<person posts="8" size="24" who="Rod Stewart " />
<person posts="7" size="47" who="" />
<person posts="7" size="43" who="" />
<person posts="7" size="26" who=" (Rogier Wolff)" />
<person posts="7" size="24" who=" (Eric W. Biederman)" />
<person posts="7" size="23" who="Russell King " />
<person posts="7" size="23" who="&quot;Jeff V. Merkey&quot; " />
<person posts="7" size="21" who="James Simmons " />
<person posts="7" size="21" who="" />
<person posts="7" size="18" who="&quot;David S. Miller&quot; " />
<person posts="7" size="17" who="David Woodhouse " />
<person posts="6" size="25" who="Arthur Pedyczak " />
<person posts="6" size="24" who="Joseph Carter " />
<person posts="6" size="23" who="Boris Pisarcik " />
<person posts="6" size="22" who="Anton Altaparmakov " />
<person posts="6" size="20" who="Bart Trojanowski " />
<person posts="6" size="19" who="Pavel Machek " />
<person posts="6" size="16" who="" />
<person posts="5" size="21" who="" />
<person posts="5" size="18" who="&quot;Richard B. Johnson&quot; " />
<person posts="5" size="18" who="" />
<person posts="5" size="17" who="Geert Uytterhoeven " />
<person posts="5" size="16" who="Steven Cole " />
<person posts="5" size="15" who="&quot;Petr Vandrovec&quot; " />
<person posts="4" size="40" who="Mario Mikocevic " />
<person posts="4" size="26" who="Andrea Arcangeli " />
<person posts="4" size="19" who="&quot;Mark Salisbury&quot; " />
<person posts="4" size="17" who="" />
<person posts="4" size="17" who=" (Linas Vepstas)" />
<person posts="4" size="16" who="Bret Indrelee " />
<person posts="4" size="16" who="Mark Hounschell " />
<person posts="4" size="16" who="Marcus Meissner " />
<person posts="4" size="15" who="=?iso-8859-1?Q?Jakob_=D8stergaard?= " />
<person posts="4" size="15" who="Szabolcs Szakacsits " />
<person posts="4" size="15" who="Ben Greear " />
<person posts="4" size="14" who="David Schleef " />
<person posts="4" size="13" who="Andreas Ferber " />
<person posts="4" size="12" who="Giuliano Pochini " />
<person posts="4" size="12" who="Christoph Hellwig " />
<person posts="4" size="12" who="Jonathan Morton " />
<person posts="4" size="11" who="&quot;Manfred Spraul&quot; " />
<person posts="4" size="11" who="Olaf Titz " />
<person posts="4" size="10" who="Doug McNaught " />
<person posts="4" size="10" who="Christoph Hellwig " />
<person posts="4" size="10" who="Bernd Eckenfels " />
<person posts="4" size="9" who="Marc SCHAEFER " />
<person posts="4" size="9" who="" />
<person posts="3" size="33" who="Mircea Damian " />
<person posts="3" size="18" who="SodaPop " />
<person posts="3" size="16" who="Manfred Spraul " />
<person posts="3" size="15" who="&quot;Hubertus Franke&quot; " />
<person posts="3" size="14" who="Tim Meushaw " />
<person posts="3" size="14" who="Anton Altaparmakov " />
<person posts="3" size="13" who="=?iso-8859-1?Q?J=F6rn?= Nettingsmeier " />
<person posts="3" size="13" who="Matthew Grant " />
<person posts="3" size="12" who="Jeff Chua " />
<person posts="3" size="12" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="3" size="12" who="Disconnect " />
<person posts="3" size="12" who="FAVRE Gregoire " />
<person posts="3" size="11" who="Marcin Kowalski " />
<person posts="3" size="11" who="Chris Mason " />
<person posts="3" size="11" who="Jaquemet Loic " />
<person posts="3" size="11" who="&quot;Dr. Kelsey Hudson&quot; " />
<person posts="3" size="11" who="info " />
<person posts="3" size="11" who="Erik Mouw " />
<person posts="3" size="10" who="Jonathan Lundell " />
<person posts="3" size="10" who="Karim Yaghmour " />
<person posts="3" size="10" who="Troy Benjegerdes " />
<person posts="3" size="10" who="" />
<person posts="3" size="10" who="Ghadi Shayban " />
<person posts="3" size="10" who="Andreas Schwab " />
<person posts="3" size="9" who="Chris Evans " />
<person posts="3" size="9" who="Ingo Oeser " />
<person posts="3" size="9" who="Chris Meadors " />
<person posts="3" size="9" who="Walt Drummond " />
<person posts="3" size="9" who="&quot;Brian J. Watson&quot; " />
<person posts="3" size="9" who="Anton Blanchard " />
<person posts="3" size="9" who="Douglas Gilbert " />
<person posts="3" size="9" who="Ian Eure " />
<person posts="3" size="9" who="Marko Kreen " />
<person posts="3" size="9" who="John Fremlin " />
<person posts="3" size="9" who="&quot;jeff millar&quot; " />
<person posts="3" size="8" who="Ulrich Drepper " />
<person posts="3" size="8" who="Jan Dvorak " />
<person posts="3" size="8" who="Jeff Golds " />
<person posts="3" size="8" who="&quot;George Bonser&quot; " />
<person posts="3" size="8" who="Mikulas Patocka " />
<person posts="3" size="8" who="Roman Zippel " />
<person posts="3" size="8" who="Dave Jones " />
<person posts="3" size="8" who="Mikael Pettersson " />
<person posts="3" size="8" who="" />
<person posts="3" size="7" who="Dennis Bjorklund " />
<person posts="3" size="7" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="3" size="7" who="Lorenzo Marcantonio " />
<person posts="3" size="6" who="&quot;Justin T. Gibbs&quot; " />
<person posts="2" size="20" who="Rok Papez " />
<person posts="2" size="18" who="&quot;Bobby D. Bryant&quot; " />
<person posts="2" size="17" who="Info " />
<person posts="2" size="14" who="Remko van der Vossen " />
<person posts="2" size="13" who="Hal Duston " />
<person posts="2" size="13" who="Michael Meissner " />
<person posts="2" size="8" who="Doru Petrescu " />
<person posts="2" size="8" who="Joao Paulo Martins " />
<person posts="2" size="8" who="Jon Eisenstein " />
<person posts="2" size="8" who="" />
<person posts="2" size="8" who="Russell Coker " />
<person posts="2" size="8" who="Christoph Rohland " />
<person posts="2" size="8" who="Shane Wegner " />
<person posts="2" size="8" who="Jesse S Sipprell " />
<person posts="2" size="7" who=" (Kai Henningsen)" />
<person posts="2" size="7" who=" (Colonel)" />
<person posts="2" size="7" who="David Weinehall " />
<person posts="2" size="7" who="&quot;Rafael E. Herrera&quot; " />
<person posts="2" size="7" who="Jason Thomas " />
<person posts="2" size="7" who="Tim Waugh " />
<person posts="2" size="7" who="Michael Peddemors " />
<person posts="2" size="7" who="Aaron Lehmann " />
<person posts="2" size="7" who="Friedrich Steven E CONT CNIN " />
<person posts="2" size="7" who="Tim Wright " />
<person posts="2" size="7" who="Athanasius " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="Jesse Pollard " />
<person posts="2" size="7" who="Stefan Becker " />
<person posts="2" size="7" who="Scott Murray " />
<person posts="2" size="7" who="Zdenek Kabelac " />
<person posts="2" size="6" who="Tachino Nobuhiro " />
<person posts="2" size="6" who="Hugh Dickins " />
<person posts="2" size="6" who="Matthias Andree " />
<person posts="2" size="6" who="Rob Landley " />
<person posts="2" size="6" who="Jesse Pollard " />
<person posts="2" size="6" who="Ryan Butler " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Petr Vandrovec " />
<person posts="2" size="6" who="Disconnect " />
<person posts="2" size="6" who="Johannes Erdfelt " />
<person posts="2" size="6" who="Andreas Franck " />
<person posts="2" size="6" who="=?ISO-8859-1?Q?=C9ric?= Brunet " />
<person posts="2" size="6" who="Richard Gooch " />
<person posts="2" size="6" who="Larry McVoy " />
<person posts="2" size="6" who="David " />
<person posts="2" size="6" who=" (Raphael Manfredi)" />
<person posts="2" size="6" who="Steven Walter " />
<person posts="2" size="6" who="&quot;Hen, Shmulik&quot; " />
<person posts="2" size="6" who="&quot;H. Peter Anvin&quot; " />
<person posts="2" size="6" who="&quot;Mike A. Harris&quot; " />
<person posts="2" size="6" who="Horst von Brand " />
<person posts="2" size="6" who="Martin Mares " />
<person posts="2" size="6" who="Ishikawa " />
<person posts="2" size="5" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="2" size="5" who="Francois Romieu " />
<person posts="2" size="5" who="Khalid Aziz " />
<person posts="2" size="5" who="Thorsten Glaser Geuer " />
<person posts="2" size="5" who="Giacomo Catenazzi " />
<person posts="2" size="5" who="David Rees " />
<person posts="2" size="5" who="Moses Mcknight " />
<person posts="2" size="5" who="&quot;Sergey Kubushin&quot; " />
<person posts="2" size="5" who="Steven Cole " />
<person posts="2" size="5" who="Ben Ford " />
<person posts="2" size="5" who="Kurt Roeckx " />
<person posts="2" size="5" who="Rusty Russell " />
<person posts="2" size="5" who="John Jasen " />
<person posts="2" size="5" who="John Madden " />
<person posts="2" size="5" who="Guest section DW " />
<person posts="2" size="5" who="Detlev Offenbach " />
<person posts="2" size="5" who="Pete Zaitcev " />
<person posts="2" size="5" who="Yaroslav Rastrigin " />
<person posts="2" size="5" who="Mark Hahn " />
<person posts="2" size="5" who="J Sloan " />
<person posts="2" size="5" who="&quot;gis88530&quot; " />
<person posts="2" size="5" who="&quot;J . A . Magallon&quot; " />
<person posts="2" size="5" who="Philip Blundell " />
<person posts="2" size="5" who="Frank Fiene " />
<person posts="2" size="4" who="Leif Sawyer " />
<person posts="2" size="4" who="Arjan Filius " />
<person posts="2" size="4" who="Dawson Engler " />
<person posts="2" size="4" who="John Jasen " />
<person posts="2" size="4" who="Lee Leahu " />
<person posts="2" size="4" who="Frank Jacobberger " />
<person posts="2" size="4" who="Gerhard Mack " />
<person posts="1" size="49" who="Mike Phillips " />
<person posts="1" size="39" who="" />
<person posts="1" size="35" who="Byeong-ryeol Kim " />
<person posts="1" size="23" who="&quot;Bharata B . Rao&quot; " />
<person posts="1" size="23" who="J Sloan " />
<person posts="1" size="21" who="=?iso-8859-1?Q?Rasmus_B=F8g_Hansen?= " />
<person posts="1" size="19" who="Merel Christiansen " />
<person posts="1" size="17" who="" />
<person posts="1" size="16" who="J. I." />
<person posts="1" size="16" who="Roy Sigurd Karlsbakk " />
<person posts="1" size="15" who="Nicholas Petreley " />
<person posts="1" size="14" who="Jussi Laako " />
<person posts="1" size="13" who="Scott Prader " />
<person posts="1" size="11" who="Fabien CHEVALIER " />
<person posts="1" size="10" who="Dheeraj Reddy " />
<person posts="1" size="9" who="Jure Pecar " />
<person posts="1" size="8" who="&quot;Cyrille Ngalle&quot; " />
<person posts="1" size="8" who="Forum Linux " />
<person posts="1" size="8" who="Matthias Hanisch " />
<person posts="1" size="8" who="Benjamin Herrenschmidt " />
<person posts="1" size="8" who="Martin Dalecki " />
<person posts="1" size="7" who="Rick Hohensee " />
<person posts="1" size="7" who="Julian Gough " />
<person posts="1" size="7" who="" />
<person posts="1" size="7" who="Jan Harkes " />
<person posts="1" size="6" who="&quot;Todd M. Roy&quot; " />
<person posts="1" size="6" who="" />
<person posts="1" size="6" who="=?iso-8859-1?Q?Nicol=E1s_Lichtmaier?= " />
<person posts="1" size="6" who="juergen mischker " />
<person posts="1" size="6" who="Kate Rosenbloom " />
<person posts="1" size="5" who="battata chafik " />
<person posts="1" size="5" who="&quot;Michael L. Welles&quot; " />
<person posts="1" size="5" who="Daniel Deimert " />
<person posts="1" size="5" who="Dan Podeanu " />
<person posts="1" size="5" who="Harald Welte " />
<person posts="1" size="5" who="Matt Domsch " />
<person posts="1" size="5" who="Josh McKinney " />
<person posts="1" size="5" who=" (Malte Starostik)" />
<person posts="1" size="4" who="Philippe Amelant " />
<person posts="1" size="4" who=" (John Alvord)" />
<person posts="1" size="4" who="Simon Neira " />
<person posts="1" size="4" who="Andrey Panin " />
<person posts="1" size="4" who="Scott Maxwell " />
<person posts="1" size="4" who="Tomas Telensky " />
<person posts="1" size="4" who="David Santinoli " />
<person posts="1" size="4" who="&quot;LSL&quot; " />
<person posts="1" size="4" who="&quot;Adam J. Richter&quot; " />
<person posts="1" size="4" who="Brian Gerst " />
<person posts="1" size="4" who="axel " />
<person posts="1" size="4" who="Chad Hogan " />
<person posts="1" size="4" who="Ben LaHaise " />
<person posts="1" size="4" who="Priit Randla " />
<person posts="1" size="4" who="info " />
<person posts="1" size="4" who="mark salisbury " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="&quot;Bingner Sam J. Contractor RSIS&quot; " />
<person posts="1" size="4" who="&quot;Matt Billenstein&quot; " />
<person posts="1" size="4" who="Jim B " />
<person posts="1" size="4" who="D.W.Howells " />
<person posts="1" size="4" who="Bob McElrath " />
<person posts="1" size="4" who="&quot;Henning P. Schmiedehausen&quot; " />
<person posts="1" size="4" who="Andy Arvai " />
<person posts="1" size="4" who="Ion Badulescu " />
<person posts="1" size="4" who="Michael Raymond " />
<person posts="1" size="4" who="Jochen Striepe " />
<person posts="1" size="4" who="Joel Jaeggli " />
<person posts="1" size="3" who="Dipankar Sarma " />
<person posts="1" size="3" who="Greg Louis " />
<person posts="1" size="3" who="&quot;Pawel Worach, Posten&quot; " />
<person posts="1" size="3" who="David Fries " />
<person posts="1" size="3" who="Mike Castle " />
<person posts="1" size="3" who="&quot;Jon Burgess&quot; " />
<person posts="1" size="3" who="&quot;Heinz J. Mauelshagen&quot; " />
<person posts="1" size="3" who="Thomas Molina " />
<person posts="1" size="3" who="CJ " />
<person posts="1" size="3" who="Heinz Diehl &lt;&gt;" />
<person posts="1" size="3" who="Stephen Satchell " />
<person posts="1" size="3" who="Mike Panetta " />
<person posts="1" size="3" who="David Lang " />
<person posts="1" size="3" who="Roger Larsson " />
<person posts="1" size="3" who="Abramo Bagnara " />
<person posts="1" size="3" who="Jeff Mcadams " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="&quot;W. Michael Petullo&quot; " />
<person posts="1" size="3" who="&quot;Michael C . Wu&quot; " />
<person posts="1" size="3" who="Stephen Torri " />
<person posts="1" size="3" who="Chris Wedgwood " />
<person posts="1" size="3" who="Davide Libenzi " />
<person posts="1" size="3" who="&quot;John Nilsson&quot; " />
<person posts="1" size="3" who="Crispin Cowan " />
<person posts="1" size="3" who="Aaron Lunansky " />
<person posts="1" size="3" who="Patrick Shirkey " />
<person posts="1" size="3" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="1" size="3" who="Jurgen Kramer " />
<person posts="1" size="3" who="Tim lawless " />
<person posts="1" size="3" who="Gunnar Ahlberg " />
<person posts="1" size="3" who="Steve Hill " />
<person posts="1" size="3" who="&quot;Gary White (Network Administrator)&quot; " />
<person posts="1" size="3" who="Pete Toscano " />
<person posts="1" size="3" who=" (Kevin A. Burton)" />
<person posts="1" size="3" who="Jerry Hong " />
<person posts="1" size="3" who="Ben Breuninger " />
<person posts="1" size="3" who="Ookhoi " />
<person posts="1" size="3" who="William Park " />
<person posts="1" size="3" who="Jeremy Jackson " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="&quot;Dmitry A. Fedorov&quot; " />
<person posts="1" size="3" who="&quot;Ola Garstad&quot; " />
<person posts="1" size="3" who="&quot;Thorsten Glaser Geuer&quot; " />
<person posts="1" size="3" who="joker " />
<person posts="1" size="3" who="David Relson " />
<person posts="1" size="3" who="Vojtech Pavlik " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who=" (Pavel =?iso-8859-2?q?Jan=EDk?=)" />
<person posts="1" size="3" who="Jeff Lightfoot " />
<person posts="1" size="3" who="Donald Becker " />
<person posts="1" size="3" who="mirabilos " />
<person posts="1" size="3" who="Theodore Tso " />
<person posts="1" size="3" who="Daniel Kobras " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Erik DeBill " />
<person posts="1" size="3" who="Kanoj Sarcar " />
<person posts="1" size="3" who="Paul " />
<person posts="1" size="3" who="&quot;Michael T. Babcock&quot; " />
<person posts="1" size="3" who="Pozsar Balazs " />
<person posts="1" size="3" who="Chris " />
<person posts="1" size="3" who="&quot;Stephen D. Williams&quot; " />
<person posts="1" size="3" who="&quot;David E. Weekly&quot; " />
<person posts="1" size="3" who="=?us-ascii?Q?Jos=E9_Luis_Domingo_L=F3pez?= " />
<person posts="1" size="3" who=" (Bob_Tracy)" />
<person posts="1" size="3" who="Mike Fedyk " />
<person posts="1" size="3" who="Jan Gregor " />
<person posts="1" size="3" who="&quot;Art Wagner&quot; " />
<person posts="1" size="3" who="Arnaldo Carvalho de Melo " />
<person posts="1" size="3" who="Tim Waugh " />
<person posts="1" size="3" who="Yokota Hiroshi " />
<person posts="1" size="3" who="&quot;MEHTA,HIREN (A-SanJose,ex1)&quot; " />
<person posts="1" size="3" who="=?iso-8859-1?Q?J=F6rn_Engel?= " />
<person posts="1" size="3" who="lmc83 " />
<person posts="1" size="3" who="Oliver Xymoron " />
<person posts="1" size="3" who="Norbert Tretkowski " />
<person posts="1" size="3" who="Yoann Vandoorselaere " />
<person posts="1" size="3" who="NARENDRA L JOSHI " />
<person posts="1" size="3" who="Stefan Frank " />
<person posts="1" size="2" who="&quot;mirabilos&quot; " />
<person posts="1" size="2" who="&quot;Peter T. Breuer&quot; " />
<person posts="1" size="2" who="Scott Rhine " />
<person posts="1" size="2" who="Martin Gadbois " />
<person posts="1" size="2" who="Ulrich Lauther " />
<person posts="1" size="2" who=" (Gunther Mayer)" />
<person posts="1" size="2" who="Daniel Stone " />
<person posts="1" size="2" who="Gilad Ben-Yossef " />
<person posts="1" size="2" who="Peter Kjellerstedt " />
<person posts="1" size="2" who="Nathan Dabney " />
<person posts="1" size="2" who="Bernd Schmidt " />
<person posts="1" size="2" who="Daniel Podlejski " />
<person posts="1" size="2" who="Jochen Friedrich " />
<person posts="1" size="2" who="&quot;John Hawkes&quot; " />
<person posts="1" size="2" who="&quot;Simon Garner&quot; " />
<person posts="1" size="2" who="watermodem " />
<person posts="1" size="2" who="Jeff Dike " />
<person posts="1" size="2" who="Fabien CHEVALIER " />
<person posts="1" size="2" who="David Smith " />
<person posts="1" size="2" who="john slee " />
<person posts="1" size="2" who="Ian Soboroff " />
<person posts="1" size="2" who="root " />
<person posts="1" size="2" who="Ralf Baechle " />
<person posts="1" size="2" who="Mike Dresser " />
<person posts="1" size="2" who="&quot;Roeland Th. Jansen&quot; " />
<person posts="1" size="2" who="Byron Stanoszek " />
<person posts="1" size="2" who="Alexandre Oliva " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Pekka Pietikainen " />
<person posts="1" size="2" who="Fabien CHEVALIER " />
<person posts="1" size="2" who="&quot;Ulrich Windl&quot; " />
<person posts="1" size="2" who="Martin Josefsson " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Giuliano Pochini " />
<person posts="1" size="2" who="Wolfgang Rohdewald " />
<person posts="1" size="2" who="&quot;Michael O'Reilly&quot; " />
<person posts="1" size="2" who="Ray Shaw " />
<person posts="1" size="2" who="&quot;Stephen E. Clark&quot; " />
<person posts="1" size="2" who="Horst von Brand " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Nicolas Pitre " />
<person posts="1" size="2" who="Miri Groentman " />
<person posts="1" size="2" who="&quot;Matthew W. Lowe&quot; " />
<person posts="1" size="2" who="Tom Rini " />
<person posts="1" size="2" who="Joe " />
<person posts="1" size="2" who=" (Chip Salzenberg)" />
<person posts="1" size="2" who="&quot;Andrew Chan&quot; " />
<person posts="1" size="2" who="&quot;La Monte H.P. Yarroll&quot; " />
<person posts="1" size="2" who="Alessandro Suardi " />
<person posts="1" size="2" who="Samuli Kaski " />
<person posts="1" size="2" who="&quot;Mr. Shannon Aldinger&quot; " />
<person posts="1" size="2" who="Albert Wong " />
<person posts="1" size="2" who="Cristian Prevedello " />
<person posts="1" size="2" who="bert hubert " />
<person posts="1" size="2" who="Frank Werner " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Billy Harvey " />
<person posts="1" size="2" who="Tim Moore " />
<person posts="1" size="2" who="elko " />
<person posts="1" size="2" who="Yoav Etsion " />
<person posts="1" size="2" who="Graham Murray " />
<person posts="1" size="2" who="Alan Olsen " />
<person posts="1" size="2" who="Phil " />
<person posts="1" size="2" who="&quot;Udo A. Steinberg&quot; " />
<person posts="1" size="2" who="&quot;Pim Zandbergen&quot; " />
<person posts="1" size="2" who="Malcolm Beattie " />
<person posts="1" size="2" who="Subba Rao " />
<person posts="1" size="2" who="Michael Elizabeth Chastain " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Amit D Chaudhary " />
<person posts="1" size="2" who="Vivek Dasmohapatra " />
<person posts="1" size="2" who="Randolph Bentson " />
<person posts="1" size="2" who="Ralf Baechle " />
<person posts="1" size="2" who="Andrzej Krzysztofowicz " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who=" (Arjan van de Ven)" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who=" (Tor Arntsen)" />
<person posts="1" size="2" who="Tim Hockin " />
<person posts="1" size="2" who="Jacek =?iso-8859-2?Q?Pop=B3awski?= " />
<person posts="1" size="2" who="Blue Lang " />
<person posts="1" size="2" who="Frank Davis " />
<person posts="1" size="2" who="Nate Eldredge " />
<person posts="1" size="2" who="&quot;Srinivas Surabhi&quot; " />
<person posts="1" size="2" who="xcp " />
<person posts="1" size="2" who="=?iso-8859-1?Q?S=E9bastien?= GATTI " />
<person posts="1" size="2" who="Craig Schlenter " />
<person posts="1" size="2" who="&quot;David L. Parsley&quot; " />
<person posts="1" size="2" who="Dave Zarzycki " />
<person posts="1" size="2" who="Thiago Rondon " />
<person posts="1" size="2" who="&quot;Mario Doria&quot; " />
<person posts="1" size="2" who="Dragan Milenkovic " />
<person posts="1" size="2" who="Jonathan Lahr " />
<person posts="1" size="2" who="Pau " />
<person posts="1" size="2" who="Shawn " />
<person posts="1" size="2" who="Olivier Galibert " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Sharath Kumar&quot; " />
<person posts="1" size="2" who="&quot;Heusden, Folkert van&quot; " />
<person posts="1" size="2" who="Rajeev Nigam " />
<person posts="1" size="1" who="Gabriel Rocha " />
<person posts="1" size="1" who="Swivel " />
<person posts="1" size="1" who="Karsten Kreher " />

</stats>

<section
  title="linux-kernel Spam Filter Debate"
  subject="goodbye"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.0/0422.html"
  posts="46"
  startdate="03 Apr 2001 13:01:42 -0800"
  enddate="12 Apr 2001 13:31:19 -0800"
>
<topic>Spam</topic>
<topic>Version Control</topic>
<topic>Virtual Memory</topic>

<mention>Ralf Baechle</mention>
<mention>Michael Peddemors</mention>

<p>Rik van Riel announced that he was leaving the linux-kernel mailing list
because David S. Miller and Matti Aarnio used the MAPS DUL list to prevent
dial-up users from sending mail directly to the list. Michael Peddemors replied
that it would be a shame if Rik left, and added that he felt linux-kernel
should be as open as possible, to encourage the participation from anyone
on earth.  Matti replied, <quote who="Matti Aarnio">I just verified this
particular aspect of VGER's MTA configurations.  It has been unmodified
since 21-Mar-2000, that is, over a year...</quote> He speculated that Rik's
ISP might have added their dialup pools to the DUL registry, and explained,
<quote who="Matti Aarnio">The incentive behind the DUL is to force users
not to post straight out to the world, but to use their ISP's servers for
outbound email --- normal M$ users do that, after all.  Only spammers -
and UNIX powerusers - want to post directly to the world from dialups.
And UNIX powerusers should know better, and be able to use ISP relay service
anyway.</quote> A lot of people replied to this.</p>

<p>Ralf Baechle said that his ISP didn't even allow users to send mail via
the ISP's servers, but actually forced users to send mail directly from their
system. Elsewhere, Graham Murray asked Matti, <quote who="Graham Murray">On
the subject of vger configuration, the FAQ states that vger "will" start using
ECN as of 22 Feb 2001. This does not seem to have happened yet. Has this change
been cancelled or merely postponed?</quote> There was no reply, but elsewhere,
Aaron Lehmann remarked, <quote who="Aaron Lehmann">It scares me that peoples'
messages would be denied based on what degree of connection they choose to
mail via. I sincerely hope that the DUL lists only list netblocks that are
actively being used for spam. This would be sort of like the Usenet Death
Penalty, instating bans on providers who refuse to deal with spamming. I
think that's a lot more acceptable than shutting everyone who happens to
connect to the internet in a certain way from sending mail directly out
of their local machines.</quote> But Olaf Titz replied, <quote who="Olaf
Titz">The DUL is only and explicitly for the purpose of denying access
based on the degree of connection the users can afford.</quote> Elsewhere,
Joseph Carter protested, <quote who="Joseph Carter">My beef is and always has
been with the DUL specifically.  I have no issue with the RBL or RSS lists.
ORBS ... well, they called one of my old ISPs' mail an open relay when it
wasn't and took 3 months to decide to rectify the situation and remove us
from their list.  That doesn't instill much confidence.  The DUL however
is blatant discrimination based on connection class rather than any real
evidence that spammers are at all affected by it.  In fact, DUL users have
no idea if the mail they block is spam or not.</quote></p>

<p>Elsewhere, Rik replied to Matti:</p>

<quote who="Rik van Riel">

<p>UNIX power users do know better.  They know their ISPs mail server could
show up in RSS or ORBS any moment. Therefor they use their own machines for
sending out email.</p>

<p>IMHO DUL is an unethical list to use because it assumes guilty by
default. This is different from all other spam blocking lists, which only
block hosts _after_ they've found something wrong with them.</p>

<p>The other exception is untestable-netblocks.orbs.org, which blocks
everything it cannot test and is just as bad as DUL.</p>

<p>Anyway, since linux-kernel has chosen to not receive email from me I won't
bother answering VM bugreports or anything here. It's up to Matti and Davem
to decide how useful a place linux-kernel will be.</p>

</quote>

<p>Alan Cox sniped, <quote who="Alan Cox">Thats ok. Andrea will I am sure
be happy to take over as maintainer</quote> [of the VM subsystem]. David
also replied to Rik, pointing out that if linux-kernel was truly blocking
his mail, <quote who="David S. Miller">Funny how this posting went through
then...</quote> He went on, <quote who="David S. Miller">If it is specifically
when you are sending mail from some other place, state so, don't make blanket
statements which obviously are not wholly true.</quote> Rik replied, <quote
who="Rik van Riel">I'm temporarily using my ISP's smarthost.  However, I'll
turn this off again soon because I'd rather stop with linux-kernel then give
in to the guilty-by-default attitude that comes with DUL.</quote></p>

<p>Matti replied that David had told him to remove DUL, and that he had
done so.  He went on, <quote who="Matti Aarnio">VGER uses now   RBL and
RSS,  no others.  In few weeks time, I probably implement EXIMish "warn"
feature.</quote> Rik replied:</p>

<quote who="Rik van Riel">

<p>Thanks !</p>

<p>To come back to the spamfilter promise I made some time ago, people can
now get a CVS tree with spam regular expressions and a script to generate
a majordomo.cf from it ...</p>

<p>Scripts to automatically generate configuration for other mailing list
and mail delivery programs are very much welcome, as are people willing to
help maintain the set of regexps.</p>

<p>cvs -d :pserver:cvs@nl.linux.org:/home/CVS login<br />
password: cvs<br />
cvs -d :pserver:cvs@nl.linux.org:/home/CVS checkout spamfilter</p>

<p>The (majordomo-run) mailing list spamfilter@nl.linux.org will be used for
CVS updates and possibly discussion about this thing. I'm already using a
procmail rule to automatically do a rebuild of NL.linux.org's majordomo.cf
whenever something is changed to the CVS tree...</p>

</quote>

<p>Joseph also thanked Matti, adding that he doubted anyone on linux-kernel
would object to either RBL or RSS. Rik added, <quote who="Rik van Riel">It
might even be good to add inputs.orbs.org to vger. This list is basically the
same as RSS, except that sites can get on and off faster  (RSS is sometimes
slow in adding sites to the list and it is at times also slow in removing
sites that have already been fixed).</quote></p>

</section>

<section
  title="Status Of xircom_cb Driver"
  subject="2.4.3-ac3 XIRCOM_CB only working as module"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.0/0710.html"
  posts="4"
  startdate="05 Apr 2001 04:25:09 -0800"
  enddate="13 Apr 2001 07:53:55 -0800"
>
<topic>PCI</topic>

<p>Alessandro Suardi reported that the new xircom_cb driver would only work
when loaded as a module, not when compiled into the kernel directly. Arjan
van de Ven replied, <quote who="Arjan van de Ven">I haven't tried this; I'll
look into this once I get back to work (eg where my cardbus machine is). I
would not be surprised if it turns out to be of the "yenta_socket is not
initialized yet, so the card is invisible at pci scan time" type....</quote>
Stephen Torri added his experience, <quote who="Stephen Torri">I found that
the xircom_cb driver works fine as a module except for when using dhcp for
dynamic ip address. If I set the ip address of the network card to a static
ip number it work fine. Yet if I choose to use the dhcp to get my ip address
packets leave, as seen via tcpdump, but it doesn't get an address. I watched
tcpdump at the dhcp server and saw the packets come in from the laptop and
the responses go out. The laptop either is ignoring the message coming from
the dhcp server or some other bizarre reason.</quote> There was no reply.</p>

</section>

<section
  title="Problems Developing SuperTrak And FastTrak Drivers"
  subject="i2o &amp; Promise SuperTrak100"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/0112.html"
  posts="8"
  startdate="09 Apr 2001 05:07:53 -0800"
  enddate="12 Apr 2001 11:30:47 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>I2O</topic>

<mention>Andrew Morton</mention>

<p>Joao Paulo Martins had no luck getting a Promise SuperTrak100 RAID
controller working on his dual PIII with kernel 2.4.3, and he found an
exact description of his problem already reported on linux-kernel in the <a
href="http://www.uwsg.iu.edu/hypermail/linux/kernel/0102.3/0037.html">archives</a>.
He said that Alan Cox and Andrew Morton's comments in that thread had
helped him, but that now he still got I/O errors when trying to make a
filesystem, although he had no trouble starting the modules or creating
the partitions. Jens Axboe replied that he'd recently asked Promise to give
him a sample SuperTrak so he could get it working under Linux, but they'd
refused. He suggested that Joao <quote who="Jens Axboe">bother Promise
and ask what they intend to do about it.</quote> Alan Cox replied, <quote
who="Alan Cox">I've been talking constructively to promise about the i2o on
the supertrak not working straight off with the kernel i2o driver. Currently
it looks promising.</quote> Various folks were happy to see Alan on the job,
and Andrew Chan added, <quote who="Andrew Chan">While you are at it, can
you bug them for FastTrak (the software RAID thing) support?  Their drivers
are ages behind and Andre doesn't seem to be able to get them cooperate
either.</quote> Alan replied that he'd talk to them about that at some
point.</p>

<p>Finally, Alan concluded, <quote who="Alan Cox">They seem very keen not
to co-operate on the fasttrak so its probably best to avoid motherboards
that have the fasttrak chipset and tell the board vendor why.</quote></p>

</section>

<section
  title="Benchmark Dispute"
  subject="[RFC][PATCH] Scalable FD Management using Read-Copy-Update"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/0126.html"
  posts="11"
  startdate="09 Apr 2001 06:43:11 -0800"
  enddate="17 Apr 2001 08:59:06 -0800"
>
<topic>SMP</topic>

<mention>John Hawkes</mention>

<p>Maneesh Soni announced:</p>

<quote who="Maneesh Soni">

<p>This patch provides a very good performance improvement in file descriptor
management for SMP linux kernel on a 4-way machine with the expectation of
even higher gains on higher end machines. The patch uses the read-copy-update
mechanism for Linux, published earlier at the sourceforge site under Linux
Scalablity Effort project.<br />
<a href="http://lse.sourceforge.net/locking/rclock.html">http://lse.sourceforge.net/locking/rclock.html</a>.</p>

<p>In SMP kernel the performance is limited due to reader-writer lock taken
during various calls using files_struct. Majority being in the routine
fget(). Though there is no severe  contention for files-&gt;file_lock as the
files_struct is a per task data structure but enough performance penalties
have to be paid while even acquairing the read lock due to the bouncing
lock cache line when multiple clones share the same files_struct. This was
pointed out by John Hawkes in his posting to lse-tech mailing list<br />
<a href="http://marc.theaimsgroup.com/?l=lse-tech&amp;m=98235007317770&amp;w=">http://marc.theaimsgroup.com/?l=lse-tech&amp;m=98235007317770&amp;w=</a></p>

<p>The improvement in performance while runnig "chat" benchmark (from
<a href="http://lbs.sourceforge.net/">http://lbs.sourceforge.net/</a>)
is about 30% in average throughput.  For both configurations the
results are compared for base kernel(2.4.2) and base kernel with
files_struct_rcu-2.4.2-0.1.patch. Profiling results were also collected
by using SGI's kernprof utility and that shows a considerable decrease in
amount of time spent in fget(). The "chat" benchmark was run with rooms=20
and messages=500. For each configuration, the test was run for 50 times and
average of throughput result in terms of messages per second was taken.</p>

</quote>

<p>He posted some benchmark details and pointed out that the results for a
4-CPU system were higher than for a 2-CPU system, which he said indicated the
importance of the patch for higher-end SMP systems. Finally, he explained,
<quote who="Maneesh Soni">The patch is built on 2.4.2 kernel. Before
applying this patch, the user has to obviously apply the read-copy-update
patch (rclock-2.4.2-0.1.patch) for linux, which can be obtained from <a
href="http://lse.sourceforge.net/locking/rclock.html">http://lse.sourceforge.net/locking/rclock.html</a>.
The config options required for this patch are CONFIG_RCLOCK and
CONFIG_FD_RCU.</quote></p>

<p>Mark Hahn came down on the patch, saying:</p>

<quote who="Mark Hahn">

<p>isn't this a solution in search of a problem?  does it make sense to
redesign parts of the kernel for the sole purpose of making a completely
unrealistic benchmark run faster?</p>

<p>(the chat "benchmark" is a simple pingpong load-generator; it is not
in the same category as, say, specweb, since it does not do *any* realistic
(nonlocal) IO.  the numbers "chat" returns are interesting, but not indicative
of any problem; perhaps even less than lmbench components.)</p>

</quote>

<p>Dipankar Sarma returned, <quote who="Dipankar Sarma">"chat" results for
large numbers of CPUs is indicative of a problem - if a large number of
threads share the file_struct through CLONE_FILES, the performance of the
application will deteriorate beyond 8 CPUs (going by John's numbers). It also
indicates how sensitive can performance be to write access of shared-memory
locations like spin-waiting locks.</quote> He went on, <quote who="Dipankar
Sarma">Irrespective of the usefulness of the "chat" benchmark, it seems that
there is a problem of scalability as long as CLONE_FILES is supported. John
Hawkes (SGI) posted some nasty numbers on a 32 CPU mips machine in the lse-tech
list some time ago.</quote> Mark countered, <quote who="Mark Hahn">that's
not the point.  the point is that this has every sign of being premature
optimization.  the "chat" benchmark does no work, it only generates load.
and yes, indeed, you can cause contention if you apply enough load in the
right places.  this does NOT indicate that any real apps apply the same load
in the same places.</quote> The thread ended there.</p>

</section>

<section
  title="Status Of CML2"
  subject="CML2 1.0.0 release announcement"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/0256.html"
  posts="64"
  startdate="10 Apr 2001 02:47:00 -0800"
  enddate="17 Apr 2001 06:24:52 -0800"
>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>Kernel Build System</topic>
<topic>Samba</topic>

<mention>William Stearns</mention>
<mention>Jamie Lokier</mention>
<mention>Urban Widmark</mention>
<mention>Giacomo Catenazzi</mention>
<mention>Randy Dunlap</mention>
<mention>Keith Owens</mention>
<mention>Jeff Garzik</mention>
<mention>Olaf Titz</mention>
<mention>Gary Lawrence Murphy</mention>

<p>Eric S. Raymond announced:</p>

<quote who="Eric S. Raymond">

<p>After 11 months of painstaking work and testing,
CML2 1.0.0 is ready for use, and ready to replace the
current kernel-configuration system.  You'll find it at &lt;<a
href="http://www.tuxedo.org/~esr/cml2/">http://www.tuxedo.org/~esr/cml2/</a>&gt;.
I've made a transition guide available at &lt;<a
href="http://www.tuxedo.org/~esr/cml2/transition.html">http://www.tuxedo.org/~esr/cml2/transition.html</a>&gt;.</p>

<p>(Why this project at all?  For those of you who don't remember, 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>On 30 March 2001 at the Kernel Summit, Keith Owens and I worked out a
transition schedule with Linus.  Keith's rewrite of the makefile system and
my configurator tools are officially slated to replace the present system in
the 2.5.1 to 2.5.2 timeframe.  That, of course, is contingent on us not
screwing up :-).</p>

<p>(For those of you who grumbled about adding Python to the build-tools set,  
Linus has uttered a ukase: CML2's reliance on Python is not an issue.  I have
promised that once CML2 is incorporated I will actually *reduce* the kernel
tree's net dependence on external tools, and I know exactly how to deliver on
that promise.)</p>

<p>Linus opted for a sharp cutover rather than a gradual transition -- when the
new stuff goes into the tree, CML1 will drop dead immediately.  Configuration
maintainers should be prepared!  Right now, any errors in my translation of
the CML1 rules are my problem -- but after Der Tag, they will swiftly become
*your* problem.  We'll all be happier if you have flamed my butt and helped
me fix any problems well in advance of the cutover.</p>

<p>The rules files in this release have been re-checked against the 2.4.3
tree.  While I can't guarantee they are completely correct (that's
your job), they at least cover every CML1 symbol.  I have written coverage
tools to check this.  There is still a problem with the  CRIS port symbols
that lack a CONFIG_ prefix, but the CRIS people say they'll fix that in their
next update.</p>

<p>The stock CML2 distribution contains an installation script which will drop
CML2 in place on a current kernel tree.  At most one existing file (your
top-level Makefile) will be touched, with new versions of the
config/oldconfig/menuconfig/xconfig productions edited in.  (The old ones
will be kept under variant names, so you can still invoke CML1 if you
want.)</p>

<p>I've learned, the hard way, that kernel developers are a conservative
bunch.  So, to help you all feel better about the change, here are
some of the improvements CML2 offers over the existing CML1
configuration system:</p>

<p>Maintainability:</p>

<p>

<ul>

<li>Where 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>As of CML2 1.0.0 and CML1 2.4.3, the combined code and data size in
lines of the system (a good indicator of its maintainability) shrank by 38%.
For code alone the figure was 43%.  Furthermore, where CML1 was written in
a weird mix of three languages, CML2 uses exactly one.</li>

<li>CML2 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>CML2 has a track record.  It is already being used in other projects,
including most notably the Embedded Debian Project.  Adam Lock at Netscape
is using it to construct a tool for configuring Mozilla builds.</li>

</ul>

</p>

<p>Programmer Friendliness:</p>

<p>

<ul>

<li>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>CML2 will eliminate (or at least drastically reduce) skew between port
configurations.  The fact that the top-level CML1 files of the fifteen ports
in the kernel tree are separate means there have been plenty of opportunities
for the common code in them to drift apart; CML2's design and compilation
rules should effectively prevent future bugs of this kind.</li>

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

<li>CML2 has a complete, explicit description.  Syntax, language semantics,
and user-interface options are all discussed in detail.</li>

</ul>

</p>

<p>User Experience:</p>

<p>

<ul>

<li>In CML2 it is impossible to generate a configuration that is invalid
according to the rules file(s).  You'll get a popup complaining about the
constraint that was violated if you try.  (This is effect #1 of having a
theorem prover in the configurator.)</li>

<li>Whenever CML2 can deduce from a symbol tweak that other changes are
required, it does them.  And if the change is reversed, so are all those side
effects. (This is effect #2 of having a theorem prover in the configurator.)
The user interfaces tell you what the side effects are.</li>

<li>All three interfaces do progressive disclosure -- the user only sees
questions he/she needs to answer (no more hundreds of greyed-out menu entries
for irrelevant drivers!).</li>

<li>The declarative semantics of CML2 makes it much easier to set up and
check options for policy-based configuration.  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>

<li>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.</li>

<li>The new curses mode, unlike the old menuconfig code, has full access to
the help texts.</li>

<li>All URLs in the Tkinter version's help windows are now live; if you
click on them they'll launch a browser.</li>

<li>Curses and Tk interfaces now use color as a navigational aid -- both in
the same way so the user interface is consistent.</li>

<li>And a cool penguin logo when we iconify the X version! :-)</li>

</ul>

</p>

<p>Many linux-kernel regulars have helped develop, test, and debug CML2,
including Giacomo Catenazzi, David Kamholz, Robert Wittams, Randy Dunlap,
Urban Widmark, Andr? Dahlqvist, Drago Goricanec, William Stearns, and Gary
Lawrence Murphy.</p>

</quote>

<p>Russell King remarked that if CML2, along with Keith Owens' Makefile system,
were slated to go into the main kernel in the early 2.5 releases, they would
have to accommodate the various architecture maintainers. Specifically,
he said:</p>

<quote who="Russell King">

<p>Currently, one of the many things I'm doing is trying to sort out a working
kbuild-2.5 for the ARM tree.  I have some stuff done, but there are several
things that I'm definitely not happy with, and there is currently a whole
scoop of stuff which I haven't yet found a way for kbuild-2.5 to handle.
Its looking like the ARM trees use of kbuild-2.5 will be even more messy
than its use of the current build system.   </p>

<p>(We have around 60 machines, which key both which files get built, the
text and data address of the running kernel image, the text and data address
of the decompressor, and which vmlinux.lds.in file we use to link the kernel.
This is currently my biggest problem that kbuild-2.5 doesn't seem to be able
to handle at present.  Note that it is not acceptable that users should have
to type in 5 or so apparantly meaningless hex addresses when they configure
the kernel.)</p>

<p>I've yet to hear back from Keith on the issues I have with kbuild-2.5,
but I'm hopeful that he has some good suggestions...</p>

</quote>

<p>There was no reply to this, but elsewhere, Albert D. Cahalan replied to
Eric's point that the new system would only show config options the user could
actually select, as opposed to xconfig, which gave greyed out entries even if
there were no way to enable the option. Albert said, <quote who="Albert D.
Cahalan">Well, that sucks. The greyed-out menu entries were the only good
thing about xconfig. Such entries provide a clue that you need to enable
something else to get the feature you desire. Otherwise you might figure that
the feature is missing, or that you have overlooked it.</quote> Jamie Lokier
agreed, but Eric replied, <quote who="Eric S. Raymond">You can have this
back if you want by clicking the "Unsuppress" item in one of the pulldowns.
But since the theorem prover automatically turns on such prerequisites for
you, you're very unlikely to need it.</quote></p>

<p>There was no reply to this, but elsewhere, Dave Jones decided to give CML2 a
try; and posted his feedback:</p>

<quote who="Dave Jones">

<p>One of the first things I noticed was it seems noticably slower than CML1. A
make menuconfig in CML1 takes me into the menu in under a second. (On an
already compiled tree).  CML2 takes around 15 seconds before I get that far.
This is on an Athlon 800 w/512MB. I dread to think how this responds on
a 486.</p>

<p>Scrolling the cursor bar in menuconfig causes a lot of flickering as the
entire screen seems to be redrawn. This is becomes unusable after a few minutes
usage. Scrolling under CML1's menuconfig doesn't show this behaviour.</p>

<p>The various colours used to show submenus that have been visited seems
confusing, and unnecessary. Their meaning also seems undocumented.</p>

<p>Reporting of changing certain features seems to be excessive.  For example,
changing CPU target from Pentium Pro to Athlon tells me that "M686=n (deduced
from MK7)"</p>

<p>Another confusing thing on this menu, happens when you select CRUSOE,
and then 386.  "MK7=n (deduced from M386) MCRUSOE=n (deduced from M386)"
Not sure why selecting Crusoe enables MK7.</p>

<p>Top level menu seems to have gained a few items.  For example, the `SCSI
support' item has disappeared, making `SCSI disk support' and `SCSI low-level
drivers' both appear on the top level menu.</p>

<p>For some reason, the kernel hacking menu doesn't show 4/5 of the
options that it used to. Instead it replaces them with one new one (Disable
VHPT). Which it seems to picking up from the IA64 tree. Most strange.</p>

<p>Finally, quitting the program (q twice) gives me this..</p>

<p>python2 -O scripts/configtrans.py -h include/linux/autoconf.h -s .config config.out<br />
Traceback (most recent call last):<br />
  File "scripts/configtrans.py", line 104, in ?<br />
    sys.stderr.write(args[0]);<br />
TypeError: read-only character buffer, int<br />
make: *** [menuconfig] Error 1</p>

<p>All the above was using an 2.4.3-ac4 tree, with CML2-1.0.0</p>

</quote>

<p>On the issue of the speed difference between CML2 and CML1, Eric replied
that this was a known problem, and it would take a bit of tuning to improve
the speed. On the issue of screen flicker while scrolling, Eric couldn't
reproduce this; he speculated that Dave might have been using an older ncurses
package. On the issue of undocumented coloring of submenus, Eric replied that
he'd document them; and added, <quote who="Eric S. Raymond">They're intended to
help you track what portions of the configuration you've already done.</quote>
On the issue of the SCSI items appearing in the top level menu, Eric replied,
<quote who="Eric S. Raymond">The SCSI support flag is in the buses menu.
You see these two menus because the defconfig sets it on.</quote> Finally,
on the error Dave saw, Eric replied that he couldn't reproduce it. There was
no reply to any of these remarks, but elsewhere, Christoph Hellwig mentioned
the mconfig package, which he said was plenty fast, and available at <a
href="ftp://ftp.openlinux.org/pub/people/hch/mconfig/mconfig-0.19-pre1.tar.gz">ftp://ftp.openlinux.org/pub/people/hch/mconfig/mconfig-0.19-pre1.tar.gz</a>.
He added, <quote who="Christoph Hellwig">Props for all the hard work go to
Michael Elizabeth Chastain!</quote> Dave tried it out and confirmed that it was
definitely fast, but added that he hadn't heard of it before, and wondered if
it solved all the problems CML2 attempted to solve. Christoph replied that
it didn't solve everything yet, but that the intention was to eventually
make it fully usable for kernel compilation. He listed some TODO items:</p>

<quote who="Christoph Hellwig">

<p>

<ol>

<li>It is one programm with multiple frontends:<br />
        old,<br />
        text,<br />
        ncurses,<br />
        random,<br />
        maximum,<br />
        minimum,<br />
        syntax checking<br />
        (X is still missing as my brain is not made for GUI programming)
</li>

<li>An 'show me all options and handle the rest' mode is still missing -
  my devel tree has something like that in the works, but I'll probably
  never finish it now that CML2 is official.</li>

<li>it still has multiple top-level config.in.  Again that is easily fixable
  and in fact I did a patch for it (including {old,menu,x}config support
  in 2.3 times but never submitted it.</li>

</ol>

</p>

</quote>

<p>He asked if he'd missed anything, and Alan Cox pointed out that Christoph's
item #3 was not really a TODO item, because <quote who="Alan Cox">Multiple
layers of Config.in is a feature</quote>. However, Eric came back with</p>

<quote who="Eric S. Raymond">

<p>I disagree, because I've seen what happens when we go to a single-apex tree.
But you could persuade me otherwise.  What's your reason for believing this?</p>

<p>The problem with having multiple apices of the configuration tree (as I see
it) is that we often ended up duplicating configuration code for things that
aren't actually port-dependent but rather depend on other things such as
supported bus types (ISA, PCA, PCMCIA, etc.).  This is a particularly big
issue with network cards and disk controllers.</p>

<p>The duplicated code then starts to skew.  You end up with lots of features
(especially drivers) that could be supported across architectures but aren't,
simply because port maintainers are focused on their own trees and don't look
at what's going on in the others.</p>

<p>A multiple-apex tree also tends to pull the configuration questions downwards
from policy (e.g "Parallel-port support?") towards hardware-specific,
platform-specific questions ("Atari parallel-port hardware?")  By designing
the configuration rules for CML2 as a single-apex tree, I'm trying to
move the questions upwards and have derivations in the rules file handle
distributing that information to a lower level.</p>

<p>For example, instead of a bunch of parallel questions like this in a
multiple-apex tree:</p>

<p>

PARPORT                 'Parallel port support'<br />
PARPORT_PC              'PC-style hardware'<br />
PARPORT_PC_PCMCIA       'Support for PCMCIA management for PC-style ports'<br />
PARPORT_ARC             'Archimedes hardware'<br />
PARPORT_AMIGA           'Amiga builtin port'<br />
PARPORT_MFC3            'Multiface III parallel port'<br />
PARPORT_ATARI           'Atari hardware'<br />
PARPORT_SUNBPP          'Sparc hardware'

</p>

<p>I'm trying to move us towards having *one* question and a bunch of
well-hidden intelligence about what it implies:</p>

<p>

PARPORT                 'Parallel port support'<br />
derive PARPORT_PC from PARPORT and X86<br />
derive PARPORT_ARC from PARPORT and ARC<br />
derive PARPORT_AMIGA from PARPORT and AMIGA<br />
derive PARPORT_SUNBPP from PARPORT and SUN

</p>

</quote>

<p>Alan replied, <quote who="Alan Cox">Ok I see where you are going with
that argument. However when you parse all the existing Config.in files into
a tree you can see those properties by looking from any node back to its
dependancies.</quote> Eric replied, <quote who="Eric S. Raymond">Granted.  If,
that is, the representation you generate supports that kind of backtracking.
This turns out to be very hard if you're starting from an imperative
representation rather than a declarative one.  But, as a separate issue,
the CML2 design *could* be reworked to support a multiple-apex tree, if
there were any advantage to doing so.  I don't see one.  Do you?</quote>
Alan replied, not enough to justify the work. However, Jeff Garzik replied
to Eric privately, saying that he did see an advantage, <quote who="Jeff
Garzil">because the current system is directed not by a central file, but by an
architecture-specific config.in.  Compartmentalized Config.in files are easy
to include and even easier to exclude selectively.  It's pretty pointless for
S/390 arch to parse a ton of driver config entries it will never present to
the user; that wastes memory and slows down the configuration system.</quote>
Eric replied:</p>

<quote who="Eric S. Raymond">

<p>The low-level answer is that the configurator doesn't pay the parse-time
cost; the CML2 compiler does all that and presents the configurator with a
rulebase object that is not large enough for the incremental I/O or memory
cost of the "useless" information to be significant.  (I'm not handwaving
here, I've actually profiled this; the rulebase object for 2.4.3 is only
342K on disk and less than that in core.)</p>

<p>BTW, CML2 only has a "central file" in a rather trivial sense.  Here's what
the code to include the port-specific rules looks like:</p>

<p>source "arch/i386/rules.cml"<br />
source "arch/alpha/rules.cml"<br />
source "arch/sparc/rules.cml"<br />
source "arch/mips/rules.cml"<br />
source "arch/ppc/rules.cml"<br />
source "arch/m68k/rules.cml"<br />
source "arch/arm/rules.cml"<br />
source "arch/sh/rules.cml"<br />
source "arch/ia64/rules.cml"<br />
source "arch/parisc/rules.cml"<br />
source "arch/s390/rules.cml"<br />
source "arch/cris/rules.cml"</p>

<p>The real issue isn't that they're "centralized", it's that they're
siblings under a top-level architecture menu (which most users won't see
because normal invocations of the configurator supply that answer from the
command line, just as in CML1).  Which brings me neatly to my next point...</p>

<p>The higher-level answer is that you're confusing an implementation
issue with a design issue.  Beware of such premature optimization, for as
the hierophant Knuth hath revealed unto us, it is the root of all evil.
To persuade me to go back to a multiple-apex tree you'd have to show that
there is a *design* or complexity-control advantage to compartmentalizing
the configuration information in that way.  Maybe there is one, but nobody's
shown it to me yet.</p>

<p>(In truth I don't dismiss implementation concerns quite as cavalierly as
it might sound from the above.  But buying a linear speedup wouldn't be good
enough to make me change the design.  A quadratic speedup might be, but none of
CML2's algorithms are quadratic in the number of symbols in the rulebase.)</p>

</quote>

<p>There was no reply to this, but elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/0601.html">Re:
[kbuild-devel] Re: CML2 1.0.0 release announcement</a>, Michael Elizabeth
Chastain came back to the CML2-vs-mconfig issue, saying:</p>

<quote who="Michael Elizabeth Chastain">

<p>I like mconfig, but I like CML2 better.   </p>

<p>My primary reason is that ESR has more time to work on CML2 than I do
on mconfig.  And speed problems are often the easiest problems to solve.</p>

<p>Eric did some performance analysis.  If I recall correctly, all but 1 or 2
seconds of CML2's runtime is in the parser.  He has rewritten the parser once.
Maybe someone needs to rewrite it again, maybe propagate some changes into the
language spec to make it easier to parse, maybe rewrite from Python to C.</p>

</quote>

<p>Alan replied, <quote who="Alan Cox">CML2 seems to have two other problems
in my mind. Inability to parse the existing config files. Also the draw
ordering in the menu based config doesnt appear right. Menuconfig has a
rather undocumented but very important property of doing roughly the right
thing with screenreaders. Something to bear in mind when fixing the menu
redrawing stuff.</quote> Eric explained:</p>

<quote who="Eric S. Raymond">

<p>I gave upon that early for two reasons.  One was practical; Michael tried
this with mconfig, and (apparently) failed.  Or, at least, appeared to have
decided that path was not worth pursuing.</p>

<p>The other was the procedural vs. declarative problem.  I spent about a
month after the kbuild team originally encouraged me to tackle the problem
working on a design which I later labeled Thesis.  This was an attempt
to build a cleaned-up CML1, basically the existing language without the
syntactic warts.  I got as far as spinning up an incomplete implementation
that could check toy configurations.</p>

<p>But the design basically didn't work.  The problem is that a procedural
language imposes a kind of time order that makes it very difficult to (a)
do backtracking and (b) prove the correctness of your result.  Perhaps a
clearer way to put it is that configuration (like, say, screen widget layout)
is fundamentally a constraint problem rather than a control problem.</p>

<p>A constraint problem needs a declarative rather than imperative language,
and it needs a baby reasoning engine to generate a constraint-satisfying
solution (Tk approaches screen-widget layout this way; that's thye source
of its power).  Neither of my strawman designs had significant advantage
over CML1 until I bit the bullet and wrote a theorem prover to reason about
timeless constraints.</p>

</quote>

<p>Elsewhere, Eric also replied to Michael's idea that the CML2 parser might
need another rewrite; saying, <quote who="Eric S. Raymond">The *language
compiler's* runtime got cut in half when I hand-rolled a parser for it.
The speed problem now is in the configurator itself.  One of my post-1.0.0
challenges is to profile and tune the configurator code to within an inch
of its life.</quote> Aaron Lehmann suggested harshly, <quote who="Aaron
Lehmann">I know that you're reluctant to make the port, but you don't need
to be too shy to ask for help. Few people on this list are afraid of C.
If you're too lazy to implement CML2 in a standard, popular, robust language,
heck, tell us, and we may be able to help you out.</quote> Eric replied:</p>

<quote who="Eric S. Raymond">

<p>If I were to become absolutely convinced that I can't get acceptable speed
out of Python, I might do that.  There's a gcml project that tracked the CML2
compiler up to about 0.72 level that might make a decent starting point.</p>

<p>Unfortunately, I'm fairly sure that finishing gcml would take long enough
to render the point moot, because by the time it was done the average Linux
machine would have sped up enough for the Python implementation not to be
laggy anymore :-).</p>

<p>No joke -- *you* try writing a theorem-prover in a language with only
fixed-extent data types.  Go on.  Try it.  I think you will (as Mark Twain
put it about the consequences of teasing a cat) acquire a valuable education,
the facts of which will never grow dim or doubtful.</p>

<p>I'm pretty sure that tuning the Python implementation (coming up with
faster algorithms, perhaps by reorganizing the data structures to do more
precomputation) will be a more effective use of my time.</p>

</quote>

<p>Dave replied that the speed issue was his most significant objection
to CML2, and that if Eric could fix that aspect, that would kill his main
complaint.</p>

<p>Elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/1028.html">CML
1.1.0, aka "I feel the need...the need for
speed."</a>, Eric announced version 1.1.0 available at <a
href="http://www.tuxedo.org/~esr/cml2/">http://www.tuxedo.org/~esr/cml2/</a>.
Marko Kreen tried it and posted his experiences:</p>

<quote who="Marko Kreen">

<p>Using CML2 1.1.0 'menuconfig' on clean 2.4.3 (mach is PPro 180)</p>

<p>Suggestions:</p>

<p>

<ul>

<li>the 'N' should be shown as ' ' as in menuconfig - it is
  visually much better to get overview of whole screenful.  'Y'/'M' and
  'N' are basically of 'same size' so you must look directly on letter to
  understand what it is - not good.</li>

<li>the menuconfig had nice shortcut: when you pressed 'm' on
  [YN] field, it put 'y' there without questions.  So you could use only
  2 keys to configure one screen: 'n/m'.  this meant you did not need to
  move fingers around and think about it so much - big thing when you are
  not touch-typer...</li>

<li><p>the colors are hard to see (red/blue on black).  Probably
  matter of terminal settings.  I do not have any productive ideas tho...
  Probably to get best experience to as much people as possible the less
  colors are used the better.</p>

<p>  The 'blue: last visited submenu' is unnecessary.  Especially
  because it later turns green...  And the 'red' vs. 'green' thing.  I guess
  the green should be used for 'visited entries' too.  Now the red means like
  'Doh.  So I should not have touched this?'.  Confusing.</p>

<p>  In other words: if there are too much colors, they become
  a thing that should be separately learned, not a helpful aid.</p>

<p>  All this IMHO ofcourse.  Colors are 'matter of taste' thing
  so there probably is not exact Rigth Thing.</p>

</li>

</ul>

</p>

<p>Bugs/complaints:</p>

<p>

<ul>

<li>aic7xxx is not updated (defaults: are 8/5 should be 253/5000)
  (this from arch/i386/defconfig maybe?)</li>

<li>'IDE chipset support' nesting is very confusing - compare
  to menuconfig.  I would say even 'wrong'...
  (eg. 'PIIXn tuning' is is under 'PIIXn support' which is not
  under 'ATA works in progress'.</li>

<li>screen is redrawn after _every_ keystroke - not only in moving
  around, but even when you are on input field...</li>

<li>input field: when there is some default and I start typing it
  should either clear it or append.</li>

</ul>

</p>

</quote>

<p>Anton Altaparmakov also gave his impressions:</p>

<quote who="Anton Altaparmakov">

<p>Ok, I tried the CML2 1.1.0. (Had to spend hours installing Python 2.0 until
I found all required configure options and got the right modules compiled in,
but ok, that's a one off and is not CML2's fault, also ran make test to make
sure it works.)</p>

<p>Installed cml, cwd to kernel, and ran make menuconfig.</p>

<p>Waited about 2-5 minutes (didn't time it) to get the menu. Slower than CML1
by a bit. [Note: My development machine is a Pentium Classic 133S with 64MiB
ECC RAM and ATA-100 7200RPM HD on Promise ATA-100 controller with several
network cards, runs like a charm with 2.4 kernel for what it is used for:
file serving/ftp serving/smb serving/nat]</p>

<p>In the menu the colour scheme is a bit strange but everyone has a different
taste. Would need some getting used to, but ok. It does seem like a step
back in time though, compared to the old menuconfig which had nice windows
feel and colours, IMHO. I am not sure why it had to be changed. Surely you
can have the old interface with the new theorem prover?</p>

<p>I found a bug: In "Intel and compatible 80x86 processor options", "Intel
and compatible 80x86 processor types" I press "y" on "Pentium Classic"
option and it activates Penitum-III as well as Pentium Classic options
at the same time!?! Tried to play around switching to something else and
then onto Pentium Classic again and it enabled Pentium Classic and Pentium
Pro/Celeron/Pentium II (NEW) this time! Something is very wrong here.</p>

<p>Now a general comment: CML2 is extremely slow to the point of not
being usable! )-: It would take me hours to configure a kernel with this.
Just pressing "n"/"y" or "m" somewhere takes easily several seconds to
complete... Pressing any of the arrow keys takes between 1 (up/down) and 10
(left/right) seconds to complete. *Argh!* When a window is up, saying press
any key to continue there are delays of several seconds of nothing happening
at all before the window disappers.</p>

<p>With this slow response time, I wonder whether I actually pressed the key
so press it again, key gets queued, so it gets executed when the first key
press has finished executing wreaking havoc. )-: It might be all cool and
good having a theorem prover and what not inside the configuration but if
this is going to replace CML1 completely, IMHO, you will _have_ to provide
some speedy way of configuration (and no, using "vi .config" or equivalent is
not an option I would like to use...). Many people have been commenting that
speed doesn't matter "just use a newer computer" but that argument is just
stupid IMNSHO. That's what MS says when they release a new OS/program... I
don't need a new computer, this one works absolutely fine and maxes out all
it's 10Mbit network connections quite happily, so why should I buy something
faster?!? Just to configure a kernel? Surely not.  Linux has always been
the OS of choice for people with a small budget and the way it is going it
is running the danger of loosing this corner of this rather big market.</p>

<p>I will be back to CML1 now so I can configure and kick off the compile
of this kernel before dinner...</p>

</quote>

<p>Elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/1135.html">CML2
1.1.1, wiuth experimental fast mode</a>, Eric announced version 1.1.1,
complete with an experimental 'fast-mode' that he encouraged folks to try
out. Jeff asked if both fast and slow modes would stay, or if there was only
a distinction between them for testing and debugging purposes. Eric replied,
<quote who="Eric S. Raymond">That's an interesting question to which I do
not yet know the answer.  I am continuing to speed-tune.</quote> Olaf Titz
suggested that the distinction might remain, if 'fast-mode' would eventually
cut corners, such as having no visual display.</p>

<p>Elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/1200.html">CML2
1.1.2 is available</a>, Eric announced version 1.1.2, and Anton replied,
<quote who="Anton Altaparmakov">Good performance going up/down in menuconfig
now. Even on my Pentium 133S!  Excellent work! (fastmode on)</quote></p>

</section>

<section
  title="New Maintainer For Amiga AFFS Filesystem"
  subject="amiga affs support broken in 2.4.x kernels??"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/0687.html"
  posts="7"
  startdate="12 Apr 2001 04:25:29 -0800"
  enddate="17 Apr 2001 11:11:54 -0800"
>

<mention>Roman Zippel</mention>

<p>Mark Hounschell could no longer mount an AFFS filesystem
after upgrading to 2.4; the mount command would simply hang and
could not be killed. Trying to access any file on the system
with the mount in that state resulted in massive filesystem
corruption. Roman Zippel announced that he'd put a new version up at <a
href="http://www.xs4all.nl/~zippel/affs.010414.tar.gz">http://www.xs4all.nl/~zippel/affs.010414.tar.gz</a>.
Mark replied that this enabled him to mount the filesystem, but that trying to
write to a file would produce a segmentation fault. He also asked if Roman
were the new maintainer of the project, since he had received a private
response from the original maintainer, Hans-Joachim Widmaier:</p>

<quote who="Hans-Joachim Widmaier">

<p>affs is broken since somewhere in 2.3.xx. Alas, I do not have the time
anymore to do anything about it, and my Amiga ran its last program, too,
so I cannot test anymore. Last I know is that several guys wanted to look
after affs in 2.4--at least make it run--, but it seems that nothing much
has been done in that way. :-(</p>

<p>Sorry for not bearing better news.</p>

</quote>

<p>Roman replied to Mark that yes, he was the new maintainer. He
also said that write support should be working, and asked Mark
for more details. After a little back-and-forth, Roman posted a <a
href="http://www.xs4all.nl/~zippel/affs.010417.tar.gz">new patch</a>, and
Mark replied with complete success. He said, <quote who="Mark Hounschell">I'm
now able to mount,read,and write to affs file systems. With an scsi zip drive
with 3 affs partitions on it and an affs hardfile(loop) that I use with UAE
occasionally. Looks good to me.  I'll be using this functionality quite a
bit so I'll notify you of any anomalies.</quote> End of thread.</p>

</section>

<section
  title="Kernel 2.5 Summit, And Preparations For The Next One"
  subject="Kernel 2.5 Workshop RealVideo streams -- next time, please get better audio."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.2/0160.html"
  posts="26"
  startdate="16 Apr 2001 16:45:31 -0800"
  enddate="18 Apr 2001 10:29:10 -0800"
>

<mention>Andy Grover</mention>
<mention>Larry McVoy</mention>
<mention>David S. Miller</mention>
<mention>Eric W. Biederman</mention>
<mention>Albert D. Cahalan</mention>

<p>Miles Lane gave a link to the <a
href="http://www.osdn.com/conferences/kernel/">Kernel 2.5 Summit</a>
pages, and thanked everyone who participated. But he pointed out that
one big drawback of the audio recordings was that usually, only the
main speaker could be heard, not the questioners from the audience. He
said, <quote who="Miles Lane">This reduces the value of these recording
substantially, since the comments, insights and give-and-take of the other
kernel developers would help us get a much more complete understanding of
the areas being presented -- try listening to Andy Grover's Power Management
presentation and you'll see what I mean.</quote> Eric W. Biederman replied
that actually, the recordings did capture almost all the questioners,
but that the volume was extremely low for those segments. He suggested
some software-based volume correction. Alan Cox replied, <quote who="Alan
Cox">Unfortunately its encoded in a proprietary format otherwise it would have
been perhaps half an hours work to write an AGC filter for the data.</quote>
But Tim Wright replied, <quote who="Tim Wright">So grab and install dsproxy (<a
href="http://freshmeat.net/projects/dsproxy/">http://freshmeat.net/projects/dsproxy/</a>),
and capture the output. Than feed to e.g. XMMS which already has an AGC
plugin.</quote></p>

<p>David S. Miller also pointed out that the problem with the recording quality
stemmed from the fact that audience members didn't wait for the microphone to
be brought over to them. He speculated that having fixed microphones along
the aisles, where audiences could queue up to speak, might be a solution,
though that wouldn't lend itself to a relaxed setting in which everyone
could participate in a given portion of discussion. Miles replied:</p>

<quote who="Miles Lane">

<p>I agree that this is another important issue.  It's most important in
these events that the flow and exchange of ideas proceed unhindered.  I do
believe there is a way to record the dialog without introducing significant
impediments, though.</p>

<p>What usually is done these days, when a few groups of people need to hold
a conference call, for example, is that a few omni-directional microphones
are used (these are the sort of spaceship-looking things that get placed
in the center of a large table around which the groups sit).  There are
drawbacks with this, in that, for a large group, there's signal loss if
current speaker does not face the microphone.  However, these microphones
do a pretty good job of picking up voice audio in a 360 degree radius.</p>

<p>There would need to be some post-event sound mixing.  For example, if
you have ten tables, each with its own omni-directional table microphone,
plus unidirectional microphones for the presenter(s), you'd need to mix
the signals from the microphones or perhaps switch between the various
microphone recordings and adjust for volume differences.  You'd likely get
the best recording from the table microphone a particular participant was
sitting at.  You'd also likely get much stronger signals from the presenter's
microphone.</p>

<p>What say you all?</p>

</quote>

<p>Theodore Y. Ts'o also advocated the microphone-at-every-table approach,
but said that this would only work for relatively small gatherings (60
or 70 people). He said, <quote who="Theodore Y. Ts'o">If we have a lot
more people, we'll probably have to go to the two microphones in the aisle
approach.  But at that point a large part of the workshop will be destroyed;
so hopefully we'll just be able to keep the numbers of people in the workshop
to manageable number.</quote> Miles suggested having the workshops more
frequently, and targetted to smaller, more focused groups.</p>

<p>Randolph Bentson suggested putting a wireless microphone into a soft ball
that could be tossed from speaker to speaker through the audience. Several
people thought the idea was funny and good, and Miles thought it was at
least funny, but said, <quote who="Miles Lane">Seriously though, this would
probably still be an impediment to the sort of stream-of-conciousness dialog
that we'd like to have.  Sometimes, there is a quick series of one or two
sentence comments from several participants.  With a "mike-in-a-ball" your
discussion might turn into a sports event.  Plus, personally, I am a crappy
ball thrower.  If many of you have my level of athletic prowess, there'd be
a lot of time spent scrambling under tables and chairs.</quote> But Albert D.
Cahalan suggested allocating half-a-dozen soft-ball microphones, that would
simply be tossed back to assistants on a least-recently-used (LRU) basis.</p>

<p>Larry McVoy suggested using a directional microphone, and Miles replied,
<quote who="Miles Lane">Are you talking about one of those "eavesdropper"
parabolic microphones?  Are you thinking of having someone on stage redirecting
the microphone as each speaker starts talking?  It could work well, but you'd
either lose the first few words each person in the audience said or need to
go to a "hand raising/acknowledgement" to create a pause during which the
microphone could be redirected.</quote> David Lang added, <quote who="David
Lang">have a couple of these and you would be able to keep one trained on the
most common speakers in any given discussion (then you only have the problem
of more speakers then mikes, but short of putting enough mikes around to
get the entire room you will always have this problem)</quote></p>

</section>

<section
  title="Updated Olympic Driver"
  subject="[PATCH] Updated Olympic Driver"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.2/0551.html"
  posts="3"
  startdate="18 Apr 2001 08:07:53 -0800"
  enddate="18 Apr 2001 08:29:35 -0800"
>
<topic>MAINTAINERS File</topic>
<topic>PCI</topic>

<mention>Jeff Garzik</mention>

<p>Mike Phillips posted the latest version of the Olympic Driver, and said,
<quote who="Mike Phillips">This updates the driver to use the netdev api,
pci dma, alloc_trdev &amp; friends, fixes cardbus ejection, adds support
for the zSeries and changes network_monitor from a compile time option to
a module parameter.  The patch is against 2.4.3 clean, and applies against
2.4.3-ac9 with a small offset in MAINTAINERS.</quote> Jeff Garzik threw his
hat in the air and cheered, and then gave many comments about the patch. Mike
thanked him for the comments, but said that ihs patch as it stood should be
incorporated into the main tree, because it had already been delayed too long.
But he added that he'd release a new patch soon, that took account of Jeff's
comments.</p>

</section>

</kc>

