<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="159" date="25 Mar 2002 00:00:00 -0800" />

<stats posts="1976" size="8611" contrib="500" multiples="241" lastweek="180">

<person posts="138" size="409" who="Alan Cox " />
<person posts="54" size="270" who="Linus Torvalds " />
<person posts="53" size="195" who="Jeff Garzik " />
<person posts="47" size="202" who="Andrew Morton " />
<person posts="37" size="217" who="Martin Dalecki " />
<person posts="35" size="117" who="Rik van Riel " />
<person posts="34" size="310" who="Vojtech Pavlik " />
<person posts="34" size="242" who="Rusty Russell " />
<person posts="32" size="113" who="Mike Fedyk " />
<person posts="31" size="96" who="Dave Jones " />
<person posts="26" size="89" who="" />
<person posts="26" size="71" who="&quot;David S. Miller&quot; " />
<person posts="25" size="87" who="Daniel Phillips " />
<person posts="24" size="97" who="Larry McVoy " />
<person posts="23" size="127" who="Andrea Arcangeli " />
<person posts="22" size="116" who="Hubertus Franke " />
<person posts="22" size="68" who="Bill Davidsen " />
<person posts="19" size="69" who="&quot;H. Peter Anvin&quot; " />
<person posts="19" size="60" who="Pavel Machek " />
<person posts="18" size="55" who="Alexander Viro " />
<person posts="17" size="51" who="Richard Gooch " />
<person posts="16" size="55" who="Hans Reiser " />
<person posts="16" size="51" who="Robert Love " />
<person posts="16" size="48" who="Davide Libenzi " />
<person posts="15" size="53" who="&quot;Richard B. Johnson&quot; " />
<person posts="15" size="52" who="Jens Axboe " />
<person posts="15" size="47" who="Keith Owens " />
<person posts="14" size="59" who="&quot;Martin J. Bligh&quot; " />
<person posts="13" size="50" who="Cort Dougan " />
<person posts="13" size="48" who="Zwane Mwaikambo " />
<person posts="13" size="44" who="Andreas Dilger " />
<person posts="13" size="41" who="Greg KH " />
<person posts="13" size="38" who="Andi Kleen " />
<person posts="12" size="50" who="Andre Hedrick " />
<person posts="12" size="49" who=" (Linus Torvalds)" />
<person posts="12" size="48" who="Andre Hedrick " />
<person posts="12" size="34" who="David Woodhouse " />
<person posts="11" size="126" who="Brian Gerst " />
<person posts="11" size="44" who="Denis Vlasenko " />
<person posts="11" size="36" who="Russell King " />
<person posts="10" size="64" who="&quot;Randy.Dunlap&quot; " />
<person posts="9" size="64" who="Beezly " />
<person posts="9" size="56" who="" />
<person posts="9" size="41" who="Pete Zaitcev " />
<person posts="9" size="37" who="Dmitry Kasatkin " />
<person posts="8" size="41" who="Martin Wilck " />
<person posts="8" size="31" who="Thunder from the hill " />
<person posts="8" size="28" who="Anton Blanchard " />
<person posts="7" size="78" who="Jean Tourrilhes " />
<person posts="7" size="57" who="Jari Ruusu " />
<person posts="7" size="33" who="Mike Galbraith " />
<person posts="7" size="31" who="george anzinger " />
<person posts="7" size="30" who="Larry Kessler " />
<person posts="7" size="30" who="Zenaan Harkness " />
<person posts="7" size="28" who="Tom Rini " />
<person posts="7" size="27" who="&quot;Jeff V. Merkey&quot; " />
<person posts="7" size="26" who="&quot;J. Dow&quot; " />
<person posts="7" size="25" who="Manon Goo " />
<person posts="7" size="23" who="Paul Mackerras " />
<person posts="7" size="22" who="Erik Andersen " />
<person posts="7" size="20" who="Shawn Starr " />
<person posts="6" size="126" who="Sebastian Droege " />
<person posts="6" size="36" who="Oleg Drokin " />
<person posts="6" size="22" who="Mark Mielke " />
<person posts="6" size="22" who="Andreas Ferber " />
<person posts="6" size="21" who="Itai Nahshon " />
<person posts="6" size="20" who="Ulrich Drepper " />
<person posts="6" size="20" who=" (Joe Korty)" />
<person posts="6" size="19" who="Ed Vance " />
<person posts="5" size="97" who="Ken Brownfield " />
<person posts="5" size="50" who="Stelian Pop " />
<person posts="5" size="29" who="&quot;Daniela Engert&quot; " />
<person posts="5" size="23" who="Gordon J Lee " />
<person posts="5" size="20" who="John Heil " />
<person posts="5" size="19" who="David Mosberger " />
<person posts="5" size="18" who="Steven Cole " />
<person posts="5" size="18" who="Jason Li " />
<person posts="5" size="18" who="Peter Zaitsev " />
<person posts="5" size="17" who="Anton Altaparmakov " />
<person posts="5" size="17" who="Chris Friesen " />
<person posts="5" size="17" who="Balbir Singh " />
<person posts="5" size="17" who="Luigi Genoni " />
<person posts="5" size="17" who="Chris Meadors " />
<person posts="5" size="16" who="Miles Lane " />
<person posts="5" size="16" who=" (Eric W. Biederman)" />
<person posts="5" size="15" who="Roberto Nibali " />
<person posts="5" size="15" who="Ingo Molnar " />
<person posts="5" size="15" who="Hugh Dickins " />
<person posts="5" size="13" who="Florian Weimer " />
<person posts="5" size="12" who="Mikael Pettersson " />
<person posts="5" size="12" who="Chris Wedgwood " />
<person posts="4" size="81" who="Alex Walker " />
<person posts="4" size="40" who="John Helms " />
<person posts="4" size="37" who="Daniel Jacobowitz " />
<person posts="4" size="27" who="Marion Steiner " />
<person posts="4" size="26" who="Russ Weight " />
<person posts="4" size="23" who="=?iso-8859-15?q?J=F6rg=20Prante?= " />
<person posts="4" size="17" who="Kasper Dupont " />
<person posts="4" size="17" who="Kurt Garloff " />
<person posts="4" size="17" who="&quot;Peter Hartley&quot; " />
<person posts="4" size="17" who="Stephen Samuel " />
<person posts="4" size="15" who="Theodore Tso " />
<person posts="4" size="14" who="OGAWA Hirofumi " />
<person posts="4" size="14" who="Joachim Breuer " />
<person posts="4" size="14" who="Andrew Pimlott " />
<person posts="4" size="13" who="Adam Keys " />
<person posts="4" size="13" who="Ian Duggan " />
<person posts="4" size="13" who="&quot;Robert Pfister&quot; " />
<person posts="4" size="13" who="James Bottomley " />
<person posts="4" size="13" who="&quot;Udo A. Steinberg&quot; " />
<person posts="4" size="13" who="&quot;Holzrichter, Bruce&quot; " />
<person posts="4" size="12" who="Ben Greear " />
<person posts="4" size="12" who="Anton Altaparmakov " />
<person posts="4" size="11" who="Horst von Brand " />
<person posts="4" size="11" who="=?iso-8859-1?q?willy=20tarreau?= " />
<person posts="4" size="11" who="Trond Myklebust " />
<person posts="4" size="11" who="Tigran Aivazian " />
<person posts="4" size="11" who="&quot;Abdij Bhat&quot; " />
<person posts="4" size="10" who="Richard Henderson " />
<person posts="4" size="10" who="John Covici " />
<person posts="4" size="9" who="Christoph Hellwig " />
<person posts="3" size="87" who="Martin Knoblauch " />
<person posts="3" size="68" who="&quot;Scott L. Burson&quot; " />
<person posts="3" size="27" who="Christian Robert " />
<person posts="3" size="20" who="SeongTae Yoo " />
<person posts="3" size="17" who="Hanna Linder " />
<person posts="3" size="16" who="Herbert Valerio Riedel " />
<person posts="3" size="16" who="Jean-Eric Cuendet " />
<person posts="3" size="15" who="A Guy Called Tyketto " />
<person posts="3" size="15" who="Gerd Knorr " />
<person posts="3" size="13" who="&quot;Mark H. Wood&quot; " />
<person posts="3" size="12" who="Troy Benjegerdes " />
<person posts="3" size="12" who="Erich Focht " />
<person posts="3" size="12" who="Dan Kegel " />
<person posts="3" size="11" who="Alex Riesen " />
<person posts="3" size="11" who="Urban Widmark " />
<person posts="3" size="10" who="michael bernstein " />
<person posts="3" size="10" who="&quot;Jeff V. Merkey&quot; " />
<person posts="3" size="10" who="Oliver Xymoron " />
<person posts="3" size="10" who="Colin Walters " />
<person posts="3" size="10" who="M Sweger " />
<person posts="3" size="10" who="Martin Wirth " />
<person posts="3" size="10" who="J Sloan " />
<person posts="3" size="10" who="dean gaudet " />
<person posts="3" size="9" who="Joel Becker " />
<person posts="3" size="9" who="David Gibson " />
<person posts="3" size="9" who=" (Rogier Wolff)" />
<person posts="3" size="9" who="&quot;Martin Schwidefsky&quot; " />
<person posts="3" size="9" who="John Jasen " />
<person posts="3" size="9" who="Bernd Eckenfels " />
<person posts="3" size="9" who="Petro " />
<person posts="3" size="9" who="Tim Hockin " />
<person posts="3" size="9" who="David Rees " />
<person posts="3" size="9" who=" (Barry K. Nathan)" />
<person posts="3" size="9" who="Juan Quintela " />
<person posts="3" size="8" who=" (Kai Henningsen)" />
<person posts="3" size="8" who="&quot;Grover, Andrew&quot; " />
<person posts="3" size="8" who="Guennadi Liakhovetski " />
<person posts="3" size="8" who="Gunther Mayer " />
<person posts="3" size="8" who="Eric Lammerts " />
<person posts="3" size="8" who="=?iso-8859-2?Q?Witek_Kr=EAcicki?= " />
<person posts="3" size="8" who="Dan Kegel " />
<person posts="3" size="7" who="Marcelo Tosatti " />
<person posts="3" size="7" who="Richard Ems " />
<person posts="3" size="7" who="Adrian Bunk " />
<person posts="3" size="7" who="" />
<person posts="3" size="7" who="" />
<person posts="3" size="7" who="Corporal Pisang " />
<person posts="3" size="6" who="Mike Dresser " />
<person posts="3" size="6" who="&quot;Justin T. Gibbs&quot; " />
<person posts="2" size="40" who="&quot;Aryojan -&quot; " />
<person posts="2" size="29" who="Erich Focht " />
<person posts="2" size="23" who="" />
<person posts="2" size="19" who="David Howells " />
<person posts="2" size="18" who="Patricia Gaughen " />
<person posts="2" size="16" who="Josh Fryman " />
<person posts="2" size="15" who="Paul Gortmaker " />
<person posts="2" size="13" who="&quot;Guillaume Boissiere&quot; " />
<person posts="2" size="10" who="Dan Hopper " />
<person posts="2" size="10" who="Jesse Barnes " />
<person posts="2" size="9" who="Douglas Gilbert " />
<person posts="2" size="9" who="Sean Hunter " />
<person posts="2" size="8" who="Charles-Edouard Ruault " />
<person posts="2" size="8" who="Christian =?iso-8859-1?q?Borntr=E4ger?= " />
<person posts="2" size="8" who="Dieter =?iso-8859-15?q?N=FCtzel?= " />
<person posts="2" size="8" who="Peter =?ISO-8859-1?Q?W=E4chtler?= " />
<person posts="2" size="8" who="Nathan Scott " />
<person posts="2" size="8" who="Paul Allen " />
<person posts="2" size="7" who="Gerrit Huizenga " />
<person posts="2" size="7" who="Nicolas Turro " />
<person posts="2" size="7" who="Tim Kay " />
<person posts="2" size="7" who="Pavel Machek " />
<person posts="2" size="7" who="Martin Rode " />
<person posts="2" size="7" who="&quot;J.S.S.&quot; " />
<person posts="2" size="7" who="Aaron Sethman " />
<person posts="2" size="7" who="Tachino Nobuhiro " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="&quot;Jeremy Jackson&quot; " />
<person posts="2" size="7" who="Andreas Jaeger " />
<person posts="2" size="6" who="Mark Hounschell " />
<person posts="2" size="6" who="Martin Wirth " />
<person posts="2" size="6" who="Felix Seeger " />
<person posts="2" size="6" who="Bernd Schubert " />
<person posts="2" size="6" who="Jaroslav Kysela " />
<person posts="2" size="6" who="Andrey Slepuhin " />
<person posts="2" size="6" who="Badari Pulavarty " />
<person posts="2" size="6" who="Matthias Scheidegger " />
<person posts="2" size="6" who="James Bottomley " />
<person posts="2" size="6" who="Colin Walters " />
<person posts="2" size="6" who="David Schwartz " />
<person posts="2" size="6" who="Samuel Maftoul " />
<person posts="2" size="6" who="&quot;Rob Turk&quot; " />
<person posts="2" size="6" who="Dave McCracken " />
<person posts="2" size="6" who="&quot;Martin Eriksson&quot; " />
<person posts="2" size="6" who="Arnaldo Carvalho de Melo " />
<person posts="2" size="5" who="Tony Hoyle " />
<person posts="2" size="5" who="Andrzej Krzysztofowicz " />
<person posts="2" size="5" who="&quot;Cameron, Steve&quot; " />
<person posts="2" size="5" who="Simon Richter " />
<person posts="2" size="5" who="John Levon " />
<person posts="2" size="5" who="&quot;Karl&quot; " />
<person posts="2" size="5" who="Jonathan Barker " />
<person posts="2" size="5" who="Colin Leroy " />
<person posts="2" size="5" who="&quot;Dan Maas&quot; " />
<person posts="2" size="5" who="&quot;J.A. Magallon&quot; " />
<person posts="2" size="5" who="Helge Hafting " />
<person posts="2" size="5" who="chiranjeevi vaka " />
<person posts="2" size="5" who="Matthias Andree " />
<person posts="2" size="5" who="Neil Schemenauer " />
<person posts="2" size="5" who="S W " />
<person posts="2" size="5" who="Jamie Lokier " />
<person posts="2" size="5" who="Daniel Egger " />
<person posts="2" size="5" who="=?iso-8859-1?q?Steve=20Kieu?= " />
<person posts="2" size="5" who="Paul P Komkoff Jr " />
<person posts="2" size="5" who="Paul Davis " />
<person posts="2" size="4" who="Eyal Lebedinsky " />
<person posts="2" size="4" who="&quot;jason.xia&quot; " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Ian Carr-de Avelon " />
<person posts="2" size="4" who="Vinolin " />
<person posts="2" size="4" who="&quot;Jim Hollenback&quot; " />
<person posts="1" size="46" who="hirao " />
<person posts="1" size="31" who="" />
<person posts="1" size="28" who="Ravikiran G Thirumalai " />
<person posts="1" size="25" who="" />
<person posts="1" size="22" who="Grega Fajdiga " />
<person posts="1" size="19" who="Romain =?iso-8859-1?Q?Li=E9vin?= " />
<person posts="1" size="18" who="&quot;Carsten Otte&quot; " />
<person posts="1" size="17" who="" />
<person posts="1" size="17" who="joy ping " />
<person posts="1" size="15" who="Dual Mobius " />
<person posts="1" size="14" who="Suparna Bhattacharya " />
<person posts="1" size="14" who="" />
<person posts="1" size="12" who="christophe =?iso-8859-15?Q?barb=E9?= " />
<person posts="1" size="11" who="Luca Montecchiani " />
<person posts="1" size="10" who="=?iso-8859-1?q?napman?= " />
<person posts="1" size="10" who="=?ISO-8859-1?Q? &quot;=B0=AD=B5=BF=BF=AC&quot; ?= " />
<person posts="1" size="9" who="Justin Cormack " />
<person posts="1" size="8" who="SUZUKI Yasuhiro " />
<person posts="1" size="8" who="Steffen Persvold " />
<person posts="1" size="8" who="Ralf =?iso-8859-15?q?M=FCller?= " />
<person posts="1" size="8" who="Peter =?iso-8859-1?Q?W=E4chtler?= " />
<person posts="1" size="7" who="Alexander Trotsai " />
<person posts="1" size="7" who="" />
<person posts="1" size="7" who="Vitez Gabor " />
<person posts="1" size="7" who="Glenn McGrath " />
<person posts="1" size="6" who="&quot;Martin Schwenke&quot; " />
<person posts="1" size="6" who="Arnvid Karstad " />
<person posts="1" size="6" who="Henrique Gobbi " />
<person posts="1" size="6" who="Miroslav Zubcic " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Stefan Rompf " />
<person posts="1" size="5" who="Steven Walter " />
<person posts="1" size="5" who="&quot;Michael Bernstein&quot; " />
<person posts="1" size="5" who="Sheetal Reddy Kunta " />
<person posts="1" size="5" who="James Cleverdon " />
<person posts="1" size="5" who="&quot;Brendan W. McAdams&quot; " />
<person posts="1" size="5" who="=?koi8-r?b?98nUwczJyg==?= " />
<person posts="1" size="5" who="Andrey Panin " />
<person posts="1" size="5" who="&quot;Matthew D. Pitts&quot; " />
<person posts="1" size="5" who="The Open Source Club at The Ohio State University " />
<person posts="1" size="5" who="George France " />
<person posts="1" size="5" who="David Weinehall " />
<person posts="1" size="4" who="Malcolm Beattie " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="&quot;Mike Black&quot; " />
<person posts="1" size="4" who="&quot;Brendan W. McAdams&quot; " />
<person posts="1" size="4" who="Tom Lord " />
<person posts="1" size="4" who="Brian Beattie " />
<person posts="1" size="4" who="Mike Kravetz " />
<person posts="1" size="4" who="Pierre Lombard " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who=" (=?iso-8859-1?q?H=E5kon?= Alstadheim)" />
<person posts="1" size="4" who="Dave Kleikamp " />
<person posts="1" size="4" who="Andre Pang " />
<person posts="1" size="4" who="Zou Pengcheng " />
<person posts="1" size="4" who="=?iso-8859-1?q?Jim=20MacBaine?= " />
<person posts="1" size="4" who="&quot;Georg Nikodym&quot; " />
<person posts="1" size="4" who="Mike Anderson " />
<person posts="1" size="4" who="Padraig Brady " />
<person posts="1" size="4" who="Tony Lindgren " />
<person posts="1" size="4" who="Karim Yaghmour " />
<person posts="1" size="4" who="&quot;Barton, Christopher&quot; " />
<person posts="1" size="4" who="hugang " />
<person posts="1" size="4" who="&quot;Jack F. Vogel&quot; " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Matthew Dharm " />
<person posts="1" size="4" who="David Forrest " />
<person posts="1" size="4" who="Brian Strand " />
<person posts="1" size="4" who="vic " />
<person posts="1" size="4" who="Justin Carlson " />
<person posts="1" size="4" who="Steven Cole " />
<person posts="1" size="3" who="&quot;Dan Davis&quot; " />
<person posts="1" size="3" who="Adam Johansson " />
<person posts="1" size="3" who="Dave Hansen " />
<person posts="1" size="3" who="Anders Peter Fugmann " />
<person posts="1" size="3" who="Jesse Pollard " />
<person posts="1" size="3" who="Hank Leininger " />
<person posts="1" size="3" who="Juan " />
<person posts="1" size="3" who="Jakob Kemi " />
<person posts="1" size="3" who="&quot;Christian HOFFMANN&quot; " />
<person posts="1" size="3" who="bert hubert " />
<person posts="1" size="3" who="Vincent Bernat " />
<person posts="1" size="3" who="Crispin Wellington " />
<person posts="1" size="3" who="Andrew Burgess " />
<person posts="1" size="3" who="Len Sorensen " />
<person posts="1" size="3" who="David Lang " />
<person posts="1" size="3" who="Itai Nahshon " />
<person posts="1" size="3" who="Alexander Hoogerhuis " />
<person posts="1" size="3" who="&quot;Nayyer Tiger&quot; " />
<person posts="1" size="3" who="&quot;Pedro M. Rodrigues&quot; " />
<person posts="1" size="3" who="Michal Moskal " />
<person posts="1" size="3" who="J Sloan " />
<person posts="1" size="3" who="Lionel Bouton " />
<person posts="1" size="3" who="James Antill " />
<person posts="1" size="3" who="Dan Maas " />
<person posts="1" size="3" who="Dan Kegel " />
<person posts="1" size="3" who="&quot;Al Figlioli&quot; " />
<person posts="1" size="3" who="&quot;David B. Stevens&quot; " />
<person posts="1" size="3" who="john slee " />
<person posts="1" size="3" who="Rob Landley " />
<person posts="1" size="3" who="Bradley McLean " />
<person posts="1" size="3" who="Sinisa Milivojevic " />
<person posts="1" size="3" who="&quot;Vamsi Krishna S .&quot; " />
<person posts="1" size="3" who="&quot;White, Charles&quot; " />
<person posts="1" size="3" who="David Lang " />
<person posts="1" size="3" who="&quot;Hari Gadi&quot; " />
<person posts="1" size="3" who="Skip Ford " />
<person posts="1" size="3" who="Christer Weinigel " />
<person posts="1" size="3" who="Rene Herman " />
<person posts="1" size="3" who="Tim Coleman " />
<person posts="1" size="3" who="KELEMEN Peter " />
<person posts="1" size="3" who="Tommy Reynolds " />
<person posts="1" size="3" who="Remco Post " />
<person posts="1" size="3" who="&quot;Kevin P. Fleming&quot; " />
<person posts="1" size="3" who="Dipankar Sarma " />
<person posts="1" size="3" who="&quot;Robert Schmaling&quot; " />
<person posts="1" size="3" who="Tigran Aivazian " />
<person posts="1" size="3" who="Kent Borg " />
<person posts="1" size="3" who="Kenneth Johansson " />
<person posts="1" size="3" who="Shane Nay " />
<person posts="1" size="3" who="William Lee Irwin III " />
<person posts="1" size="3" who="Ville Herva " />
<person posts="1" size="3" who="Lindsay Harris " />
<person posts="1" size="3" who="Geert Uytterhoeven " />
<person posts="1" size="3" who="Alfredo =?ISO-8859-1?Q?Sanju=E1n?= " />
<person posts="1" size="3" who="Nerijus Baliunas " />
<person posts="1" size="3" who="Harald Arnesen " />
<person posts="1" size="3" who="PlasmaJohn " />
<person posts="1" size="3" who="=?ISO-8859-1?Q?Romain_Li=E9vin?= " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="&quot;Petr Vandrovec&quot; " />
<person posts="1" size="3" who="Olivier Galibert " />
<person posts="1" size="3" who="Gerald Roth " />
<person posts="1" size="3" who="Art Wagner " />
<person posts="1" size="3" who="&quot;Vamsi Krishna S.&quot; " />
<person posts="1" size="3" who="Olaf Dietsche " />
<person posts="1" size="3" who="Jakub Jelinek " />
<person posts="1" size="3" who="Alessandro Suardi " />
<person posts="1" size="2" who="Gerald Champagne " />
<person posts="1" size="2" who="Ben Collins " />
<person posts="1" size="2" who=" (Jonathan H N Chin)" />
<person posts="1" size="2" who="Neil Spring " />
<person posts="1" size="2" who="&quot;David Christensen&quot; " />
<person posts="1" size="2" who="Andreas Schwab " />
<person posts="1" size="2" who="Paul Larson " />
<person posts="1" size="2" who="&quot;That Linux Guy&quot; " />
<person posts="1" size="2" who="&quot;Amir Kazerouninia&quot; " />
<person posts="1" size="2" who="Kevin Brown " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Felix Braun " />
<person posts="1" size="2" who="Kristopher Kersey " />
<person posts="1" size="2" who="Pete Cervasio " />
<person posts="1" size="2" who="Charles Cazabon " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Francois Romieu " />
<person posts="1" size="2" who="&quot;Mark Frazer&quot; " />
<person posts="1" size="2" who="&quot;Matthew G. Marsh&quot; " />
<person posts="1" size="2" who="Peter Osterlund " />
<person posts="1" size="2" who="&quot;Marek Malowidzki&quot; " />
<person posts="1" size="2" who="Benjamin LaHaise " />
<person posts="1" size="2" who="Dana Lacoste " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Ismo Salonen " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Daniel Kobras " />
<person posts="1" size="2" who="Clemens Schwaighofer " />
<person posts="1" size="2" who="Peter Svensson " />
<person posts="1" size="2" who="Carl Spalletta " />
<person posts="1" size="2" who="Platinum Control Computer " />
<person posts="1" size="2" who="Hansen Martin " />
<person posts="1" size="2" who="Nico Schottelius " />
<person posts="1" size="2" who="Stephen Torri " />
<person posts="1" size="2" who="Arjan van de Ven " />
<person posts="1" size="2" who="Kilobug " />
<person posts="1" size="2" who="Ulrich Wiederhold " />
<person posts="1" size="2" who="Bjorn Wesen " />
<person posts="1" size="2" who="Petko Manolov " />
<person posts="1" size="2" who="&quot;BOEBLINGEN LINUX390&quot; " />
<person posts="1" size="2" who="Wartan Hachaturow " />
<person posts="1" size="2" who="David Christensen " />
<person posts="1" size="2" who="&quot;Ishan Jayawardena&quot; " />
<person posts="1" size="2" who="Jan Hudec " />
<person posts="1" size="2" who="Gregoire Favre " />
<person posts="1" size="2" who="Riley Williams " />
<person posts="1" size="2" who="Jerry McBride " />
<person posts="1" size="2" who="Paul Menage " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="1" size="2" who="Ashwin D " />
<person posts="1" size="2" who="Matthew Kirkwood " />
<person posts="1" size="2" who="Evan Powers " />
<person posts="1" size="2" who="&quot;Robert Hayden&quot; " />
<person posts="1" size="2" who="&quot;M. Edward Borasky&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who=" (Wichert Akkerman)" />
<person posts="1" size="2" who="Jing Xu " />
<person posts="1" size="2" who="Mark " />
<person posts="1" size="2" who="David Ford " />
<person posts="1" size="2" who="Justin Guyett " />
<person posts="1" size="2" who="Alan Cox " />
<person posts="1" size="2" who="Bradley McLean " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Dominik Kubla " />
<person posts="1" size="2" who="&quot;Anthony J. Ciani&quot; " />
<person posts="1" size="2" who="Roman Zippel " />
<person posts="1" size="2" who="&quot;Harbold, John&quot; " />
<person posts="1" size="2" who="Michael " />
<person posts="1" size="2" who="Bongani " />
<person posts="1" size="2" who="Thomas Winischhofer " />
<person posts="1" size="2" who="&quot;Dan Portillo&quot; " />
<person posts="1" size="2" who="John Weber " />
<person posts="1" size="2" who="skidley " />
<person posts="1" size="2" who="David Golden " />
<person posts="1" size="2" who="Jason L Tibbitts III " />
<person posts="1" size="2" who="Momchil Velikov " />
<person posts="1" size="2" who="Chris Mason " />
<person posts="1" size="2" who="Derek Fawcus " />
<person posts="1" size="2" who="Stephen Cameron " />
<person posts="1" size="2" who="&quot;Manfred Spraul&quot; " />
<person posts="1" size="2" who="Bernd Eckenfels " />
<person posts="1" size="2" who="&quot;Guoqiang Shu&quot; " />
<person posts="1" size="2" who="Malcolm Mallardi " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Andrey Ulanov " />
<person posts="1" size="2" who="Jeff Jenkins " />
<person posts="1" size="2" who="Jos Hulzink " />
<person posts="1" size="2" who="Brian S Queen " />
<person posts="1" size="2" who="Arjan van de Ven " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Miao Qingjun " />
<person posts="1" size="2" who="Joy Mukherjee " />
<person posts="1" size="2" who="Hauke Joachim Zuehl " />
<person posts="1" size="2" who="Wayne Whitney " />
<person posts="1" size="2" who="Jose Luis Marin Perez " />
<person posts="1" size="2" who="Xavier Bestel " />
<person posts="1" size="2" who="Nicolas Pitre " />
<person posts="1" size="2" who="Andy Tai " />
<person posts="1" size="2" who="Gniazdowski Mariusz " />
<person posts="1" size="2" who="jarmo kettunen " />
<person posts="1" size="2" who="Pau Aliagas " />
<person posts="1" size="2" who="&quot;rddunlap&quot; " />
<person posts="1" size="2" who="Justin Cormack " />
<person posts="1" size="2" who="Bergs " />
<person posts="1" size="2" who="Jaanus Toomsalu " />
<person posts="1" size="2" who="Roy Sigurd Karlsbakk " />
<person posts="1" size="2" who="shura " />
<person posts="1" size="2" who="Faizal Kasman " />
<person posts="1" size="2" who="&quot;Nicholas Berry&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Amit S. Kale&quot; " />
<person posts="1" size="2" who="Banai Zoltan " />
<person posts="1" size="2" who="&quot;Harish&quot; " />
<person posts="1" size="2" who="Ani Joshi " />
<person posts="1" size="1" who="Hanno =?ISO-8859-1?Q?B=F6ck?= " />
<person posts="1" size="1" who="John McCutchan " />
<person posts="1" size="1" who="snpe " />
<person posts="1" size="1" who="" />
<person posts="1" size="1" who="Rene Cunningham " />

</stats>

<section
  title="Status Of Linux 386 Support"
  subject="[PATCH] Futexes IV (Fast Lightweight Userspace Semaphores)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0203.0/0884.html"
  posts="84"
  startdate="04 Mar 2002 23:01:32 -0800"
  enddate="20 Mar 2002 22:48:43 -0800"
>
<topic>SMP</topic>

<p>In the course of something completely different, Linus Torvalds and others
were debating a way to deal with the idiosyncrasies of the 386 processor
(not all x86, but the 386 specifically). At one point H. Peter Anvin said:</p>

<quote who="H. Peter Anvin">

<p>Perhaps it's time to drop i386 support?</p>

<p>It seems to me that the i386 support has been around mostly on a "until
we have a reason to do otherwise" basis, but perhaps this is the reason?</p>

<p>There certainly are enough little, nagging reasons... CMPXCHG, BSWAP,
and especially WP...</p>

</quote>

<p>Alan Cox replied:</p>

<quote who="Alan Cox">

<p>They don't really arise in most normal situations. Bswap is trivial to
the extreme. Cmpxchg only comes up on SMP boxes.  Right now the one big hit
is cmpxchg8 if you use direct rendering. And quite frankly if you use the
direct rendering infrastructure on a 386 its going to be a teeny bit slow
anyway 8)</p>

<p>So if anything its just not worth the effort of breaking the 386 setup
either 8). 386 SMP is a different issue but I don't see any lunatics doing
a 386 based sequent port thankfully.</p>

</quote>

<p>And Linus replied:</p>

<quote who="Linus Torvalds">

<p>Since the only person that comes to mind that would be crazy enough to
even _try_ to use Linux on 386-SMP is you, Alan, I'm really relieved to hear
you say that ;)</p>

<p>And no, it's not worth discontinuing i386 support.  It just isn't painful
enough to maintain.</p>

<p>Note that the i386 has _long_ been a "stepchild", though: because of the
lack of WP, the kernel simply doesn't do threaded MM correctly on a 386.
Never has, and never will.</p>

<p>However, the known "incorrect" case is so obscure that it's not even an
issue - although I suspect that it means that you should not let untrusted
users run on a i386 server machine that contains any sensitive data.  I could
cerrtainly come up with exploits that would work at least in theory (whether
they are workable in practice I don't know).   </p>

<p>Using i386's for network servers is fine, of course.  Just don't use them
for cpu farms (not that I think anybody is - it takes quite a big farm of
i386 machines to equal even _one_ PII ;)</p>

</quote>

</section>

<section
  title="Some Developers Unhappy With BitKeeper License"
  subject="Petition Against Official Endorsement of BitKeeper by Linux Maintainers"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0203.0/1060.html"
  posts="109"
  startdate="05 Mar 2002 13:52:34 -0800"
  enddate="14 Mar 2002 22:45:41 -0800"
>
<topic>Version Control</topic>

<mention>Randy Dunlap</mention>
<mention>Eric W. Biederman</mention>
<mention>Pau Aliagas</mention>
<mention>Andi Kleen</mention>

<p>In <kcref subject="Re: Petition Against Official Endorsement of BitKeeper
by Linux Maintainers" startdate="06 Mar 2002 01:40:44 -0800"></kcref>, I
reported that some off-list BitKeeper discussion had finally made it to the
mailing list. Actually the thread was always on linux-kernel, but was still
ongoing, and so had been pushed into my next week's mail box. The thread I
saw had pealed away from the main branch and ended in time for me to catch
it.</p>

<p>Anyway, here is the rest of that discussion. The Open Source Club At
The Ohio State University (embodied by Michael Benedict, Colin Walters,
Matt Curtin, Martin Jansche, Balbir Thomas, Nicholas Hurley, Ryan McCormack,
and Shaun Rowland) said:</p>

<quote who="The Open Source Club at The Ohio State University">

<p>We, the undersigned members and officers of the Open Source Club at the
Ohio State University, are unhappy with the advocacy of the proprietary (<a
href="http://www.mit.edu/afs/athena/user/x/i/xiphmont/Public/critique.html">http://www.mit.edu/afs/athena/user/x/i/xiphmont/Public/critique.html</a>)
BitKeeper software for use in maintaining the Linux kernel. The Linux kernel
is an important symbol of Open Source and Free Software for many people, and
a project in which many thousands have participated in active development.
It is fine if some kernel developers choose to use BitKeeper on their own
machines, but officially endorsing proprietary software as the means of
working on the kernel is a large step backwards for Linux, and for the Open
Source and Free Software communities.</p>

<p>If the core Linux maintainers begin to advocate using BitKeeper, then there
will be strong pressure on these peripheral developers to use BitKeeper too,
since it would likely be easier than browsing the web-exported changelogs or
fetching the latest diff from <a href="http://kernel.org">kernel.org</a>.</p>

<p>Using a closed-source, proprietary source control system for the kernel
is even worse than using other forms of proprietary software such as source
code analysis systems, because the revision control metadata (version numbers,
branches, changelog comments, etc.), would be stored in a format defined by
the proprietary software.  This metadata is really a part of Linux, because
people will want to use it when talking about the kernel.  Those who can't
(Perhaps they aren't connected to the internet regularly enough, for instance.)
or don't want to use BitKeeper are left out in the cold.  One of the most
important parts of Open Source and Free Software is that we, the community,
are in control.  But by using and advocating BitKeeper, we would lose part
of that control.</p>

<p>In summary, please do not advocate BitKeeper for use by the
general community.  The Linux development process seems to have
worked up till now, and we can wait a little longer until Arch (<a
href="http://www.regexps.com/#arch">http://www.regexps.com/#arch</a>)
or Subversion (<a
href="http://subversion.tigris.org">http://subversion.tigris.org</a>)
are completed. Moreover, full-featured, completely functional
free versioning sytems are currently available, such as PRCS (<a
href="http://prcs.sourceforge.net">http://prcs.sourceforge.net</a>) and CVS
(<a href="http://www.cvshome.org">http://www.cvshome.org</a>).  We respect
the kernel maintainer's freedom to use proprietary software for their own
purposes.  And we ask the kernel maintainers to respect the community's
freedom from entrapment by proprietary software.</p>

</quote>

<p>Andrew Morton replied:</p>

<quote who="Andrew Morton">

<p>fwiw, I prefer to not use bitkeeper, for the reasons which you outline.</p>

<p>That's my choice.  Others have made a different one.   I ask that they
ensure that their choice not inhibit my ability to contribute to Linux.</p>

</quote>

<p>(At this point Andi Kleen began the subthread covered last week.)</p>

<p>Randy Dunlap also replied to Andrew, with complete agreement. Elsewhere,
Eric W. Biederman suggested that the people protesting BitKeeper do more to
create a free replacement instead of writing petitions. Rik van Riel also
agreed with that, saying, <quote who="Rik van Riel">the choice between a
not-quite-free tool and no useful tool at all is easy.</quote> Pau Aliagas
suggested trying Arch, but Rik didn't reply. Elsewhere, Alan Cox also replied
to the Ohio group, saying:</p>

<quote who="Alan Cox">

<p>Right from the start Linus has always said he isn't going to force anyone
to use bitkeeper. End of story. If you think its free enough -  use it,
if you don't (or you just think its crap software, dont use it)</p>

<p>In fact if it offends you enough to start a petition take the list of
names you get at the end and between you go write a better one under a
licence you prefer between the signatures.</p>

</quote>

<p>Colin replied that development was already underway on those
replacements. He added, <quote who="Colin Walters">The petition never mentioned
"force".  And even if Linus (and the other core maintainers) wanted to,
they couldn't *force* anyone to use BitKeeper.  The issue at hand is the
strong pressure the official advocacy places on the perhipheral developers.
We (the signers of the petition), and others are unhappy with this.
That's what the petition says.</quote> Zwane Mwaikambo replied, <quote
who="Zwane Mwaikambo">Already in development? Good stuff! Be sure to make
an announcement when its ready for production use, till then be a sport and
hop along.</quote></p>

<p>Elsewhere and in the course of discussion, Alexander Viro said:</p>

<quote who="Alexander Viro">

<p>some of us are interested in creation of _WORKING_ software.  Free is
preferable; GPL is usually tolerable; but all that isn't worth anything is
the design and code are crap.</p>

<p>Hypocrisy (or lunacy - take your pick) is coming from those who insist that
politically correct tools should be prefered even when they clearly suck.</p>

<p>If you feel that the worst problem is that non-free software exists - that's
your right.  And your problem.  IMNSHO the fact that majority of both free and
non-free software is choke-full of crap is slightly more troubling.  YMMV.</p>

</quote>

<p>He added, <quote who="Alexander Viro">BTW, bitkeeper doesn't solve the
problems I have.  Ditto for CVS.  So I use neither.  FWIW, BK is closer to
what I need.  If it will ever get the things I need right - I'll use it and
damned if I'll hide that.</quote> And Dave Jones replied:</p>

<quote who="Dave Jones">

<p>Preach on brother Viro.  Faced with the mammoth task of somehow syncing
a 6MB diff with Linus, I decided it was time to devote an afternoon (which
then turned into an evening) to seeing if bk can make this easier.</p>

<p>There's nothing in bk that makes my life any more difficult, and potential
for it to make it a *lot* easier. And Larry seems open to suggestions,
dispelling the "its closed commercial blah" myth.</p>

<p>Splitting bits up could become even easier soon if Larry and I figure
out a way to implement some of my perverse ideas for bending csets into
something more flexable than what they currently are.</p>

<p>Syncing from Linus to my tree isn't difficult, its the splitting bits
up to push his way that takes time. bk is halfway towards almost automating
this for me.  CVS and friends don't even get to the start line here.</p>

<p>Hours of diff/grepdiff/filterdiff/vim, vs a few clicky clicky bits in
bk citool.</p>

<p>If you don't like the license, fine. Don't use it, but at least give
everyone else the option of making up their own mind before you try to force
_your_ opinion on others.</p>

</quote>

<p>Elsewhere, in a completely different subthread, Andrew said:</p>

<quote who="Andrew Morton">

<p>I don't think anyone has been criticising bk featureset or reliability.
A few performance mumblings, maybe. It seems to be a fantastic piece of
software.</p>

<p>But that's not the point!   Nobody, repeat nobody is happy with the
licensing thing.  For some people, the day-to-day benefits outweigh the
philosophical concerns.  For others they do not.  That is what is being
discussed here.</p>

<p>I see two things being discussed here:</p>

<p>

<ol>

<li>I don't want bitkeeper use to *decrease* my ability to do Linux
work.  Linus will continue to push patches at the same rate, so
I have no problem.  I'm OK with others using bitkeeper.  EOT.</li>

<li>

<p>Kernel has a leading role in free software development. Other people do
not want kernel's use of bitkeeper to weaken that movement.</p>

<p>Me, I don't think the "movement" is weak enough for damage to come about.
And SCM is a space where the free tools are weak.  It's a once-off special-case
and it's hard to see how anything bad will come about from it.</p>

</li>

</ol>

</p>

</quote>

<p>Also elsewhere, Cort Dougan said, <quote who="Cort Dougan">I move
the PPC tree over to BitKeeper and it was worthwhile.  I made rsync
updates and plain old 'diff' patches against Linus' tree available
nightly.  It was easy and very quick to do that, I had it running
for nearly 2 years very well.  In fact, you can still grab the patches from <a
href="ftp://ftp.kernel.org/pub/linux/kernel/people/cort/">ftp://ftp.kernel.org/pub/linux/kernel/people/cort/</a>.
What is your problem with BK apart from the license religion?  Linus has
made it clear he'll provide patches in the same old style.  I don't see
what you think you lose here.  The gain for people who ship him patches
is well worth it.  Before I handed the PPC tree over to Paul I would have
killed to get Linus to use BK so shipping him patches would be easier for
everyone involved.  If I were still a maintainer my response would be a lot
less mild to those people that fight against BK on something so intangible as
"feelings" about the license.  I put in a lot of hours shipping patches that
were for nothing, BK is helping avoid that for the current crew.</quote></p>

<p>Elsewhere, Linus Torvalds said:</p>

<quote who="Linus Torvalds">

<p>Guys, calm down.</p>

<p>A few points:</p>

<p>

<ul>

<li>

<p>I certainly don't require BK use of anybody.  It makes my life simpler
with some people (mainly the ones that tend to be maintainers of subsystems
and send me lots of patches), but there are many developers who do NOT use
BK, and it doesn't slow them down at all.</p>

<p>For example, see the FS patches from Al Viro: the only thing that BK has
resulted in as far as Al is concerned is that the changelogs are a lot better
and include his email comments.</p>

<p>And I also export my tree as regular patches, the way I always have (well,
the actual format changed subtly, but that's purely syntactic)</p>

</li>

<li>

<p>If Larry turns to the dark side (or, as some would say, the "even darker
side" ;) we're _still_ ok. The data isn't going anywhere, he can't close
that down. We'd just have to export it into a new format.</p>

<p>If worst comes to worst, and nobody has fixed CVS/subversion/whatever by
then, I can even just go back to how I used to work. Nothing lost.</p>

</li>

<li>

<p>If people in the open-source SCM community wake up and notice that the
current open-source SCM systems aren't cutting it, that's _good_.  But it's
absolutely NOT an excuse to use them today.  Sorry.  I use CVS at work,
and I could never use it for Linux.  I took a look at subversion, and it
doesn't even come close to what I wanted.</p>

<p>And I personally refuse to use inferior tools because of ideology. In fact,
I will go as far as saying that making excuses for bad tools due to ideology is
_stupid_, and people who do that think with their gonads, not their brains.</p>

</li>

</ul>

</p>

<p>In short: nobody requires BK of anybody else.  A lot of people really
like using it, though, and it does make some things easier.  Some people
aren't convinced - David Miller is trying it out, and I haven't heard all
happy sounds from him about it. Others have taken to BK like fish to water,
and you'll pry it out of their dead cold hands.</p>

<p>The most productive thing people could do might be to just do a BK-&gt;CVS
gateway, if you really feel like it.  Or just go on and ignore the fact that
some people are using BK - you don't actually have to ever even know.</p>

</quote>

<p>Larry McVoy replied, <quote who="Larry McVoy">We've thought of making a
readonly CVS pserver interface to BK which would at least make it easy to
get the source in some form that the GPL folks like.  Somebody else should
be able to do that with a perl script.  You could attempt a read/write
interface as well, that's a lot harder, the impedance mismatch between BK
and CVS becomes much more apparent in the read/write case.</quote></p>

</section>

<section
  title="Some Work On Event Logging"
  subject="[PATCH-RFC] POSIX Event Logging, kernel 2.5.6 &amp; 2.4.18"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0203.1/0604.html"
  posts="15"
  startdate="12 Mar 2002 14:15:36 -0800"
  enddate="18 Mar 2002 13:48:12 -0800"
>
<topic>POSIX</topic>
<topic>Security</topic>

<mention>Bernd Eckenfels</mention>
<mention>Dominik Kubla</mention>

<p>Larry Kessler announced:</p>

<quote who="Larry Kessler">

<p>This patch, in combination with the event logging and
event notification user library, provides a comprehensive event
logging package based on the draft POSIX standard 1003.25.  See <a
href="http://evlog.sourceforge.net/">http://evlog.sourceforge.net/</a>
for details and downloads.</p>

<p>A summary of the kernel patch:</p>

<p>

<ol>

<li>A static kernel buffer is implemented for POSIX events logged
in the kernel.  Size is configurable during kernel build.</li>

<li>If the buffer overruns the oldest events are kept, newest
discarded, and a count of discarded events is reported.</li>

<li>Optionally, POSIX events can be created from printk messages
(printk messages still go to /var/log/messages, as before)</li>

<li>

<p>Functions are provided for:</p>

<p>

<ul>

<li>logging directly to kernel event buffer (text string or binary data
which gets formatted outside of the kernel)</li>

<li>registering facilities beyond the standard ones in syslog.h (device
drivers can have facility other than KERN)</li>

</ul>

</p>

</li>

<li>Events are displayed on the system console as single-line summary messages
(based on printk's default console logging level).</li>

</ol>

</p>

<p>Please be clear that this is NOT intended to replace printk and
syslog, but to coexist with them and provide additional
capabilities not available with printk/syslog that are highly
desirable in large servers and Telecom environments (to name a few).</p>

</quote>

<p>Dominik Kubla felt that the buffer overrun handling posed a security
problem, in that an attacker could simply fill up the buffer and then
perform exploits that wouldn't be logged. Larry replied, <quote who="Larry
Kessler">Good point, but if the buffer is sized appropriately for the incoming
volume of events and the logging daemon is reading the events out of the
kernel buffer (as should normally be the case), then you would see the
events.</quote> He added, <quote who="Larry Kessler">The reasoning behind
this approach is to increase the liklihood that events indicating "root
cause" would be logged and not over-written by a flood of secondary events.
Keep in mind that only events originating in the kernel (or kernel module)
are stored in this buffer.</quote></p>

<p>Elsewhere, Bernd Eckenfels thought Larry's patch would be quite useful, but
only if it were a replacement for netlink and printk, rather than something
intended to coexist with them. He felt that just adding another framework
would lead to kernel clutter. But Larry replied that it would be impossible
to get every maintainer to cooperate in switching the 41000 printk calls
already in the kernel, into his write functions. He said, <quote who="Larry
Kessler">Instead we want to provide enhanced logging features for new and
updated device drivers and other kernel code--more of a "slow migration over
time" approach.  We provided the feature that creates POSIX event records
from printks so that System Admins, field service, developers testing and
debugging their code (just to name a few) could still take advantage of the
new tools provided with the user lib (too numerous to mention, but see the
spec on the website) for handling printk messages.</quote></p>

<p>He added, <quote who="Larry Kessler">Of course, even with better tools
there may still be those who only want to see printks in /var/log/messages.
It has even been suggested that events in the event log which did not
originate with printk should also be written to /var/log/messages, for this
very reason.</quote> He and Bernd went back and forth on this for awhile,
and at one point Brian Beattie interjected:</p>

<quote who="Brian Beattie">

<p>I wonder if a slightly different approach might not be better.  Instead of
adding extra kernel functionality, would it not be possible to define a text
format to messages and some SIMPLE macros, to allow printk's to generate
the desired information.</p>

<p>I understand about POSIX standards, but POSIX standards are not the
infallible word of of the diety of computing and sometimes are completely
bogos.  While they do provide a thoughtful plan, they are not IMHO some
holy grail.  for silly standards, see the recent stuff about names for K =
10^6 vs. K= 2^10.</p>

<p>So if one drops strict POSIX compliamce and goes for providing the
information, it maye be possible to provide some formating guidelines and
support to printk and some log analysis tools to provide 99% solution.</p>

<p>One thing to remember, is that the really hard and important part of
logging is not the part that can be legislated, or automated, it is making
sure that the correct events are reported in a accurate manner, and this is
not a one time job.  This being the case, I would rather see effort expended
in rationalizing the current printk's and improving their use, than adding
some new infrastructure that may well be a perfromance drain and might even
be more prone to loss of log messages, than the current method.</p>

</quote>

<p>Larry agreed that it was important to be skeptical of standards, but said,
<quote who="Larry Kessler">in this case the POSIX standard is not a standard,
but currently only a draft, and we (the Linux event logging team) have been
(and are continuing to be) directly involved it its writing, editing, and
(eventual, we hope) adoption as a standard.</quote> He went on to say that
Brian's idea, while perhaps or perhaps not the way to go, was interesting. He
said, <quote who="Larry Kessler">we have, in fact, been discussing how to
somehow get more information out of printk without asking kernel maintainers
to use a different API.  Specifically, we thought about renaming the printk()
function and creating a printk macro.  In the printk macro you would collect
source file name, line number and function name (and maybe some other useful
info), and then call the renamed printk function with the original message
plus the additional stuff (actually we were thinking call posix_log_write()
with the orig.  message+addl. info and call the renamed printk with just
the original message).</quote> At this point, the discussion petered out.</p>

</section>

<section
  title="2.4 Migrates To BitKeeper; BitKeeper Feature Discussion"
  subject="Linux 2.4 and BitKeeper"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0203.1/0642.html"
  posts="30"
  startdate="13 Mar 2002 20:42:58 -0800"
  enddate="16 Mar 2002 21:42:17 -0800"
>
<topic>Kernel Build System</topic>
<topic>Version Control</topic>

<p>Marcelo Tosatti announced, <quote who="Marcelo Tosatti">I've started
using BitKeeper to control Linux 2.4 source code.  My latest tree can be
found at linux24.bkbits.net.</quote> Stephen Torri replied sarcastically,
<quote who="Stephen Torri">If it was not enough that "bleeding-edge"
required a pint of blood but now we get BitKeeper access to the latest
and greatest. Cool! Maybe I should be on the regular shipment list from
the local blood bank.  Keep up the good work. I certainly appreciate
it.</quote> There was no reply to this, but elsewhere, some folks had some
problems grabbing Marcelo's tree. At one point, Ben Greear said he'd used
'bk&#160;clone&#160;bk://linux24.bkbits.net/linux-2.4' to clone the tree,
but added, <quote who="Ben Greear">However, I see no files, only directories.
The files do seem to be in the SCCS directories, but I don't know how to
make them appear in their normal place.</quote> David Woodhouse replied:</p>

<quote who="David Woodhouse">

<p>Type 'make config'. Make is clever enough to get the Makefile from SCCS
for you. Add the missing dependencies to the Makefile so that make will
fetch stuff like scripts/Configure before trying to run it, etc.</p>

<p>Making it get all the Config.in files by parsing arch/$(ARCH)/config.in
is a fairly trivial task... but you do need to explicitly check out all the
include directories, because we don't know how to deal with that yet. With
kbuild-2.4, make dep won't work very well, but kbuild-2.5 ought to be OK
with everything but the include files, I think.</p>

<p>Or you could just check it all out beforehand with bk -r co.</p>

</quote>

<p>Larry McVoy asked if anyone had successfully used the 'make config'
incantation in that situation, saying that it would save a lot of space and
performance if it worked. But Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>Hey, the _sane_ way to do it is to not have all those crappy SCCS
dependencies in all the tools, but to simply make a bk work area be a real
file tree!</p>

<p>Larry, your argument that there are tools that are SCCS-aware is just not
sane. For each tool that is SCCS-aware, I will name a hundred that are not,
and that you're not going to fix. The only sane way to make _everything_
bitkeeper-aware is to keep the tree checked out and to keep the bitkeeper
files somewhere else.</p>

<p>Right now simple things like command-line completion and</p>

<p>        find . -name '*.[chS]' | xargs grep xxxx</p>

<p>do not work, because they either don't find files or they find the wrong
ones (the internal bitkeeper files etc).</p>

<p>I'd much rather have a separate working area, ie if my repository is
under ~/BK/repository/kernel/linux-2.5, then the checked out tree would
be under ~/BK/repository/kernel/linux-2.5/workarea, and I would just have
a simple symbolic link from ~/v2.5 to the workarea (and never even _see_
the BitKeeper files unless I thought I needed to).</p>

<p>None of this "special tools for normal actions" crap.</p>

</quote>

<p>A couple of posts later, he went on:</p>

<quote who="Linus Torvalds">

<p>The fact is, mixing up the revision control directories and the working area
is a design mistake, and one that BK perpetuated due to Larry's infatuation
with the fact that "make" and "patch" already know how SCCS works.</p>

<p>(It should be noted that this design mistake is also one of the stumbling
blocks for ever improving the BK databases. It limits your viability in the
long run, which is why I'm trying to prod Larry into fixing it).</p>

</quote>

<p>Larry replied:</p>

<quote who="Larry McVoy">

<p>The "design mistake" was made so that I could have BK generate pure SCCS
files and test that I did the same thing as a known working tool, ATT SCCS.
By doing that, I easily saved myself a year of design.  Making interleaved
deltas work is hard for me (we have Rick here now and he's forgotten more
about this stuff than I'll ever know, but we didn't have him when I wrote
the SCCS compat weave).</p>

<p>At this point, I trust our implementation of the weave more than I trust
the ATT one, and ours handles several cases that theirs doesn't, so I'm a
lot less concerned about that compatibility.</p>

<p>And we know that we can get better performance, and dramatically reduce
fragmentation, by sticking all the files in one big file, and we've known this
for a long time.  We're gonna do it, you're gonna love, it's less filling,
it tastes great.  There is only so many things that we can do at once and
this is on our short list, but it isn't at the top.  Keep that in mind as
you push us to make enhancements, there is no free lunch, so prioritize.</p>

<p>I'm gonna hack at least make &amp; patch to know about the new format and work
the way they do now.  So I can have your cake and eat it too.  If I can't
get the FSF to take the changes, we'll just ship 'em, we ship diff &amp;
patch already, so it's not so hard to alias make='bk make'.</p>

</quote>

</section>

<section
  title="Dummy Port Conflicts"
  subject="IO delay, port 0x80, and BIOS POST codes"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0203.1/0770.html"
  posts="49"
  startdate="14 Mar 2002 09:11:42 -0800"
  enddate="19 Mar 2002 06:25:24 -0800"
>

<p>Martin Wilck reported:</p>

<quote who="Martin Wilck">

<p>the BIOS on our machines (Phoenix) uses IO-port 0x80 for storing POST
codes, not only during sytem startup, but also for messages generated during
SMM (system management mode) operation.  I have been told other BIOSs do
the same.</p>

<p>Unfortunately we can't read this information because Linux uses port 80 as
"dummy" port for delay operations. (outb_p and friends, actually there seem
to be a more hard-coded references to port 0x80 in the code).</p>

<p>It seems this problem was always there, just nobody took notice of it yet
(at least in our company). Sometimes people wondered about the weird POST
codes displayed in the LCD panel, but who cares once the machine is up...</p>

<p>Would it be too outrageous to ask that this port number be changed,
or made configurable?</p>

</quote>

<p>Richard B. Johnson replied, <quote who="Richard B. Johnson">This is a
'N' year-old question. Do you know of a port that is guaranteed to exist
on the Intel/PC/AT class machine? If so, submit a patch.  I proposed using
0x19h (DMA scratch register) several years ago, but it was shot down for
some reason. Then I proposed 0x42 (PIT Misc register), that too was declared
off-limits. So I suggested that the outb to 0x80 be changed to an inp, saving
%eax on the stack first. That too was shot down. So, you try something... and
good luck.</quote></p>

<p>Someone suggested making it a config option, but Martin Wilck said even
a <code>#define</code> and a comment in the source, explaining how to change
the port for a given setup would be sufficient. Later, Martin announced:</p>

<quote who="Martin Wilck">

<p>this patch makes the use of the "dummy" port 0x80 globally configurable
through a macro in the (new) file asm-i386/iodelay.h.  I think nobody wants
to see this in the configuration menus.</p>

<p>I have tried to capture all accesses to port 0x80, although some may
have escaped.</p>

<p>Even if nobody wants to use anything other than 0x80 in the near future,
I think the patch is useful because grepping the source for 0x80 is really
no fun.</p>

<p>With the patch, our BIOS post code LEDs really stand still.</p>

</quote>

<p>Some folks went back and forth on the implementation for awhile.</p>

</section>

<section
  title="BitKeeper Feature Discussion"
  subject="Problems using new Linux-2.4 bitkeeper repository."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0203.1/0890.html"
  posts="23"
  startdate="14 Mar 2002 18:38:16 -0800"
  enddate="18 Mar 2002 07:25:12 -0800"
>
<topic>Version Control</topic>

<p>James Bottomley reported:</p>

<quote who="James Bottomley">

<p>How do those of us who've been using the</p>

<p><a
href="http://gkernel.bitkeeper.net/marcelo-2.4">http://gkernel.bitkeeper.net/marcelo-2.4
</a></p>

<p>for development resync against the kernel24.bkbits.net tree?  It looks
like the changes from 2.4.18-pre8 onwards all have different patch IDs in
the new tree; so when I try to do a pull from my current repository I get
tons of conflicts, if I try to do a receive of just the patch set I get a
resync error:</p>

<p>takepatch: can't find parent ID<br />
        jgarzik@mandrakesoft.com|ChangeSet|20020225230300|18879<br />
        in RESYNC/SCCS/s.ChangeSet</p>

<p>The thought of taking everything back to the common ancestor and then
trying to apply the changes one at a time and adding the change logs by
hand isn't that appealing (I have 3 2.4 repositories, some with upwards of
10 additional change sets in them).</p>

</quote>

<p>Jeff Garzik replied, <quote who="Jeff Garzik">Just do a 'bk pull' on
my marcelo-2.4 tree.  Since it is based on the original linux-2.4 tree
just like Marcelo's tree, I was able to merge from my 2.4 line to his 2.4
line.</quote> But James said when he'd tried this he got a slew of initial
rename conflicts. Jeff replied, <quote who="Jeff Garzik">This is normal,
you just need to accept the remote changes for all those new/renamed files.
BitKeeper doesn't support doing this automatically for all files, so I had
to highlight the expected BitKeeper response in another window, and then
click &lt;paste&gt; on my mouse around 300 times...  (~300 new files).</quote></p>

<p>Larry McVoy retched into his hand, and offered to add an option to allow
automatic acceptance. But he added that he suspected there was some sort of
problem. He asked what Jeff's situation had been. Jeff replied:</p>

<quote who="Jeff Garzik">

<p>I started with Linus's linux-2.4 repo and so did Marcelo.  We independently
checked in 2.4.recent patches (including proper renametool use), which
included the ia64 and mips merges, which added a ton of files.  When you do a
'bk pull' from Marcelo's linux-2.4 into my old marcelo-2.4 repo, you have
to individually tell BitKeeper that you really do want to trust Marcelo's
copy over my own, for each of the ~300 new files that were added between
Linus's linux-2.4 repo creation and 2 days ago.  So I highlighted "rl\ny\n"
in another window, and wore out my middle mouse button...  Renames could
have been handled similarly, but there were few renames, so I just typed
"r\ny\n" manually maybe 10 or 20 times.</p>

<p>One could argue that a "rla" or "lla" command would be useful when resolving
a conflict between two new files, telling BitKeeper to accept remote (or
local) additions in this case _and_ all succeeding cases.</p>

<p>One could also argue that BitKeeper needs to be twacked on the head
because it is not detecting that the file-creates and file-renames are 100%
the same, content-wise.</p>

</quote>

<p>Larry replied to the fact that Jeff and Marcelo had independently checked in
some recent patches. He said:</p>

<quote who="Larry McVoy">

<p>OK, so there is the root cause.  It's time to talk about duplicate
changes.  You know how Linus hates bad csets in the history and doesn't
want them there?  Well, I hate duplicate csets and don't want them there.
There are lots of reasons.  One reason is that it means revtool is a lot
less useful for debugging.  If you are trying to track down the change which
caused a bug but it is obscured by a duplicate patch, you just got hosed.
Another reason is file creates.  Suppose you and Marcelo both created a file
called "foo".  You pull, there is a file conflict, you remove one of the
two files.  It isn't actually removed, it's just moved to BitKeeper/deleted.
Time passes and you or someone else is fixing bugs in a pre-merged copy
of the tree and you are updating "foo".  You later pull that bugfix into
the merged tree and the bugfix happily is applied to the *deleted* copy of
the file, since the changes follow the "inode", not the pathname.  Bummer,
you are now scratching your head wondering where your bugfix went.</p>

<p>There are things we can do in BK to deal with this, but they are not
easy and are going to take several months, is my guess.  I'd like to see if
you can work around this by avoiding duplicate patches.  If you can, do so,
you will save yourself lots of grief.</p>

<p>If you get into a duplicate patch situation, you are far better off to pick
one tree or the other tree as the official tree, and cherrypick the changes
that the unofficial tree has and place them in the official tree.  Then toss
the unofficial tree.  I can make you a "bk portpatch" command which does this,
we have that already, it needs a bit of updating to catch the comments.</p>

<p>You really want to listen to this, I'm trying to head you off from
screwing up the history.  If you get 300 renames like this, it's almost
always a duplicate patch scenario.</p>

</quote>

<p>Jeff replied:</p>

<quote who="Jeff Garzik">

<p>I know why it happened, silly.</p>

<p>This was just an example of a real world example that actually happened,
where BK sucked ass :)</p>

<p>Marcelo's BK tree did not exist when I created my marcelo-2.4 tree.
marcelo-2.4 repo existed for a while and people started using it.  Once Marcelo
appeared with his "official" BK tree, people naturally want to migrate.
There were two migration paths: (1) export everything to GNU patches, or
(2) click the mouse 300 times.</p>

<p>So, knowing that duplicate patches are a bad thing helps not in the
least here...</p>

</quote>

<p>A post or two later, he went on:</p>

<quote who="Jeff Garzik">

<p>a fair question would be, is this scenario going to occur often?  I don't
know.  But I'll bet you -will- see it come up again in kernel development.
Why?  We are exercising the distributed nature of the BitKeeper system.
The system currently punishes Joe in Alaska and Mikhail in Russia if they
independently apply the same GNU patch, and then later on wind up attempting
to converge trees.</p>

<p>Do you see what I'm getting at?  In a widely distributed SCM system for an
open source project, chances are -good- that some random two or more people
will independently apply the same patch.</p>

</quote>

<p>Larry replied:</p>

<quote who="Larry McVoy">

<p>The real problem is N sets of diffs being applied and then merged.
The revision history ends up with the data inserted N times.</p>

<p>I'm not sure what to do about it.  I can handle the duplicate inode case
more gracefully but it's a heavy duty rewack.</p>

<p>We could play games where we detect the same patch inserted multiple
times and refuse to merge them.  Hmm. Hmm.  Not sure that helps.</p>

</quote>

<p>Jeff said:</p>

<quote who="Jeff Garzik">

<p>Hence my suggestion for a short term solution that's immediately useful --
allowing some way to answer "local changes take precedence 100% of the time"
or "remote changes ..." with a single command.  That was my hack solution that
I thought would people might find useful when stuck with the duplicate-patch
situation.</p>

<p>In the command line merge tool, when merging a file-create, "rla" would
cause the current file conflict, and all future file-create conflicts, to be
"won" by the remote side -- essentially creating the effect of typing "rl"
300 times.  Apply similar logic to the file-rename merge case.  I think the
merge command I used in 100% of the cases, during that merge, was 'r'.</p>

<p>If you are stuck with the duplicate patch case, as happened here, I just
want to see the pain eased a bit :)  IMO you can put off the hard problem
if you make the UI a bit better.</p>

</quote>

<p>Christer Weinigel also suggested, <quote who="Christer Weinigel">One
variant of this would be to automatically use the remote file as long as
the file contents are the same.  That way, if I apply a patch locally and
Marcello/Linus later apply the same patch and put it into the official tree,
I can use the official version.  This would probably handle most of the
conflicts I have seen so far.  If there are any "real" conflicts, I can
handle them manually.</quote></p>

</section>

<section
  title="2.5.7; Vacation"
  subject="Linux 2.5.7"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0203.2/0516.html"
  posts="2"
  startdate="18 Mar 2002 12:47:01 -0800"
  enddate="18 Mar 2002 13:57:44 -0800"
>

<mention>Dave Jones</mention>
<mention>Jeff Garzik</mention>

<p>Linus announced 2.5.7 and added, <quote who="Linus Torvalds">NOTE! I'll
be gone for a vacation for two weeks, and will not be reading email during
the time. So please discuss problems on linux-kernel, with Dave Jones,
Jeff Garzik etc handling patches while I'm away.</quote></p>

</section>

<section
  title="KGDB Documentation"
  subject="Announce: Documentation on thread analysis with kgdb"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0203.2/0999.html"
  posts="1"
  startdate="20 Mar 2002 08:25:00 -0800"
>

<p>Amit S. Kale announced, <quote who="Amit S. Kale">Documentation
on thread analysis using kgdb can be found at <a
href="http://kgdb.sourceforge.net/">http://kgdb.sourceforge.net/</a>.</quote>
There was no reply.</p>

</section>

</kc>

