<?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="114" date="16 Apr 2001 00:00:00 -0800" />

<intro>

<p>Last week I was pretty laid up with a cold, coupled with various new-job
type tasks, and the combination made it pretty tough to get KT out. I had
some illusions almost to the day of publication, but eventually I had to face
facts. I was going to miss another issue. Long-time KT readers may remember
that I missed an issue in August 1999, when I had to go to Linux World in San
Jose. I also seem to have missed an issue in November of 1999, but I don't
remember what was up at that time. The next missed issue was in January 2000,
since I was working on a Linuxcare web site relaunch. So counting last week's,
I've missed four issues since starting KT in January 1999.</p>

</intro>

<stats posts="1597" size="6541" contrib="615" multiples="278" lastweek="153">

<person posts="86" size="362" who="Alan Cox " />
<person posts="38" size="116" who="Jeff Garzik " />
<person posts="24" size="64" who="&quot;Justin T. Gibbs&quot; " />
<person posts="19" size="90" who="Andrea Arcangeli " />
<person posts="19" size="66" who="Jamie Lokier " />
<person posts="18" size="65" who="&quot;J . A . Magallon&quot; " />
<person posts="17" size="54" who="Andre Hedrick " />
<person posts="17" size="52" who="Andi Kleen " />
<person posts="16" size="81" who="Nigel Gamble " />
<person posts="14" size="42" who="Bart Trojanowski " />
<person posts="13" size="46" who="Miles Lane " />
<person posts="13" size="44" who="Martin Dalecki " />
<person posts="13" size="40" who="Pavel Machek " />
<person posts="12" size="41" who="Ingo Molnar " />
<person posts="12" size="38" who="Petr Vandrovec " />
<person posts="12" size="35" who="Alexander Viro " />
<person posts="11" size="40" who="David Lang " />
<person posts="11" size="38" who="Tim Waugh " />
<person posts="11" size="35" who="Jesse Pollard " />
<person posts="10" size="58" who="&quot;Hubertus Franke&quot; " />
<person posts="10" size="48" who="Fabio Riccardi " />
<person posts="10" size="33" who="&quot;Richard B. Johnson&quot; " />
<person posts="10" size="33" who="James Simmons " />
<person posts="10" size="29" who="Keith Owens " />
<person posts="10" size="29" who="Rik van Riel " />
<person posts="9" size="69" who="&quot;Manuel A. McLure&quot; " />
<person posts="9" size="38" who="Linus Torvalds " />
<person posts="9" size="35" who="&quot;H. Peter Anvin&quot; " />
<person posts="9" size="33" who="Krzysztof Halasa " />
<person posts="9" size="30" who="Rusty Russell " />
<person posts="9" size="26" who="&quot;Simon Garner&quot; " />
<person posts="8" size="35" who=" (Eric W. Biederman)" />
<person posts="8" size="31" who="Manfred Spraul " />
<person posts="8" size="30" who="Ben Ford " />
<person posts="8" size="23" who="&quot;Manfred Spraul&quot; " />
<person posts="8" size="20" who="&quot;David S. Miller&quot; " />
<person posts="8" size="19" who="&quot;Heusden, Folkert van&quot; " />
<person posts="7" size="30" who="&quot;Paul McKenney&quot; " />
<person posts="7" size="30" who="george anzinger " />
<person posts="7" size="29" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="7" size="26" who="Andreas Dilger " />
<person posts="7" size="23" who="John Jasen " />
<person posts="7" size="23" who="Russell King " />
<person posts="7" size="22" who="" />
<person posts="7" size="21" who="Richard Gooch " />
<person posts="7" size="16" who="" />
<person posts="6" size="94" who="Thomas Dodd " />
<person posts="6" size="60" who="Andrew Morton " />
<person posts="6" size="26" who=" (Rogier Wolff)" />
<person posts="6" size="26" who="Wade Hampton " />
<person posts="6" size="25" who="" />
<person posts="6" size="24" who="" />
<person posts="6" size="24" who="" />
<person posts="6" size="21" who="Matti Aarnio " />
<person posts="6" size="20" who="christophe barbe " />
<person posts="6" size="19" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="6" size="18" who="Shawn Starr " />
<person posts="6" size="17" who="&quot;Albert D. Cahalan&quot; " />
<person posts="6" size="14" who="Ion Badulescu " />
<person posts="5" size="30" who="&quot;Johan Adolfsson&quot; " />
<person posts="5" size="22" who="Giacomo Catenazzi " />
<person posts="5" size="22" who="&quot;Trever L. Adams&quot; " />
<person posts="5" size="20" who="Jeremy Jackson " />
<person posts="5" size="19" who="Mike Kravetz " />
<person posts="5" size="18" who="Jens Axboe " />
<person posts="5" size="18" who="&quot;Grover, Andrew&quot; " />
<person posts="5" size="18" who="Geert Uytterhoeven " />
<person posts="5" size="17" who="Padraig Brady " />
<person posts="5" size="17" who="Rob Landley " />
<person posts="5" size="17" who="Steffen Grunewald " />
<person posts="4" size="34" who="Hal Duston " />
<person posts="4" size="30" who="Ed Tomlinson " />
<person posts="4" size="29" who="Andrey Panin " />
<person posts="4" size="26" who="Richard Jerrell " />
<person posts="4" size="17" who="Eric Gillespie " />
<person posts="4" size="17" who="Steven Walter " />
<person posts="4" size="15" who="Jeff Chua " />
<person posts="4" size="15" who="Marcin Kowalski " />
<person posts="4" size="15" who="Ivan Kokshaysky " />
<person posts="4" size="14" who="Kanoj Sarcar " />
<person posts="4" size="14" who=" (Kai Henningsen)" />
<person posts="4" size="14" who="&quot;Andrew Chan&quot; " />
<person posts="4" size="13" who="" />
<person posts="4" size="13" who="Francois Romieu " />
<person posts="4" size="13" who="Dawson Engler " />
<person posts="4" size="12" who="Hacksaw " />
<person posts="4" size="12" who="Doug Ledford " />
<person posts="4" size="12" who="&quot;Earle Nietzel&quot; " />
<person posts="4" size="12" who="Tom Leete " />
<person posts="4" size="12" who="Studierende der Universitaet des Saarlandes " />
<person posts="4" size="12" who="Christopher Smith " />
<person posts="4" size="12" who="Manoj Sontakke " />
<person posts="4" size="12" who="Gustavo Niemeyer " />
<person posts="4" size="12" who="Brian Gerst " />
<person posts="4" size="11" who="Bjorn Wesen " />
<person posts="4" size="11" who="Theodoor Scholte " />
<person posts="4" size="11" who="mythos " />
<person posts="4" size="10" who="Wakko Warner " />
<person posts="4" size="10" who="David Woodhouse " />
<person posts="4" size="10" who="Ofer Fryman " />
<person posts="4" size="9" who="Jani Monoses " />
<person posts="3" size="49" who="Prasanna P Subash " />
<person posts="3" size="32" who="Nicholas Petreley " />
<person posts="3" size="32" who="James Stevenson " />
<person posts="3" size="30" who="Axel Thimm " />
<person posts="3" size="25" who="=?iso-8859-1?Q?Rasmus_B=F8g_Hansen?= " />
<person posts="3" size="20" who="&quot;Stephen D. Williams&quot; " />
<person posts="3" size="19" who="James Antill " />
<person posts="3" size="16" who="Andy Chou " />
<person posts="3" size="14" who="Jim Studt " />
<person posts="3" size="14" who="&quot;Heinz J. Mauelshagen&quot; " />
<person posts="3" size="14" who="Jeff Layton " />
<person posts="3" size="13" who="Matthias Hanisch " />
<person posts="3" size="13" who="Carsten Langgaard " />
<person posts="3" size="13" who="&quot;Alexandru Barloiu Nicolae&quot; " />
<person posts="3" size="13" who="Dipankar Sarma " />
<person posts="3" size="13" who="Tim Wright " />
<person posts="3" size="12" who=" (Trevor Hemsley)" />
<person posts="3" size="11" who="Douglas Gilbert " />
<person posts="3" size="11" who="Boris Pisarcik " />
<person posts="3" size="11" who="Chris Mason " />
<person posts="3" size="10" who="Mikael Pettersson " />
<person posts="3" size="10" who="Oleg Drokin " />
<person posts="3" size="10" who="Jeff Golds " />
<person posts="3" size="10" who="Anton Altaparmakov " />
<person posts="3" size="10" who="&quot;Manfred H. Winter&quot; " />
<person posts="3" size="10" who="Norbert Preining " />
<person posts="3" size="10" who="&quot;gis88530&quot; " />
<person posts="3" size="9" who="David Weinehall " />
<person posts="3" size="9" who="Allen Campbell " />
<person posts="3" size="9" who="Michael Reinelt " />
<person posts="3" size="9" who="Tom Rini " />
<person posts="3" size="9" who="&quot;Eric S. Raymond&quot; " />
<person posts="3" size="9" who="Ivan Passos " />
<person posts="3" size="9" who="Mark Hahn " />
<person posts="3" size="9" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="3" size="8" who="Ralf Baechle " />
<person posts="3" size="8" who="Sid Boyce " />
<person posts="3" size="8" who="Andrzej Krzysztofowicz " />
<person posts="3" size="8" who="Oliver Xymoron " />
<person posts="3" size="8" who="Denis Perchine " />
<person posts="3" size="8" who="Guest section DW " />
<person posts="3" size="8" who="Oliver Neukum " />
<person posts="3" size="8" who="=?iso-8859-1?Q?Sarda=F1ons=2C_Eliel?= " />
<person posts="3" size="8" who="Matthias Welwarsky " />
<person posts="3" size="8" who="Trevor Nichols " />
<person posts="3" size="8" who="Giuliano Pochini " />
<person posts="3" size="7" who="Giuliano Pochini " />
<person posts="3" size="7" who="Harald Dunkel " />
<person posts="2" size="55" who="Robert Vojta " />
<person posts="2" size="55" who="Jonathan Morton " />
<person posts="2" size="45" who="Denis Oliver Kropp " />
<person posts="2" size="29" who="&quot;Volodymyr M . Lisivka&quot; " />
<person posts="2" size="26" who="Pete Toscano " />
<person posts="2" size="26" who="&quot;Eric S. Raymond&quot; " />
<person posts="2" size="24" who="&quot;Chris Funderburg&quot; " />
<person posts="2" size="21" who="Ville Herva " />
<person posts="2" size="20" who="&quot;Robert A. Morris&quot; " />
<person posts="2" size="17" who="Kurt Garloff " />
<person posts="2" size="17" who="Paul Cassella " />
<person posts="2" size="16" who="" />
<person posts="2" size="12" who="&quot;Timothy D. Witham&quot; " />
<person posts="2" size="12" who="Benjamin Herrenschmidt " />
<person posts="2" size="11" who="Neil Brown " />
<person posts="2" size="11" who="Jesse Pollard " />
<person posts="2" size="11" who="Aaron Lehmann " />
<person posts="2" size="11" who="xcp " />
<person posts="2" size="11" who="Gerhard Mack " />
<person posts="2" size="11" who="Stefan Linnemann " />
<person posts="2" size="10" who="" />
<person posts="2" size="10" who="Thomas Pfaff " />
<person posts="2" size="9" who="&quot;Richard A. Smith&quot; " />
<person posts="2" size="9" who="Michael Miller " />
<person posts="2" size="9" who="Martin Diehl " />
<person posts="2" size="9" who="&quot;David St.Clair&quot; " />
<person posts="2" size="9" who="Robert-Velisav MICIOVICI " />
<person posts="2" size="9" who="David " />
<person posts="2" size="8" who="&quot;Michael S. Fischer&quot; " />
<person posts="2" size="8" who="&quot;Amit S. Kale&quot; " />
<person posts="2" size="8" who="Urban Widmark " />
<person posts="2" size="8" who="Koral Ilgun " />
<person posts="2" size="8" who="&quot;richard offer&quot; " />
<person posts="2" size="8" who="Pavel Roskin " />
<person posts="2" size="8" who="Khalid Aziz " />
<person posts="2" size="8" who="" />
<person posts="2" size="8" who="Juan " />
<person posts="2" size="8" who="Roger Larsson " />
<person posts="2" size="8" who="Christopher Turcksin " />
<person posts="2" size="8" who="Jordan " />
<person posts="2" size="7" who="james " />
<person posts="2" size="7" who="Ingo Oeser " />
<person posts="2" size="7" who="&quot;Armin L. Schneider&quot; " />
<person posts="2" size="7" who="Jeff Lessem " />
<person posts="2" size="7" who="Marvin Stodolsky " />
<person posts="2" size="7" who="Paul Jakma " />
<person posts="2" size="7" who="Richard Russon " />
<person posts="2" size="7" who="Xuan Baldauf " />
<person posts="2" size="7" who=" (Miquel van Smoorenburg)" />
<person posts="2" size="7" who="gianpaolo racca " />
<person posts="2" size="7" who="Igor Mozetic " />
<person posts="2" size="7" who="Romano Giannetti " />
<person posts="2" size="7" who="Alex Bligh - linux-kernel " />
<person posts="2" size="6" who="Rajagopal Ananthanarayanan " />
<person posts="2" size="6" who="&quot;George Bonser&quot; " />
<person posts="2" size="6" who="&quot;Nicholas Knight&quot; " />
<person posts="2" size="6" who="Simon Williams " />
<person posts="2" size="6" who="Herbert Valerio Riedel " />
<person posts="2" size="6" who="Caleb Epstein " />
<person posts="2" size="6" who="Adrian Cox " />
<person posts="2" size="6" who="Erik Mouw " />
<person posts="2" size="6" who="&quot;Vibol Hou&quot; " />
<person posts="2" size="6" who="Remko van der Vossen " />
<person posts="2" size="6" who="Athanasius " />
<person posts="2" size="6" who="Trond Myklebust " />
<person posts="2" size="6" who="Andreas Bombe " />
<person posts="2" size="6" who="Olaf Titz " />
<person posts="2" size="6" who="Kapish K " />
<person posts="2" size="6" who="Torrey Hoffman " />
<person posts="2" size="6" who="Johannes Erdfelt " />
<person posts="2" size="6" who="Xuan Baldauf " />
<person posts="2" size="6" who="Olivier Galibert " />
<person posts="2" size="6" who="Jussi Hamalainen " />
<person posts="2" size="6" who="&quot;Vik Heyndrickx&quot; " />
<person posts="2" size="6" who="Andrew Daviel " />
<person posts="2" size="6" who="&quot;Ulrich Windl&quot; " />
<person posts="2" size="6" who="Mike Castle " />
<person posts="2" size="6" who="&quot;Dunlap, Randy&quot; " />
<person posts="2" size="6" who="Ruth Ivimey-Cook " />
<person posts="2" size="6" who="Andreas Rogge " />
<person posts="2" size="6" who="Walter Hofmann " />
<person posts="2" size="6" who="&quot;Sean Rima&quot; " />
<person posts="2" size="6" who="J Brook " />
<person posts="2" size="6" who="Horst von Brand " />
<person posts="2" size="5" who="Pavel Machek " />
<person posts="2" size="5" who=" (Chip Salzenberg)" />
<person posts="2" size="5" who="Juan Piernas Canovas " />
<person posts="2" size="5" who="Steven Walter " />
<person posts="2" size="5" who="Helge Hafting " />
<person posts="2" size="5" who="Paul Jakma " />
<person posts="2" size="5" who="Hugh Dickins " />
<person posts="2" size="5" who="Stuart McFadden " />
<person posts="2" size="5" who="Alessandro Suardi " />
<person posts="2" size="5" who="Jakub Jelinek " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="&quot;Rafael E. Herrera&quot; " />
<person posts="2" size="5" who="Bill Davidsen " />
<person posts="2" size="5" who="Ryan Mack " />
<person posts="2" size="5" who="&quot;Jean-Michel Lee&quot; " />
<person posts="2" size="5" who="Wayne Whitney " />
<person posts="2" size="5" who="Oleg Drokin " />
<person posts="2" size="5" who="Gregory Maxwell " />
<person posts="2" size="5" who="CaT " />
<person posts="2" size="5" who="&quot;Paul Fulghum&quot; " />
<person posts="2" size="5" who="J Sloan " />
<person posts="2" size="5" who="Yann Dupont " />
<person posts="2" size="5" who="Jakob Kemi " />
<person posts="2" size="5" who="jerry " />
<person posts="2" size="5" who="Aric Cyr " />
<person posts="2" size="5" who="John Fremlin " />
<person posts="2" size="5" who="John Kodis " />
<person posts="2" size="5" who="Ion Badulescu " />
<person posts="2" size="5" who="Vivek Dasmohapatra " />
<person posts="2" size="5" who="&quot;warren&quot; " />
<person posts="2" size="5" who="john slee " />
<person posts="2" size="5" who="&quot;Michel Wilson&quot; " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Roy Sigurd Karlsbakk " />
<person posts="2" size="4" who=" (Wichert Akkerman)" />
<person posts="2" size="4" who="Dave Jones " />
<person posts="2" size="4" who="Armin Obersteiner " />
<person posts="2" size="4" who="Philip Blundell " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Amir Hardon " />
<person posts="2" size="4" who="Paul Cassella " />
<person posts="2" size="4" who=" (Danny ter Haar)" />
<person posts="2" size="4" who="Tobias Ringstrom " />
<person posts="2" size="4" who="Tim Hockin " />
<person posts="2" size="4" who="Dan Hollis " />
<person posts="1" size="69" who="=?iso-8859-1?q?Fran=E7ois=20Dupoux?= " />
<person posts="1" size="24" who="Kenneth Stephen " />
<person posts="1" size="23" who="&quot;Bharata B . Rao&quot; " />
<person posts="1" size="21" who="Petri =?iso-8859-1?Q?J=E4rvinen?= " />
<person posts="1" size="21" who="Robert NEDBAL " />
<person posts="1" size="20" who="xOr " />
<person posts="1" size="17" who="Axel Thimm " />
<person posts="1" size="15" who="Pau " />
<person posts="1" size="15" who="Info " />
<person posts="1" size="12" who="Greg von Beck " />
<person posts="1" size="12" who="Xevi " />
<person posts="1" size="10" who="Frank Cornelis " />
<person posts="1" size="10" who="Brian Moyle " />
<person posts="1" size="9" who="Audrey Wong " />
<person posts="1" size="9" who="Don Dugger " />
<person posts="1" size="9" who="Anders =?iso-8859-1?Q?Lind=E9n?= " />
<person posts="1" size="9" who="Nick Pollitt " />
<person posts="1" size="9" who="Patrick McLean " />
<person posts="1" size="9" who="Christian Pernegger " />
<person posts="1" size="9" who="Larry McVoy " />
<person posts="1" size="8" who="Amon Ott " />
<person posts="1" size="8" who="Roman Fietze " />
<person posts="1" size="8" who="&quot;A.Sajjad Zaidi&quot; " />
<person posts="1" size="8" who="=?iso-8859-1?Q?J=F6rn_Engel?= " />
<person posts="1" size="7" who="Kenichi Okuyama " />
<person posts="1" size="7" who="&quot;Linus Torvalds&quot; " />
<person posts="1" size="7" who=" (Gunther Mayer)" />
<person posts="1" size="7" who="Kurt Garloff " />
<person posts="1" size="6" who="Patrick van de Lageweg " />
<person posts="1" size="6" who="Jean-Denis Boyer " />
<person posts="1" size="6" who="" />
<person posts="1" size="6" who="Stephen Satchell " />
<person posts="1" size="6" who="Tobias Landes " />
<person posts="1" size="6" who="Mark Hemment " />
<person posts="1" size="6" who="Alexandre et/ou Sophie Beneteau " />
<person posts="1" size="6" who="Hans Reiser " />
<person posts="1" size="6" who="=?us-ascii?Q?Jos=E9_Luis_Domingo_L=F3pez?= " />
<person posts="1" size="5" who="Patrick Shirkey " />
<person posts="1" size="5" who="&quot;Phil Oester&quot; " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who=" (Andreas M. Kirchwitz)" />
<person posts="1" size="5" who="&quot;Reverend EvvL X&quot; " />
<person posts="1" size="5" who="Christoph Simon " />
<person posts="1" size="5" who="Peter Fales " />
<person posts="1" size="5" who="Ime Smits " />
<person posts="1" size="5" who="Frank van Maarseveen " />
<person posts="1" size="5" who="Daniel Nofftz " />
<person posts="1" size="5" who="Scott Maxwell " />
<person posts="1" size="5" who="Tim Walberg " />
<person posts="1" size="5" who="Joel Jaeggli " />
<person posts="1" size="5" who="Russell Coker " />
<person posts="1" size="5" who="f5ibh " />
<person posts="1" size="5" who="&quot;Stephen E. Clark&quot; " />
<person posts="1" size="5" who="David Howells " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="&quot;Johan Kullstam&quot; " />
<person posts="1" size="4" who="Patrick Dreker " />
<person posts="1" size="4" who="Adam Dickmeiss " />
<person posts="1" size="4" who="Disconnect " />
<person posts="1" size="4" who="&quot;Stuart MacDonald&quot; " />
<person posts="1" size="4" who="Richard Guenther " />
<person posts="1" size="4" who="Andrejs Dubovskis " />
<person posts="1" size="4" who="Leonid Mamtchenkov " />
<person posts="1" size="4" who="Brian Campbell " />
<person posts="1" size="4" who="Christian Zander " />
<person posts="1" size="4" who="Ben Pfaff " />
<person posts="1" size="4" who="Dave Airlie " />
<person posts="1" size="4" who="&quot;Andrew T. Scott&quot; " />
<person posts="1" size="4" who="&quot;Scott G. Miller&quot; " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="&quot;Todd M. Roy&quot; " />
<person posts="1" size="4" who="Nick Urbanik " />
<person posts="1" size="4" who="Jim Dennis " />
<person posts="1" size="4" who="Andrzej Krzysztofowicz " />
<person posts="1" size="4" who=" (Andrew Pimlott)" />
<person posts="1" size="4" who="Joachim 'roh' Steiger " />
<person posts="1" size="4" who="Nathan Straz " />
<person posts="1" size="4" who="Ford Prefect " />
<person posts="1" size="4" who="Markus =?iso-8859-1?Q?M=FCller?= " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="&quot;Wojciech \&quot;Sas\&quot; Cieciwa&quot; " />
<person posts="1" size="4" who="&quot;Mark W. Eichin&quot; " />
<person posts="1" size="4" who="LA Walsh " />
<person posts="1" size="4" who="Willy Tarreau " />
<person posts="1" size="4" who="&quot;Roland Klabunde&quot; " />
<person posts="1" size="4" who="Jag " />
<person posts="1" size="4" who=" (richard offer)" />
<person posts="1" size="4" who="Jochen Striepe " />
<person posts="1" size="4" who="&quot;Richard B. Johnson&quot; " />
<person posts="1" size="4" who="&quot;John William&quot; " />
<person posts="1" size="4" who="R. van Dijk " />
<person posts="1" size="3" who="Davide Libenzi " />
<person posts="1" size="3" who="&quot;H. Peter Anvin&quot; " />
<person posts="1" size="3" who="=?iso-8859-1?Q?Sigurbj=F6rn_Birkir_L=E1russon?= " />
<person posts="1" size="3" who="Erik Gustavsson " />
<person posts="1" size="3" who="&quot;Michael D. Crawford&quot; " />
<person posts="1" size="3" who="Marvin Justice " />
<person posts="1" size="3" who="Erik Oomen " />
<person posts="1" size="3" who="&quot;Miller, Brendan&quot; " />
<person posts="1" size="3" who="Dennis Noordsij " />
<person posts="1" size="3" who="&quot;Martin K. Petersen&quot; " />
<person posts="1" size="3" who="Mathieu Chouquet-Stringer " />
<person posts="1" size="3" who="Michal Jaegermann " />
<person posts="1" size="3" who="Ryan Butler " />
<person posts="1" size="3" who="info " />
<person posts="1" size="3" who="Guennadi Liakhovetski " />
<person posts="1" size="3" who="Ketil Froyn " />
<person posts="1" size="3" who="Scott A Crosby " />
<person posts="1" size="3" who="Jeff Randall " />
<person posts="1" size="3" who="Tony Hoyle " />
<person posts="1" size="3" who="Chad Schwartz " />
<person posts="1" size="3" who=" (Andrew V. Samoilov)" />
<person posts="1" size="3" who="Alex Buell " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Ulrich Lauther " />
<person posts="1" size="3" who="pi " />
<person posts="1" size="3" who="Mark McClelland " />
<person posts="1" size="3" who="Stephen Tweedie " />
<person posts="1" size="3" who="&quot;Heinz J. Mauelshagen&quot; " />
<person posts="1" size="3" who="&quot;Andre Manuel Rocha Lourenco&quot; " />
<person posts="1" size="3" who="Jan-Benedict Glaw " />
<person posts="1" size="3" who="David Ford " />
<person posts="1" size="3" who="German Gomez Garcia " />
<person posts="1" size="3" who="Petr Baudis " />
<person posts="1" size="3" who="Russell King - ARM Linux " />
<person posts="1" size="3" who=" (Linus Torvalds)" />
<person posts="1" size="3" who="Szabolcs Szakacsits " />
<person posts="1" size="3" who="Vladimir Serov " />
<person posts="1" size="3" who="Scott Rhine " />
<person posts="1" size="3" who="Nikhil Goel " />
<person posts="1" size="3" who=" (David Wagner)" />
<person posts="1" size="3" who="Joseph Carter " />
<person posts="1" size="3" who="Kevin Stone " />
<person posts="1" size="3" who="Tim Jansen " />
<person posts="1" size="3" who="Shane Wegner " />
<person posts="1" size="3" who="&quot;Bill Rugolsky Jr.&quot; " />
<person posts="1" size="3" who="Frank Fiene " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Thomas Bogendoerfer " />
<person posts="1" size="3" who="Romain Dolbeau " />
<person posts="1" size="3" who="Harvey Fishman " />
<person posts="1" size="3" who="Jeff Dike " />
<person posts="1" size="3" who="Robert Schiele " />
<person posts="1" size="3" who="Gnea " />
<person posts="1" size="3" who="Jan Harkes " />
<person posts="1" size="3" who="&quot;Alain E.&quot; " />
<person posts="1" size="3" who="Stephen Burns " />
<person posts="1" size="3" who="Andreas Schwab " />
<person posts="1" size="3" who="Tim Haynes " />
<person posts="1" size="3" who="Bart Dorsey " />
<person posts="1" size="3" who="Ben Collins " />
<person posts="1" size="3" who="&quot;Roeland Th. Jansen&quot; " />
<person posts="1" size="3" who="viking " />
<person posts="1" size="3" who="&quot;Alex Q Chen&quot; " />
<person posts="1" size="3" who="Ram Madduluri " />
<person posts="1" size="3" who="&quot;Petr Vandrovec&quot; " />
<person posts="1" size="3" who="Wilfried Weissmann " />
<person posts="1" size="3" who="Dale E Martin " />
<person posts="1" size="3" who="Pete Wyckoff " />
<person posts="1" size="3" who="Ulrich Drepper " />
<person posts="1" size="3" who=" (Colonel)" />
<person posts="1" size="3" who="&quot;David Schwartz&quot; " />
<person posts="1" size="3" who="&quot;Marcus Wegner&quot; " />
<person posts="1" size="3" who="Daniellek " />
<person posts="1" size="3" who="Ookhoi " />
<person posts="1" size="3" who="Marko Kreen " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="nicholas black " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="&quot;Tom Sightler&quot; " />
<person posts="1" size="3" who="&quot;Adrian V. Bono&quot; " />
<person posts="1" size="3" who="David Brownell " />
<person posts="1" size="3" who=" (Jeff Walther)" />
<person posts="1" size="3" who="&quot;Stefano Coluccini&quot; " />
<person posts="1" size="3" who="&quot;Destroy micro$oft&quot; " />
<person posts="1" size="3" who="&quot;Alex Huang&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Peter Rottengatter " />
<person posts="1" size="3" who=" (Bob_Tracy)" />
<person posts="1" size="3" who="Stephen Rothwell " />
<person posts="1" size="3" who="Steffen Moser " />
<person posts="1" size="3" who="John Weidman " />
<person posts="1" size="3" who="Pjotr Kourzanoff " />
<person posts="1" size="3" who="&quot;Henning P. Schmiedehausen&quot; " />
<person posts="1" size="3" who="Ian Soboroff " />
<person posts="1" size="3" who="&quot;Alexander V. Lukyanov&quot; " />
<person posts="1" size="3" who="David Balazic " />
<person posts="1" size="3" who="TimO " />
<person posts="1" size="2" who="Stephen L Moshier " />
<person posts="1" size="2" who=" (Bruno Boettcher)" />
<person posts="1" size="2" who="Filip Van Raemdonck " />
<person posts="1" size="2" who="Chmouel Boudjnah " />
<person posts="1" size="2" who="Michael Peddemors " />
<person posts="1" size="2" who="Marcus Meissner " />
<person posts="1" size="2" who="Naren Devaiah " />
<person posts="1" size="2" who="GOMBAS Gabor " />
<person posts="1" size="2" who="&quot;Vitezslav Samel&quot; " />
<person posts="1" size="2" who="Thomas Molina " />
<person posts="1" size="2" who="&quot;nctucis&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="John Byrne " />
<person posts="1" size="2" who="Thomas Speck " />
<person posts="1" size="2" who="Christoph Hellwig " />
<person posts="1" size="2" who="&quot;Nerijus Baliunas&quot; " />
<person posts="1" size="2" who="=?iso-8859-1?Q?Andr=E9?= Dahlqvist " />
<person posts="1" size="2" who="Tigran Aivazian " />
<person posts="1" size="2" who="Zdenek Kabelac " />
<person posts="1" size="2" who="A Guy Called Tyketto " />
<person posts="1" size="2" who="Tommi Virtanen " />
<person posts="1" size="2" who="Pierre Etchemaite " />
<person posts="1" size="2" who="Mordrid Nightshade " />
<person posts="1" size="2" who="John Van Horne " />
<person posts="1" size="2" who="Sean Hunter " />
<person posts="1" size="2" who="&quot;Cagle, John&quot; " />
<person posts="1" size="2" who="Matt Domsch " />
<person posts="1" size="2" who="Christoph Rohland " />
<person posts="1" size="2" who="Steven Cole " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Admin Mailing Lists " />
<person posts="1" size="2" who="Alan Olsen " />
<person posts="1" size="2" who="Adam " />
<person posts="1" size="2" who="Elmer Joandi " />
<person posts="1" size="2" who="Gabi Davar " />
<person posts="1" size="2" who="&quot;Steve Best&quot; " />
<person posts="1" size="2" who="OGAWA Hirofumi " />
<person posts="1" size="2" who="David Christensen " />
<person posts="1" size="2" who="Stephen Clouse " />
<person posts="1" size="2" who="&quot;Imran Ali Rashid&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Jonathan Lundell " />
<person posts="1" size="2" who="Matthias Andree " />
<person posts="1" size="2" who="Christian Kurz " />
<person posts="1" size="2" who="Jure Pecar " />
<person posts="1" size="2" who="Juhani Rautiainen " />
<person posts="1" size="2" who="&quot;MEHTA,HIREN (A-SanJose,ex1)&quot; " />
<person posts="1" size="2" who="Artur Frysiak " />
<person posts="1" size="2" who="Tim Strobell aka Griffy " />
<person posts="1" size="2" who="Dave Bailey " />
<person posts="1" size="2" who="Tony Hoffmann " />
<person posts="1" size="2" who="Lee Leahu " />
<person posts="1" size="2" who="Tim Pepper " />
<person posts="1" size="2" who="Allen Ashley " />
<person posts="1" size="2" who="&quot;Carey B. Stortz&quot; " />
<person posts="1" size="2" who="Pete Zaitcev " />
<person posts="1" size="2" who="Jun Sun " />
<person posts="1" size="2" who="Nathan Neulinger " />
<person posts="1" size="2" who="Gerry " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Quim K Holland&quot; " />
<person posts="1" size="2" who="Simon Kirby " />
<person posts="1" size="2" who="john knox " />
<person posts="1" size="2" who="Ollie Lho " />
<person posts="1" size="2" who="Khyron " />
<person posts="1" size="2" who="Ben LaHaise " />
<person posts="1" size="2" who="Bernard Hartken " />
<person posts="1" size="2" who="&quot;Carlos Parada (EST)&quot; " />
<person posts="1" size="2" who="khromy " />
<person posts="1" size="2" who="John Langford " />
<person posts="1" size="2" who="Sami Nieminen " />
<person posts="1" size="2" who="Jurgen Kramer " />
<person posts="1" size="2" who="&quot;Oldrich Kepka&quot; " />
<person posts="1" size="2" who="Fu-hau Hsu " />
<person posts="1" size="2" who="Maneesh Soni " />
<person posts="1" size="2" who="Chris Meadors " />
<person posts="1" size="2" who="Stephen Thomas " />
<person posts="1" size="2" who="jury gerold " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Russell King " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Barry K. Nathan&quot; " />
<person posts="1" size="2" who="Francesc Oller " />
<person posts="1" size="2" who="David Ashley " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Bernd Eckenfels " />
<person posts="1" size="2" who="Mircea Ciocan " />
<person posts="1" size="2" who="Mikulas Patocka " />
<person posts="1" size="2" who="Martin Mares " />
<person posts="1" size="2" who="Detlev Offenbach " />
<person posts="1" size="2" who="Nikolas Zimmermann " />
<person posts="1" size="2" who="Alan Cox " />
<person posts="1" size="2" who="&quot;Georg Nikodym&quot; " />
<person posts="1" size="2" who="Wolfgang Rohdewald " />
<person posts="1" size="2" who="&quot;Dr. Kelsey Hudson&quot; " />
<person posts="1" size="2" who="Peter Daum " />
<person posts="1" size="2" who="&quot;Ola Garstad&quot; " />
<person posts="1" size="2" who=" (Petru Paler)" />
<person posts="1" size="2" who="Fabio Massimo Di Nitto " />
<person posts="1" size="2" who="&quot;Srinivas Surabhi&quot; " />
<person posts="1" size="2" who="Daniel Stutz " />
<person posts="1" size="2" who="Richard Guenther " />
<person posts="1" size="2" who="&quot;Eloy A. Paris&quot; " />
<person posts="1" size="2" who="Jan-Frode Myklebust " />
<person posts="1" size="2" who="Donald Becker " />
<person posts="1" size="2" who="Olaf Woudenberg " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;AlphaNine Networks \(System Administrator\)&quot; " />
<person posts="1" size="2" who="Stephen Burns " />
<person posts="1" size="2" who="William Park " />
<person posts="1" size="2" who="Laura Dean " />
<person posts="1" size="2" who="Mike Cutler " />
<person posts="1" size="2" who="BERECZ Szabolcs " />
<person posts="1" size="2" who="&quot;Steve Grubb&quot; " />
<person posts="1" size="2" who="John Cavan " />
<person posts="1" size="2" who="Srinivasan Venkatraman " />
<person posts="1" size="2" who="&quot;David L. Nicol&quot; " />
<person posts="1" size="2" who="Robert Holmberg " />
<person posts="1" size="2" who="&quot;Tamas Nagy&quot; " />
<person posts="1" size="2" who="Anton Blanchard " />
<person posts="1" size="2" who="isaac albeniz " />
<person posts="1" size="2" who="Jerry Hong " />
<person posts="1" size="2" who="Karel Kulhavy " />
<person posts="1" size="2" who="Rajeev Nigam " />
<person posts="1" size="2" who="&quot;Jeffrey W. Baker&quot; " />
<person posts="1" size="2" who="kees " />
<person posts="1" size="2" who="Pau Aliagas " />
<person posts="1" size="2" who="=?iso-8859-1?Q?St=E9phane_Borel?= " />
<person posts="1" size="2" who="Mitchell Blank Jr " />
<person posts="1" size="2" who="&quot;Juha Saarinen&quot; " />
<person posts="1" size="2" who="Jonathan Hudson " />
<person posts="1" size="2" who="David Riley " />
<person posts="1" size="2" who="Michael Shiloh " />
<person posts="1" size="2" who="&quot;Garst R. Reese&quot; " />
<person posts="1" size="2" who="Christoph Hellwig " />
<person posts="1" size="2" who="Bill Geissler " />
<person posts="1" size="2" who="Jean Paul Sartre " />
<person posts="1" size="2" who="Venkatesh Ramamurthy " />
<person posts="1" size="2" who="Thomas Foerster " />
<person posts="1" size="2" who="Miao Qingjun " />
<person posts="1" size="2" who="Matthew Fredrickson " />
<person posts="1" size="2" who="Ryan Hairyes " />
<person posts="1" size="2" who="Philippe Amelant " />
<person posts="1" size="2" who="Patrick McLean " />
<person posts="1" size="2" who="&quot;Young-Ho. Cha&quot; " />
<person posts="1" size="1" who="&quot;Bernhard Bender&quot; " />
<person posts="1" size="1" who="Mark Lehrer " />
<person posts="1" size="1" who="tang_jung " />

</stats>

<section
  title="64-Bit Major/Minor Device Numbers And PID Allocations"
  subject="Larger dev_t"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0103.3/0038.html"
  posts="95"
  startdate="24 Mar 2001 06:25:43 -0800"
  enddate="04 Apr 2001 00:08:51 -0800"
>
<topic>Clustering</topic>
<topic>Disk Arrays: LVM</topic>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>FS: devfs</topic>
<topic>Ioctls</topic>
<topic>Networking</topic>
<topic>USB</topic>

<mention>Wichert Akkerman</mention>
<mention>Jamie Lokier</mention>
<mention>Ulrich Drepper</mention>
<mention>John Byrne</mention>
<mention>Andries Brouwer</mention>

<p>Andries Brouwer argued in favor of changing the dev_t variable to have
64 bits instead of 16. He pointed out that this was already the case in
user-space, because glibc used a 64-bit dev_t. One of the main uses for
dev_t was to hold the major and minor numbers of device files in /dev. Linus
Torvalds replied vehemently:</p>

<quote who="Linus Torvalds">

<p>The fact that glibc is a quivering mass of bloat, and total and utter
crap makes you suggest that the Linux kernel should try to be as similar
as possible?</p>

<p>Not a very strong argument.</p>

<p>There is no way in HELL I will ever accept a 64-bit dev_t.</p>

<p>I _will_ accept a 32-bit dev_t, with 12 bits for major numbers, and 20
bits for minor numbers.</p>

<p>If people cannot fit their data in that size, they have some serious
problems. And for people who think that you should have meaningful minor
numbers where the bit patterns get split up some way, I can only say "get
a frigging clue". That's what you have filesystem namespaces for. Don't try
to make binary name-spaces.</p>

<p>And I don't care one _whit_ about the fact that Ulrich Drepper thinks
that it's a good idea to make things too large.</p>

</quote>

<p>John Byrne suggested getting rid of major and minor numbers entirely, and
Linus replied that this would eventually be the case inside the kernel, but
that user-space still required the concept of major and minor device numbers,
just to accomodate all the legacy UNIX features that expected it. There was
no reply to this, but Andries did reply to Linus' first post. He argued that a
large dev_t would really make things a lot simpler, because the whole question
of dev_t wrapping back to zero would really be moot. A 64-bit value would
just take a HUGE amount of time to wrap, and so a lot of kernel code could
ignore that possibility entirely. Wichert Akkerman replied that eventually,
a 64-bit value would wrap, and so Andries' solution would only delay the
problem. Mitchell Blank Jr pointed out, <quote who="Mitchell Blank Jr">64
bits is enough to fork 1 million processes per second for over 500,000 years.
I think that's putting the problem off far enough.</quote> But Jamie Lokier
pointed out that a million processes per second, or even five hundred million,
would be a pretty small number, given the various clustering projects likely
to be underway in the near future, and that on such a system even a 64-bit
process ID space could wrap within a couple weeks.</p>

<p>Elsewhere, Linus also replied to Andries idea that a big dev_t would
simplify kernel code. He said this would force programs to <quote who="Linus
Torvalds">carry along the overhead of having a 64-bit field.</quote> He
went on:</p>

<quote who="Linus Torvalds">

<p>The fact is, that there are programs out there that use "int" for pids.</p>

<p>It's equally true that changing "pid_t" will require that you recompile
every single app that might have a kernel interface to the current 32-bit
pid_t.</p>

<p>AND you just created tons of problems for things like the non-obvious
stuff like</p>

<p>        ioctl(fd, FASETOWN, arg);</p>

<p>because "arg" is defined to be a single word.</p>

<p>In short, you've just broken existing binaries in ways that will be _damn_
hard to debug (they magically start breaking only after the pid-space has
wrapped the first 32 bits).</p>

<p>And that's a DOCUMENTED interface. Never mind all the undocumented stuff
that assumes (for all the reasonable historical reasons) that "pid" fits
in an "int". Tell me there aren't applications like that, and I'll laugh in
your face.</p>

<p>In short, both your arguments are totally bogus. Your "simpler" function is
in fact a horrible rats nest and a source of subtle bugs that you apparently
never even thought about.</p>

<p>And that's without ever actually mentioning the word "bloat" and "data
cache usage".</p>

</quote>

<p>Andries pointed out that in user space, dev_t was already 64 bits
because of glibc. So, he implied, Linus' bug scenario was bogus, since
user-space already used the 64-bit solution. Albert D. Cahalan crowed,
<quote who="Albert D. Cahalan">In your dreams!!!!</quote> and pointed out
tons of user-space code that truncated dev_t. Linus also said to Andries,
<quote who="Linus Torvalds">Now you're back to the argument that "glibc is
bloated, so we might as well be too".  The fact is, that I don't like that
argument. I don't buy into that kind of philosophy. If somebody else made
a mistake, that doesn't force me to do the same mistake.</quote> He added,
<quote who="Linus Torvalds">I have a holy crusade. I dislike waste. I dislike
over-engineering. I absolutely detest the "because we can" mentality. I think
small is beautiful, and the guildeline should always be that performance
and size are more important than features.</quote> He also went into some
depth:</p>

<quote who="Linus Torvalds">

<p>The fact is, that there are two uses for dev_t's:</p>

<p>

<ul>

<li>the "unnamed" ones. Where we've had 8 bits of namespace for ten years,
   and even now it's only mildly painful (ie most people never notice). We
   probably don't need more than 10-11 bits in practice (even with automounting
   on large sites, I doubt you'll find a site that needs to have mroe than
   a few thousand mounts active at the same time). 20 bits is _plenty_.</li>

<li>/dev.</li>

</ul>

</p>

<p>And let's take a look at /dev. Do a "ls -l /dev" and think about it. Every
device needs a unique number. Do you ever envision seeing that "ls -l"
taking about 500 billion years to complete? I don't. I don't think you do.
But that's how ludicrous a 64-bit device number is.</p>

<p>So in /dev, there are two problems: we are getting painfully close to
major numbers with 8 bits, and we've run out of minors several times. In
fact, a lot of the reason for the dearthness of major numbers is the fact
that we use multiple majors for some stuff that really wants many minors.</p>

<p>So 8 bits for major is actually fairly close to perfectly livable -
or at least would be if we had more minors. And there is no question about
it: you need a lookup table for major numbers. Which means that 32 bits of
major numbers is ridiculous. As is 20. Which is why I suggested 12. A nice
size, that is reasonable in real life, and that can easily be used for table
lookups. It's also sixteen times larger than what we have today, which would
probably be acceptable in itself.</p>

<p>For minors, we have the problem of "dynamic" devices. The main one probably
being pty's, in fact. It's easily conceivable to have thousands of pty's -
I suspect that for various other reasons most system administrators would
prefer to farm things out so that it isn't _needed_, but clearly we want at
_least_ 16 bits here. 20 bits is reasonable.</p>

<p>And remember: for the future, what we want to move towards is _name_ lookup,
not device number lookup. Stupid SCSI people have wanted to partition the
minor number for a long time, and that's always been idiotic. If you have
a sparse name-space, you should use names, not numbers.</p>

<p>So people who want to see /dev/scsi/bus0/dev12/lun4/part0, use devfs or
something, don't try to make the number space be sparse. Sparse numbers are
a stupid idea for _anything_ but maybe CPU design (I'm willing to concede
that a 256-bit address space might be useful on a CPU level, because a CPU
really cannot afford to do name lookups when looking up addresses, even if
it has been tried).</p>

<p>In short, a 64-bit dev_t is unnecessary. And according to the maxim of
"don't go overboard just because you _can_", I don't want to see it.</p>

<p>Also, I have looked at your argument for "simplicity", and I dismiss it. I
do not believe that the cases you claim are "simpler" are really simpler.
I showed that your pid_t example was completely unrealistic, and as far as I
can tell your "dev_t" example absolutely _hinges_ on the fact that it makes
anonymous dev_t allocation simpler.</p>

<p>And that falls flat on its face simply because it's _already_ so simple
that it doesn't matter.</p>

</quote>

<p>H. Peter Anvin piped up at this point, saying that the real problem was
having a 64-bit value that was very dense. Trying to pack larger numbers
into a small space, he said, was a big problem, while having a sparce number
space would not be a problem. He added, <quote who="H. Peter Anvin">The
IPv4-&gt;IPv6 transition people have looked at the issues of number spaces and
how much harder they get to keep dense when the size of the numberspace grows,
because your lookup operation becomes so much more painful.  Any time you have
to take a larger number space and squeeze it into a smaller number space,
you get some serious pain.</quote> He also went on, <quote who="H. Peter
Anvin">Part of the reason we haven't -- quite -- run out of 8-bit majors
yet is because I have been an absolute *bastard* with registrants lately.
It would cut down on my workload if I could assign majors without worrying
too much about whether or not that particular driver is really going to
be made public.</quote> He concluded, <quote who="H. Peter Anvin">64 bits
is obviously excessive, but I really don't feel comfortable saying that
only 12 bits of major is sufficient.  16 I would buy, but I don't think
16 bits of minor is sufficient.  Given that, it seems to me -- especially
since dev_t isn't exactly the most accessed data type in the universe --
that the conceptual simplicity of keeping the major and minor separate in
individual 32-bit words really is just as well.  YES, it's overengineering,
but the cost is very small; the cost of underengineering is having to go
through yet another painful transition.  Unfortunately, the Linux community
seems to have some serious problems with getting system-wide transitions
to happen, especially the ones that involve ABI changes.  This needs to be
taken into account.</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>The real problem, in my opinion, is needing device numbers in the first
place, for stuff that really shouldn't use them.</p>

<p>I don't want to make allocation easy. In fact, I want to make it _harder_.
I like it being painful, because it should not be done.</p>

<p>I've seen _way_ too many instances of "let's create a special device"
for no good reason. For example, all the crap about mice was (and is) a
mistake. And that's the least of the problems. Some devices on the device
list are there mainly as just a way to hook in an ioctl or something. It's
sad, and it's wrong.</p>

<p>And I'm sorry, but I do NOT want to envision a future where you can say
"ok, majors in the range 512-576 are PPC-specific, and you can go wild".
Yes, it would make your job easier. But it would make for a BAD SYSTEM,
which is what _I_ care about.</p>

<p>We should encourage people to not need major numbers. It's easy. The
driver exports a /proc entry in /proc/driver/xxx or similar . Or the driver
writer says "if you want to use this device, use devfs", and exports the
name there.</p>

<p>Don't get the issue of "it would make my life easier" override the issue of
"it's the wrong thing to do".</p>

<p>Another example: all the stupid pseudo-SCSI drivers that got their own
major numbers, and wanted their very own names in /dev. They are BAD for
the user. Install-scripts etc used to be able to just test /dev/hd[a-d] and
/dev/sd[0-x] and they'd get all the disks. Deficiencies in the SCSI layer
made it impossible for a driver writer to be nice to the user, so instead
they got their own major numbers.</p>

<p>But again, you're arguing for _more_ badness. While I'm of the opinion
that we _already_ have too many major numbers, and we should realize that,
and not make it worse.</p>

<p>A 64-bit dev_t only makes it _easier_ to continue to be stupid about
things.</p>

<p>And that, btw, is the hallmark of "bloat". Bloat is not about being big.
Bloat is about being slow and stupid and not realizing that it's because of
design mistakes.</p>

</quote>

<p>The discussion veered off a bit here. Alan Cox voted for a 32-bit dev_t,
and also disagreed with some of Linus' points. Among them was Linus'
statement that "Deficiencies in the SCSI layer made it impossible for a
driver writer to be nice to the user, so instead they got their own major
numbers." To this, Alan replied, <quote who="Alan Cox">Not deficiencies
in the SCSI layer, there is no way the scsi layer can handle high end raid
controllers. In fact one of the reasons we can beat NT with some of these
controllers is because NT does exactly what you suggest with scsi miniport
driver hacks and it _sucks_. Its an ugly hack.</quote> Linus disagreed,
and said it could be done easily and quickly, with no performance hit. He
explained, <quote who="Linus Torvalds">With a simple "queue" mapping for the
SCSI majors. Just look up which queue to use for requests to which major, and
you're done. The actual IO may by-pass the SCSI layer altogether.</quote></p>

<p>Linus added, <quote who="Linus Torvalds">I'm absolutely not advocating
using the SCSI layer for the high-end-disks. Rather the reverse. I'm advocating
the SCSI layer not hogging a major number, but letting low-level drivers get
at _their_ requests directly.</quote> Andre Hedrick asked, <quote who="Andre
Hedrick">Am I hearing you state you want dynamic device points and dynamic
majors?</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>Yes and no.</p>

<p>We need static structures for user space - from a user perspective it
makes a ton more sense to say "I want to see all disks" than it does to know
that you have to do /dev/hd*, /dev/sd* plus all the extra magic combinations
that can happen (USB etc).</p>

<p>So in a sense what I'm arguing for is for _stricter_ device numbers to
the outside world.</p>

<p>But internally, it would be reasonably easy to make a mapping from those
user-visible numbers to a much looser version.</p>

<p>One example of this is going to happen very early in 2.5.x: the whole
"partitioning" stuff is going to go away from the driver, and into the
ll_rw_block layer as just another disk re-mapping thing. We already do those
kinds of re-mappings for LVM reasons anyway, and partitioning is not something
a disk driver should know about, really.</p>

<p>And that kind of partitioning mapping automatically means that we'd need to
remap minor numbers, and do it on a per-major basis (because the partitioning
mapping right now is not actually the same between SCSI and IDE: IDE uses six
bits of partitioning, while SCSI uses just four bits).  And once you do that,
you might as well start "remapping" major numbers too.</p>

<p>So let's say that you have two separate SCSI controllers - they would both
show up on major #8, and different minor numbers. Right now, for example,
controller 1 might have one disk, with minors 0-15 (for the whole disk and
15 partitions), and controller 2 might have two disks using minors 16-47.</p>

<p>As it stands now, the SCSI layer needs to do the remapping, and because
the SCSI layer does the remapping, nothing but SCSI layer devices can use
major #8.</p>

<p>But once you start doing partition mapping in ll_rw_block.c, you might
as well get rid of the notion that "SCSI is major 8". You could easily have
many different drivers, with many different queues, and remap them all to
have major 8 (and different minors) so that it looks simple for a user that
just wants to see SCSI disks.</p>

<p>Which is not to say that the same disk might not show up somewhere else too,
if anybody wants it to. The _driver_ should just know "unit x on queue y",
and then the driver might do whatever it wants (it might be, for example,
that the driver actually wants to show multiple controllers as one queue,
if the driver really wants to for some reason). And it should be possible
to have two drivers that really have no idea at ALL about each other to just
share the same major numbers.</p>

</quote>

<p>The discussion meandered along for awhile and then petered out.</p>

</section>

<section
  title="Linux Use In Business Environment"
  subject="Linux connectivity trashed."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0103.3/0865.html"
  posts="9"
  startdate="29 Mar 2001 05:34:06 -0800"
  enddate="02 Apr 2001 09:42:14 -0800"
>
<topic>FS: NFS</topic>

<mention>Jesse Pollard</mention>
<mention>J.A. Magallon</mention>
<mention>Roger Larsson</mention>

<p>Richard B. Johnson reported:</p>

<quote who="Richard B. Johnson">

<p>This is for information only.</p>

<p>Last week a standard RH distribution of  Linux was rooted from what looks
like a Russian invasion. The penetration used the method taught in the CERT
Advisory CA-2000-17.</p>

<p>The intruder(s) then attempted  to perform additional penetrations from
this site. One of  the sites attacked was alleged to be Raytheon. Raytheon
makes products for national security such as guided missiles.</p>

<p>I was told that Raytheon is now suing this company.  Therefore all Linux
machines are being denied access to the Internet.</p>

<p>The penetration occurred because somebody changed our  firewall
configuration so that all of the non-DHCP addresses, i.e., all the real IP
addresses had complete connectivity to the outside world. This meant that
every Linux and Sun Workstation in this facility was exposed to tampering
from anywhere in the world. This appears to be part of a plan to remove all
non-DHCP machines by getting them trashed.  In other words, we were set up
to take a hard fall because no machine that allows NFS mounts  can be safely
exposed to the outside world without blocking portmap.</p>

<p>There is a concerted effort to eliminate both Sun Workstations and Linux
machines as tools in this facility. This happens as the "yuppies",  who have
never, ever, contributed to product development are Peter-Principled into
positions of authority.</p>

<p>The email addresses of  those who have declared that only Windows machines
will be allowed access to the outside world are:</p>

<p>    Thor T. Wallace   twallace@analogic.com<br />

    David Pothier       dpothier@analogic.com</p>

<p>David Pothier was a beta tester for Windows/NT. Of course he wants all
machines to be Windows and,  naturally, under his control.</p>

<p>Thor Wallace is our new "security" administrator so I am told.</p>

<p>The only  Linux  advocate in a position of authority is:</p>

<p>   Alex Shekhel        ashekhel@analogic.com</p>

<p>So,  now I hooked up my lap-top,  installed Windows.... and here I am.
Only windows machines are allowed to access the outside world.</p>

</quote>

<p>J.A. Magallon replied that the network administrators shouldn't have
<quote who="J. A. Magallon">spent their time configuring a firewall to MAKE
HOLES where there are not any...</quote> And Jesse Pollard drew attention
to the fact that the admins had not told anyone that they were doing this
either. Roger Larsson felt that if Raytheon could sue a company for what
happened, that implied that a company could sue another for forwarding a
virus as well. Several folks suggested that Richard find another job. Later,
Richard said, <quote who="Richard B. Johnson">I have now gotten three linux
machines back "on-the-air". The security people insist on doing "NAT",
so these machine are now using a phony internal address, but we are up.
Another crisis created and resolved.</quote></p>

</section>

<section
  title="Still Chasing Bad Bugs In 2.4"
  subject="EXT2-fs error"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0103.3/0969.html"
  posts="4"
  startdate="29 Mar 2001 19:06:30 -0800"
  enddate="02 Apr 2001 15:13:16 -0800"
>
<topic>FS: ext2</topic>

<mention>Rogier Wolff</mention>

<p>Someone reported seeing errors of the form, "EXT2-fs error (device
ide2(33,3)): ext2_free_blocks: bit already cleared for block 1048576",
while rm-ing a big directory. The person asked if these were serious, and
Rogier Wolff replied that yes, they were very, very serious. Rogier's first
guess was that the poster's hard disk, or more likely, his RAM, was simply
broken. But Alan Cox said, <quote who="Alan Cox">if it was 2.2 I'd believe
it. 2.4 is still showing these kind of problems in software on many VIA
chipset athlon boards and under extreme loads on other boxes too.</quote></p>

</section>

<section
  title="Cleaning Up The Kernel...Developers"
  subject="New directions for kernel development"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.0/0007.html"
  posts="17"
  startdate="01 Apr 2001 00:05:32 -0800"
  enddate="02 Apr 2001 06:50:34 -0800"
>
<topic>BSD</topic>
<topic>Networking</topic>

<mention>Alan Cox</mention>
<mention>David Riley</mention>

<p>At 5 minutes past midnight on April 1, Linus Torvalds finally
confessed:</p>

<quote who="Linus Torvalds">

<p>Recently, I've been thinking a lot about where Linux development should
head now that 2.4 is out.  Specifically, I've been thinking about how we
ought to make some cultural changes as well as technical changes.  Now I'm
not *entirely* sure what directions we should head in as we move towards 3.0,
but I'd like to point out a few areas that need to be addressed as well as
propose some possible solutions.  Nothing is set in stone yet, but these
are definitely issues we need to work on.</p>

<p>First off, I don't like a lot of the elitism that does on among Linux
hackers.  Just because you can tell what the following script does without
executing it, doesn't mean that you're some kind of god.</p>

<p>

<blockquote>

#! /usr/bin/perl<br />
@k = unpack "a"x5,'x_,d@';@o = unpack "a"x19,'Q8&gt;tUxLm\@`Y%N@cIq]';<br />
while ($i&lt;19){print chr((ord($o[$i])-ord($k[$i++%5])+91)%91+32);}

</blockquote>

</p>

<p>Learning to hack Un*x is an impressive accomplishment, but it's closer kin
to solving a Rubik?s cube than scaling Everest.  If you think using Un*x makes
you some kind of super genius who should be feared by mere mortals and end
users, either get over it or start using *BSD.  *BSD users (and developers)
are all complete jackasses, so you'll fit right in.</p>

<p>Secondly, I'd like to address the issue of cleanliness.  Quite frankly,
the standards of personal hygiene practiced by many members of this community
are simply unacceptable.  As you all know, I am a fairly clean cut, well-kempt
person (I know, I have a bit of a gut, but compared to Maddog, Nick Petreley
or ESR, I'm a modern Adonis.), and in the Linux community that is something
of an anomaly.  Virtually all users of Linux (and all other forms of Un*x)
are unkempt, longhaired, beast-bearded dirty GNU hippies, and I am sick and
tired of having to deal with them.</p>

<p>The person I have the greatest problem with is that (in)famous communist
RMS.  Now, RMS may have been responsible for GNU, the GPL, GCC and many
other contributions to the computing community, but his stance, as well
as stench, displayed in his essays and actions, nauseates me.  I mean,
with that filth-ridden beard of his, where does he have room to demand that
people refer to Linux as GNU / Linux?  When he is as clean-shaven as I, he
may claim that right, but until then, he should go back to playing his little
flute and dropping acid like there?s no tomorrow.  Honestly, if he doesn?t
shut his mouth and go back to reading Marx, I?m going to shut it for him.
I am sorry to sound so harsh, but a little hygiene every once in a while is
a Good Thing(TM).  Makes me wish I'd gone with a closed source license back
in the day.</p>

<p>Next in line of dirty scuzz-balls I have to deal with, and probably
the worst thorn in my side, is Alan Cox, the primary coder of my kernel's
TCP/IP stack (ha, what a joke!) and all around dirty GNU hippy.  Alan views
toothpaste the same way a vampire views garlic.  The man's wife (who I spent
a few years with at the University of Helsinki) often calls me crying in the
middle of the night to complain of the rank, unbearable stench the man exudes
after sex.  On several occasions at trade shows, exhibitions and beer bashes,
I have nearly fainted from the torrent of rotten odor that pours from every
inch of his toxic person.  Along with the typical GNU hygiene (mis)habits
he practices, he also bitches and whines about... well, everything.  He lies
a lot too; evidence for this can be seen in the fact he almost always wears
cheap black sunglasses when talking to people he knows are better than him
(such as myself).</p>

<p>And then we come to ESR. I won't reiterate the sewer-dweller like
cleansing habits he practices as well, but I would like to focus on his
general lifestyle.  I like to refer to ESR as AGB or ?Arrogant Gas Baron.?
The man?s flatulence is legendary.  I honestly believe that given a meal of
refried beans and a match, he could reach low earth orbit.  If you have to
meet with ESR for any reason, arrange for the meeting to be outdoors and try
to stay upwind.  And his flatulence isn?t limited to his posterior either.
Frequently it comes out his mouth or even out of his keyboard.  (Those of
you who have read ?The Cathedral and the Bazaar? or ?Meditations of Sudden
Wealth? will know exactly what I?m talking about here.)   Additionally,
he is a complete hillbilly.  You know, the kind that goes to inner-city
computer stores and buys 386s to set up as servers all over his house, with
cigarette smoke-stained 14" monitors piled high upon his kitchen table.
He has neither grace nor charm and can't last 15 seconds in conversation
with educated company without drifting into a tirade on gun rights or the
best methods for tanning road kill.  Couple the above facts with his ruddy
complexion (from drinking Jagermeister like it?s water) and his child-molester
mustache and you?ve got the makings of one more person who pisses me off.</p>

<p>Well, that's it for now. Hopefully with these feelings off my chest and
into the Open Source community, things will change for the better. I'd like
just once to talk to a Linux user or advocate who washes and changes their
clothes at least weekly. Until then, I will be rejecting patches from anyone
whose grooming standards do not measure up.</p>

<p>Also, I have submitted this to slashdot with the title "A Proposed Remedy
Involving Lingering Fud and Organizational Objections to Linux Systems."
Be on the lookout for it.</p>

</quote>

<p>After weighing the various issues, George Bonser replied:</p>

<quote who="George Bonser">

<p>So according to the below, Linux development should be considered an
environmental hazard?  Maybe it is in the best interest of Planet Earth that
we should provide some safe place, possibly some South Pacific island, where
we could set up a quarrantine camp for hardcore linux developers. All of their
needs would be provided for, of course, since it is not their fault they are
afflicted with this problem. Someplace near an undersea fiber link would most
likely be best since their activities will need to be closely monitored at
all times and instant global communication of their "progress" is vital.</p>

<p>Judging from the pasty faces of many Linux developers, sunshine might be
the perfect remedy.</p>

<p>I say the UN should get right on this problem straight away!</p>

</quote>

<p>There was no reply to this, but a dismayed Wayne Brown spoke for many
when he replied to Linus' original post, <quote who="Wayne Brown">I just
wish you'd bothered to make all this public sooner.  Here I am, having
spent the last couple of months growing a beard to enhance my hackerhood,
and now, just when it's starting to look good, you want me to shave it off!
That's the whole problem with Linux.  It's about time you stopped using
these undocumented hygiene interfaces and published some solid standards!
(And don't give me that old excuse about having your pictures right in
front of us -- "A real hacker wouldn't need documentation, he'd just read
my face.")</quote></p>

<p>Several querulous troublemakers refused to face facts, and accused Linus
of joking, or even of not being himself. David Riley traced the email to
Washington state, and pointed out that it had been written in MS Outlook. He
speculated that Linus was not even the author. Chris Meadors clung to this
thin reed as well, saying, <quote who="Chris Meadors">Yeah, the quality of
these jokes has really gone down hill.  Last year we had forged headers and
composed with Pine.  This year we have someone with a dialup account using
Outlook, with all it's ^Os and long lines of text.  Bah.</quote></p>

</section>

<section
  title="2.4.3 Compile Problems On Alpha And IA64"
  subject="can not compile 2.4.3 on alpha"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.0/0152.html"
  posts="4"
  startdate="02 Apr 2001 03:40:01 -0800"
  enddate="02 Apr 2001 07:37:39 -0800"
>

<mention>Andrea Arcangeli</mention>

<p>Andrejs Dubovskis got several compilation errors when trying to
compile 2.4.3 on an Alpha machine. Gustavo Niemeyer reported, <quote
who="Gustavo Niemeyer">This is happening on ia64 as well. The interface
seems to have changed but some architectures were forgotten.</quote> Jeff
Garzik clarified, <quote who="Jeff Garzik">The interface changed and other
architectures have not caught up yet :) Other archs pretty much always
play catch-up to the x86 port.</quote> Andrea Arcangeli suggested trying <a
href="ftp://ftp.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.3/alpha-numa-2">a
patch</a>, but there was no reply.</p>

</section>

<section
  title="Linux Terminal Type Documentation"
  subject="&quot;linux&quot; terminal type"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.0/0536.html"
  posts="6"
  startdate="03 Apr 2001 19:07:55 -0800"
  enddate="05 Apr 2001 15:06:00 -0800"
>

<mention>Andries Brouwer</mention>

<p>Mark Lehrer asked for information on the Linux terminal type, and
Ralf Baechle replied, <quote who="Ralf Baechle">Maybe cryptic but the
most complete documentation of the linux terminal and it's relatives are
probably /etc/termcap and the ncurses terminfo database.  Aside of the code
itself.</quote> James Simmons also recommended, <quote who="James Simmons">take
a look at <a href="http://www.vt100.net">http://www.vt100.net</a>. Since
linux tries to emulate the Dec vt100 at this site you will find the vt100
manuals. They are quite good and the esc codes are well described in
them.</quote> Ralf also mentioned that the man-page for 'console_codes'
was also "finally" available, and Andries Brouwer pointed out that this
man-page had been around since 1996.</p>

</section>

<section
  title="Some Discussion Of Binary-Only Drivers"
  subject="Proper way to release binary-only driver?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.0/0695.html"
  posts="11"
  startdate="05 Apr 2001 02:58:34 -0800"
  enddate="09 Apr 2001 05:11:12 -0800"
>

<p>Brendan Miller asked:</p>

<quote who="Brendan Miller">

<p>I have the need to distribute a binary-only driver (no flames, please),
but I am not certain how to build it so that it can be used on multiple
kernel versions.  (Or is this impossible?)</p>

<p>I didn't find any "HOWTO (or recommendation) for proper binary-only
driver release etiquette", so if there are some preferred means, please let
me know.</p>

<p>I specifically had issues with the whole MODVERSIONS thing.
I can include &lt;linux/verion.h&gt; and &lt;linux/config.h&gt; to
get the right CONFIG_MODVERSIONS macro definitions, and then include
&lt;linux/modversions.h&gt; as appropriate.  The end result is a driver with
symbols whose names are mangled to match the modversion-enabled mangling of
a modversion-enabled kernel.  This is good if I release on the same kernel
version.</p>

<p>Obviously, if I use a different kernel the module refuses to load.  My first
guess was to get rid of the module-versioning stuff so that the symbols are
not mangled, and this seems to work, except that I must use insmod -f module
for kernels with a different version than what I built with.</p>

<p>So, if there are guides that I didn't find, or ones on this list that
someone things I should use, please let me know.</p>

</quote>

<p>Alan Cox replied that the only recommendation for building binary-only
kernel modules was, don't. But he added that to do it successfully, <quote
who="Alan Cox">You must build with the same compiler, same tree and options
as the kernel itself.</quote> Eric W. Biederman also said to Brendan,
<quote who="Eric W. Biederman">The general recommendation (I have heard)
is to include a bit of source that provides a kernel abstraction layer that
will stay the same between kernels that your binary only driver can use,
and to let users compile that with different kernels.</quote> But he added,
<quote who="Eric W. Biederman">The source form driver is the recommended way
to release kernel code.   And I would highly encourage you to figure out how
to do a source release, under the GPL so your driver can be included in the
mainstream kernel. Without that your device will be at best only semi supported
under linux.</quote> Finally, he said, <quote who="Eric W. Biederman">If
what you are after is a way to release a driver that is not a hassle to
add to an already working system, you will find a more receptive ear.
I have heard some talk, that it would be a good idea to figure out how to
standardize how to compile a kernel driver outside the kernel tree, so it
could be trivial enough that anyone could do it.  To date there are enough
people around who don't have problems compiling their own kernel that this
hasn't become a major issue.</quote> Christopher Turcksin replied:</p>

<quote who="Christopher Turcksin">

<p>I am finding myself exactly in this situation, and I've got a feeling
that this won't be the last time either.</p>

<p>I expect that every future Linux driver I get involved with will be
released under GPL. However, I think that the majority of our customers will
be running a distribution that does not yet support a new driver, and even
at Linux speeds, it'll take a long enough time that customers cannot afford
to wait for the next release that includes the driver.</p>

<p>So the big issue for us appears to be how we support these customers.</p>

<p>There is no way that we can support customers who have custom kernels,
but since they are 'in it' enough to compile their own kernel, I guess
they're able to apply our patch and recompile it. I actually suspect that
there aren't that many who do this anyway.   </p>

<p>Where we find we have a problem is the number of different 'standard'
kernels out there. We find that we need to support all releases since the
last year or so for each distribution. And for each of those, we find that
there are many different kernel versions (some bugfixes, some provide half
a dozen different kernels with the CDs, aso.). And since we do not expect
these customers to compile their own kernel, we see no option but to provide
a precompiled binary driver. The numbers multiply quickly and building all
of those becomes an interesting problem.</p>

<p>We had hoped that MODVERSIONS would allow us to provide a single (or
at most a few) binary driver. Kernels with even minor version numbers are
supposed to be stable (even if they are buggy) ie. not have wildly changing
kernel interfaces.</p>

<p>In practice, that doesn't work. A driver compiled with 2.2.16 doesn't
load with 2.2.16-5.0 (from RedHat 6.2) (just an example).</p>

</quote>

<p>Alan Cox pointed out that the even numbered kernels had stable programmer
interfaces (APIs), and that binary interfaces (ABIs) were unimportance. He
said, <quote who="Alan Cox">THe ABI thing is an irrelevance to free software.
avoiding the ABI compatibility mess is one of the great things free software
lets you do.</quote> Joel Jaeggli also replied to Christopher, suggesting:</p>

<quote who="Joel Jaeggli">

<p>take a look at how nvidia delivers the module for their video cards...</p>

<p><a
href="http://www.nvidia.com/Products/Drivers.nsf/Linux.html">http://www.nvidia.com/Products/Drivers.nsf/Linux.html</a></p>

<p>you build the module with your current kernel or download the one for
your distribution (limited number)</p>

<p>4-front tenchnologies has also done a long-term good job on this with
oss</p>

</quote>

</section>

<section
  title="Big Raw IO Performance Enhancement For 2.4"
  subject="2 times faster rawio and several fixes (2.4.3aa3)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.0/0891.html"
  posts="5"
  startdate="06 Apr 2001 08:34:40 -0800"
  enddate="06 Apr 2001 10:22:05 -0800"
>
<topic>Raw IO</topic>

<mention>Andrea Arcangeli</mention>

<p>Andrea Arcangeli announced that he'd been able to speed up the raw IO code by
100%, and that there was still room for more improvements. Later, he posted
another patch that showed even better results; there was a bit of discussion,
and eventually he said the patch was ready for inclusion in 2.4</p>

</section>

<section
  title="Status Of aic7xxx Driver"
  subject="Version 6.1.11 of the aic7xxx driver availalbe"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/0188.html"
  posts="7"
  startdate="09 Apr 2001 13:11:25 -0800"
  enddate="11 Apr 2001 16:06:43 -0800"
>
<topic>BSD: FreeBSD</topic>
<topic>Disks: IDE</topic>

<p>Justin T. Gibbs announced:</p>

<quote who="Justin T. Gibbs">

<p>As always, the latest version of this driver is availalbe here:  </p>

<p><a
href="http://people.FreeBSD.org/~gibbs/linux/">http://people.FreeBSD.org/~gibbs/linux/</a></p>

<p>This site now includes installation instructions, feature set, etc.
The page is under construction - comments welcome.</p>

<p>For the impatient:</p>

<p>CHANGELOG:<br />
    http://people.FreeBSD.org/~gibbs/linux/CHANGELOG</p>

<p>2.4.3-patch:<br />
    http://people.FreeBSD.org/~gibbs/linux/linux-aic7xxx-6.1.11-2.4.3.patch.gz</p>

<p>2.2.19-patch:<br />
    http://people.FreeBSD.org/~gibbs/linux/linux-aic7xxx-6.1.11-2.2.19.patch.gz</p>

</quote>

<p>Wakko Warner asked, <quote who="Wakko Warner">So, what about on an
alpha system. I've asked a few times what I could do, but you didn't help
nor explain what you meant.</quote> Justin explained, <quote who="Justin
T. Gibbs">From talking to the maintainer of the QLogic driver, it appears
that there is a generic issue with data mapping on the Alpha. The only way
to correct this issue will be for someone to debug it.</quote> Alan Cox
confirmed that this was true on some Alpha boxes, but added that on those
boxes, aic7xxx wasn't the only thing to die. IDE DMA wouldn't work either,
he said. He suggested, <quote who="Alan Cox">The real test would be to
run Justin's 2.2.19 patch driver and see if that works on Alpha.</quote>
Elsewhere he added, <quote who="Alan Cox">If the original aic7xxx driver
works on your Alpha and Justin's does not both under 2.2 then I consider it
very unlikely the bug is anywhere but Justin's driver.</quote> Wakko tried
Alan's suggestion and found everything OK. The thread ended there.</p>

</section>

<section
  title="Major System Slowdown Reproducible Under 2.4.3"
  subject="kswapd, kupdated, and bdflush at 99% under intense IO"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0104.1/0391.html"
  posts="5"
  startdate="10 Apr 2001 12:01:10 -0800"
  enddate="11 Apr 2001 04:46:53 -0800"
>
<topic>Big Memory Support</topic>
<topic>Disks: SCSI</topic>
<topic>FS: ext2</topic>

<p>Jeff Lessem reported that his 8 processor Dell P-III 700Mhz with 8GB of
memory, with a 12 drawer JBOD with 5 disks in a raid 5 arrangement attached
to an AMI Megaraid 438/466/467/471/493 controller with a total of 145GB of
space, had been having some problems under 2.4.3, with the recent bigpatch
fix for knfsd and quotas. He reported, <quote who="Jeff Lessem">multiple
instance of bonnie++ completely kill the machine.  Once two or three bonnies
are running kswapd, kupdated, and bdflush each jump to using 99% of a cpu
and the machine becomes incredibly unresponsive.  Even using a root shell
at nice -20 it can take several minutes for "killall bonnie++" to appear
after being typed and then run.  After the bonnies are killed and kswapd,
kupdated, and bdflush are given a minute or two to finish whatever they are
doing, the machine becomes responsive again.</quote> Phil Oester confirmed
seeing similar behavior running 2.4.3-ac2 on a Qmail server, made with a
dual-processor PIII 650 with 1GB of RAM, and a SCSI sym53c895 with dual
Quantum 9gb drives. He reported, <quote who="Phil Oester">Any time I start
injecting lots of mail into the qmail queue, *one* of the two processors
gets pegged at 99%, and it takes forever for anything typed at the console
to actually appear (just as you describe).  But I don't see any particular
user process in top using a great deal of cpu - just the system itself.
In my case, however, I usually have to powercycle the box to get it back -
it totally dies.</quote> Alan Cox confirmed seeing this case as well, and
added, <quote who="Alan Cox">Its partially still a mystery.</quote> He went
on, <quote who="Alan Cox">Under heavy I/O loads the cerberus test suite has
been showing real disk corruption on all current trees until Ingo's patch
today to fix the ext2 and minix problems combined with the earlier fixes
for other races.  In your case I suspect its the qmail thousands of files
being created/deleted not the corruption but its hard to be sure</quote>
Rik van Riel also confirmed, <quote who="Rik van Riel">I've seen it too.
It could be some interaction between kswapd and bdflush ... but I'm not sure
what the exact cause would be.</quote> Jan Harkes gave his take:</p>

<quote who="Jan Harkes">

<p>Syncing dirty inodes requires in some cases page allocations. The existing
code in try_to_free_pages calls shrink_icache_memory during free_shortage. So
we are probably stealing the few pages that we managed to free up a bit
earlier, exactly around the time that we're already critically low on
memory.</p>

<p>The patch I sent you a while ago actually avoids this by triggering an
extra run of kupdated but doesn't sync the dirty inodes in the more critical
try_to_free_pages path.</p>

<p>I've been running it on machines with 24MB, 64MB and 512MB, haven't had
any problems. It is noticeable that the nightly updatedb run flushes the
dentry/inode cache. In the morning my email reader has to pull the email
related inodes back into memory (maildir format). It doesn't have to do this
the rest of the day. As far as I am concerned, this actually shows that the
system is now adapting to the kind of usage that occurs.</p>

</quote>

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

</section>

</kc>

