<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="206" date="23 Feb 2003 00:00:00 -0800" />

<stats posts="2164" size="11728" contrib="468" multiples="245" lastweek="167">

<person posts="123" size="511" who="Alan Cox" />
<person posts="55" size="162" who="Christoph Hellwig" />
<person posts="49" size="224" who="&quot;Martin J. Bligh&quot;" />
<person posts="46" size="222" who="Zwane Mwaikambo" />
<person posts="46" size="209" who="Linus Torvalds" />
<person posts="44" size="169" who="Andrew Morton" />
<person posts="42" size="760" who="Osamu Tomita" />
<person posts="41" size="271" who="Jeff Garzik" />
<person posts="41" size="125" who="Dave Jones" />
<person posts="37" size="105" who="John Bradford" />
<person posts="33" size="128" who="Larry McVoy" />
<person posts="26" size="113" who="Pavel Machek" />
<person posts="26" size="101" who="Pavel Machek" />
<person posts="26" size="94" who="Jamie Lokier" />
<person posts="24" size="93" who="Russell King" />
<person posts="21" size="138" who=" (Eric W. Biederman)" />
<person posts="19" size="207" who="Dominik Brodowski" />
<person posts="19" size="64" who="Adrian Bunk" />
<person posts="18" size="78" who="Roger Luethi" />
<person posts="17" size="199" who="Rusty Lynch" />
<person posts="16" size="169" who="Steven Cole" />
<person posts="16" size="152" who="Vojtech Pavlik" />
<person posts="16" size="53" who="Bob Miller" />
<person posts="15" size="76" who="=?iso-8859-1?Q?J=F6rn?= Engel" />
<person posts="15" size="75" who="Zwane Mwaikambo" />
<person posts="15" size="70" who="Tim Schmielau" />
<person posts="15" size="60" who="Andrea Arcangeli" />
<person posts="15" size="58" who="&quot;Randy.Dunlap&quot;" />
<person posts="15" size="39" who="James Simmons" />
<person posts="14" size="47" who="Davide Libenzi" />
<person posts="14" size="46" who="Shawn Starr" />
<person posts="13" size="404" who="William Lee Irwin III" />
<person posts="13" size="252" who="Adam Belay" />
<person posts="13" size="115" who="Andrey Panin" />
<person posts="13" size="70" who="Suparna Bhattacharya" />
<person posts="13" size="68" who="Jens Axboe" />
<person posts="13" size="60" who="Stephen Rothwell" />
<person posts="13" size="50" who="(Valdis.Kletnieks)" />
<person posts="13" size="48" who="Stephan von Krawczynski" />
<person posts="12" size="43" who="Daniel Jacobowitz" />
<person posts="12" size="37" who="Bill Davidsen" />
<person posts="11" size="75" who=" (Miles Bader)" />
<person posts="11" size="72" who="Greg KH" />
<person posts="11" size="55" who="David Lang" />
<person posts="11" size="46" who="Mikael Pettersson" />
<person posts="11" size="45" who="Bruno Diniz de Paula" />
<person posts="11" size="33" who="Geert Uytterhoeven" />
<person posts="11" size="30" who="Sam Ravnborg" />
<person posts="11" size="27" who="&quot;David S. Miller&quot;" />
<person posts="10" size="53" who="Con Kolivas" />
<person posts="10" size="50" who="Kai Germaschewski" />
<person posts="10" size="48" who="Manfred Spraul" />
<person posts="10" size="45" who="Corey Minyard" />
<person posts="10" size="39" who="Stephan van Hienen" />
<person posts="10" size="35" who="Paul Larson" />
<person posts="10" size="32" who="Nicolas Pitre" />
<person posts="9" size="52" who=" &lt;vlad@geekizoid.com&gt;" />
<person posts="9" size="51" who="David Schwartz" />
<person posts="9" size="46" who="Stephen Hemminger" />
<person posts="9" size="38" who="Roland McGrath" />
<person posts="9" size="35" who="David Woodhouse" />
<person posts="9" size="34" who="&quot;Henning P. Schmiedehausen&quot;" />
<person posts="9" size="31" who="Andi Kleen" />
<person posts="9" size="30" who="Benjamin Herrenschmidt" />
<person posts="9" size="28" who="Werner Almesberger" />
<person posts="8" size="55" who="&quot;LA Walsh&quot;" />
<person posts="8" size="45" who="Art Haas" />
<person posts="8" size="42" who="Ed Tomlinson" />
<person posts="8" size="37" who="Maciej Soltysiak" />
<person posts="8" size="30" who="Nilmoni Deb" />
<person posts="8" size="26" who="Rahul Vaidya" />
<person posts="8" size="23" who="Andre Hedrick" />
<person posts="8" size="19" who="Chris Wedgwood" />
<person posts="7" size="48" who="Antonino Daplas" />
<person posts="7" size="45" who="Rusty Russell" />
<person posts="7" size="36" who="Crispin Cowan" />
<person posts="7" size="30" who="Chris Friesen" />
<person posts="7" size="28" who="Alan Cox" />
<person posts="7" size="27" who="&quot;Stephen D. Smalley&quot;" />
<person posts="7" size="25" who="Trond Myklebust" />
<person posts="7" size="21" who="Matti Aarnio" />
<person posts="7" size="20" who="Muli Ben-Yehuda" />
<person posts="7" size="20" who="Tomas Szepe" />
<person posts="7" size="18" who="Pete Zaitcev" />
<person posts="6" size="73" who="Thomas Molina" />
<person posts="6" size="64" who="Henrik Persson" />
<person posts="6" size="58" who="Ingo Oeser" />
<person posts="6" size="45" who="Marc Zyngier" />
<person posts="6" size="29" who="John Kim" />
<person posts="6" size="29" who="Dave Hansen" />
<person posts="6" size="29" who="Neil Brown" />
<person posts="6" size="24" who="Guennadi Liakhovetski" />
<person posts="6" size="22" who="Dave Kleikamp" />
<person posts="6" size="21" who="Nicolas Mailhot" />
<person posts="6" size="21" who="Roman Zippel" />
<person posts="6" size="19" who="Andy Pfiffer" />
<person posts="6" size="19" who="&quot;Richard B. Johnson&quot;" />
<person posts="6" size="17" who="Patrick Mochel" />
<person posts="6" size="15" who="John Levon" />
<person posts="5" size="58" who="Andreas Gruenbacher" />
<person posts="5" size="56" who="James Bourne" />
<person posts="5" size="30" who="Thomas Schlichter" />
<person posts="5" size="23" who="Corey Minyard" />
<person posts="5" size="22" who=" (Linus Torvalds)" />
<person posts="5" size="20" who="Mike Galbraith" />
<person posts="5" size="17" who="'Christoph Hellwig'" />
<person posts="5" size="16" who="Andreas Dilger" />
<person posts="5" size="15" who="Martin Josefsson" />
<person posts="5" size="15" who="&quot;shesha bhushan&quot;" />
<person posts="5" size="13" who="Rik van Riel" />
<person posts="5" size="13" who="Ulrich Weigand" />
<person posts="5" size="13" who="Robert Love" />
<person posts="5" size="12" who="Oleg Drokin" />
<person posts="5" size="12" who="Ingo Molnar" />
<person posts="4" size="101" who="Hans Reiser" />
<person posts="4" size="66" who="Matthias Andree" />
<person posts="4" size="33" who="Paul Laufer" />
<person posts="4" size="33" who="&quot;Sowmya Adiga&quot;" />
<person posts="4" size="25" who="Arador" />
<person posts="4" size="23" who="Joakim Tjernlund" />
<person posts="4" size="20" who="Shawn Starr" />
<person posts="4" size="19" who="Matthew Wilcox" />
<person posts="4" size="17" who="&quot;Murray J. Root&quot;" />
<person posts="4" size="16" who="Patrick Mansfield" />
<person posts="4" size="16" who="Stelian Pop" />
<person posts="4" size="15" who="&quot;Kostadin Karaivanov&quot;" />
<person posts="4" size="15" who="(andrea.glorioso)" />
<person posts="4" size="15" who="Horst von Brand" />
<person posts="4" size="14" who="Jochen Friedrich" />
<person posts="4" size="12" who="(Andries.Brouwer)" />
<person posts="4" size="11" who="Ivan Kokshaysky" />
<person posts="4" size="11" who="Matt Reppert" />
<person posts="4" size="10" who="Keith Adamson" />
<person posts="4" size="10" who="&quot;Tim Pepper&quot;" />
<person posts="4" size="10" who=" (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=)" />
<person posts="4" size="9" who="Larry Hileman" />
<person posts="4" size="8" who="Anton Blanchard" />
<person posts="4" size="6" who="(maxvalde)" />
<person posts="3" size="115" who="Core" />
<person posts="3" size="82" who="Ion Badulescu" />
<person posts="3" size="64" who="Jan Dittmer" />
<person posts="3" size="52" who="&quot;James Lamanna&quot;" />
<person posts="3" size="38" who="&quot;Zephaniah E\. Hull&quot;" />
<person posts="3" size="37" who="Heiko Ronsdorf" />
<person posts="3" size="32" who="&quot;Randy.Dunlap&quot;" />
<person posts="3" size="16" who="John Clemens" />
<person posts="3" size="15" who="Bryan Andersen" />
<person posts="3" size="14" who="Mauricio Martinez" />
<person posts="3" size="13" who="Jesse Pollard" />
<person posts="3" size="12" who="&quot;Alvaro Barbosa G.&quot;" />
<person posts="3" size="12" who="Szabolcs Berecz" />
<person posts="3" size="11" who="Kunihiro Ishiguro" />
<person posts="3" size="11" who="Brian Jackson" />
<person posts="3" size="11" who="Lars Marowsky-Bree" />
<person posts="3" size="11" who="Marc Giger" />
<person posts="3" size="10" who="Dax Kelson" />
<person posts="3" size="10" who="Aggelos Economopoulos" />
<person posts="3" size="10" who="Denis Vlasenko" />
<person posts="3" size="10" who="(kernel)" />
<person posts="3" size="10" who="Joel Becker" />
<person posts="3" size="10" who="David Ford" />
<person posts="3" size="9" who="Abramo Bagnara" />
<person posts="3" size="9" who="Ben Greear" />
<person posts="3" size="9" who="John Cherry" />
<person posts="3" size="9" who="Xavier Bestel" />
<person posts="3" size="9" who="Jeff Dike" />
<person posts="3" size="9" who=" (Bob_Tracy(0000))" />
<person posts="3" size="8" who="James Bottomley" />
<person posts="3" size="8" who="Jos Hulzink" />
<person posts="3" size="8" who=" (David Wagner)" />
<person posts="3" size="8" who="Alex Bennee" />
<person posts="3" size="8" who="Andrew Walrond" />
<person posts="3" size="8" who="&quot;Maciej W. Rozycki&quot;" />
<person posts="3" size="8" who="'Christoph Hellwig '" />
<person posts="3" size="7" who="&quot;Justin T. Gibbs&quot;" />
<person posts="3" size="7" who="Peter Finderup Lund" />
<person posts="3" size="7" who="Dan Kegel" />
<person posts="2" size="90" who="David Dillow" />
<person posts="2" size="82" who="Matthias Andree" />
<person posts="2" size="31" who="Patrick McHardy" />
<person posts="2" size="24" who="Duncan Sands" />
<person posts="2" size="18" who="John Weber" />
<person posts="2" size="15" who="Rudmer van Dijk" />
<person posts="2" size="13" who="&quot;Aniruddha M Marathe&quot;" />
<person posts="2" size="11" who="chas williams" />
<person posts="2" size="10" who="Toplica Tanaskovic" />
<person posts="2" size="10" who="Joshua Kwan" />
<person posts="2" size="10" who=" (Beat Bolli)" />
<person posts="2" size="10" who="&quot;Edward Killips&quot;" />
<person posts="2" size="9" who="Louis Zhuang" />
<person posts="2" size="9" who="Bjorn Helgaas" />
<person posts="2" size="9" who="Peter Tattam" />
<person posts="2" size="8" who="Henning Schmiedehausen" />
<person posts="2" size="7" who="&quot;Timothy D. Witham&quot;" />
<person posts="2" size="7" who="Casey Schaufler" />
<person posts="2" size="7" who="Sahara Workshop" />
<person posts="2" size="7" who="Albert Cahalan" />
<person posts="2" size="7" who="Derek Fawcus" />
<person posts="2" size="7" who="Jaroslav Kysela" />
<person posts="2" size="7" who="&quot;Paul Rolland&quot;" />
<person posts="2" size="6" who="Oliver Xymoron" />
<person posts="2" size="6" who="&quot;H. Peter Anvin&quot;" />
<person posts="2" size="6" who="Willy Tarreau" />
<person posts="2" size="6" who="Simon Kirby" />
<person posts="2" size="6" who="Wim Vinckier" />
<person posts="2" size="6" who="Ruud Linders" />
<person posts="2" size="6" who="Edward King" />
<person posts="2" size="6" who="Christian Guggenberger" />
<person posts="2" size="6" who="Peter Chubb" />
<person posts="2" size="6" who="steve cameron" />
<person posts="2" size="6" who="&quot;Stephen C. Tweedie&quot;" />
<person posts="2" size="6" who="Brian Gerst" />
<person posts="2" size="6" who="Hugh Dickins" />
<person posts="2" size="6" who="&quot;Robert Williamson&quot;" />
<person posts="2" size="6" who="george anzinger" />
<person posts="2" size="6" who="Andreas Arens" />
<person posts="2" size="6" who="YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=" />
<person posts="2" size="6" who="Lars Magne Ingebrigtsen" />
<person posts="2" size="6" who="Srinivas Chinta" />
<person posts="2" size="5" who="Martin Schlemmer" />
<person posts="2" size="5" who="Sean Neakums" />
<person posts="2" size="5" who="Andreas Schwab" />
<person posts="2" size="5" who=" (Pavel =?iso-8859-2?q?Jan=EDk?=)" />
<person posts="2" size="5" who="Mark Watts" />
<person posts="2" size="5" who="Steven Dake" />
<person posts="2" size="5" who="Jean Tourrilhes" />
<person posts="2" size="5" who="Balram Adlakha" />
<person posts="2" size="5" who="Ross Biro" />
<person posts="2" size="5" who="James Antill" />
<person posts="2" size="5" who="Paul Larson" />
<person posts="2" size="5" who="Chris Wright" />
<person posts="2" size="5" who="Greg Ungerer" />
<person posts="2" size="5" who="Robert Love" />
<person posts="2" size="5" who="Mark J Roberts" />
<person posts="2" size="5" who="David Wuertele" />
<person posts="2" size="5" who="&quot;John W. M. Stevens&quot;" />
<person posts="2" size="5" who="David Lloyd" />
<person posts="2" size="5" who="Siim Vahtre" />
<person posts="2" size="5" who="Miles Bader" />
<person posts="2" size="5" who="Richard Henderson" />
<person posts="2" size="5" who="&quot;Matthew D. Pitts&quot;" />
<person posts="2" size="4" who="Ducrot Bruno" />
<person posts="2" size="4" who="&quot;Nandakumar  NarayanaSwamy&quot;" />
<person posts="2" size="4" who="&quot;Robert P. J. Day&quot;" />
<person posts="2" size="4" who="yi" />
<person posts="1" size="94" who="Kazunori MIyazawa" />
<person posts="1" size="54" who="Patrick Finnegan" />
<person posts="1" size="48" who="Matthew Dharm" />
<person posts="1" size="47" who="&quot;Scott Merrill&quot;" />
<person posts="1" size="31" who="Zilvinas Valinskas" />
<person posts="1" size="30" who="Rene Rebe" />
<person posts="1" size="23" who="&quot;Ph. Marek&quot;" />
<person posts="1" size="23" who="oford" />
<person posts="1" size="22" who="&quot;Robbert Kouprie&quot;" />
<person posts="1" size="22" who="Nikita Danilov" />
<person posts="1" size="22" who="(lkml)" />
<person posts="1" size="21" who="Jan Marek" />
<person posts="1" size="20" who="Srihari Vijayaraghavan" />
<person posts="1" size="19" who="Kevin Hale Boyes" />
<person posts="1" size="19" who="Bernhard Kaindl" />
<person posts="1" size="18" who="Filip djMedrzec Zyzniewski" />
<person posts="1" size="18" who="Horacio de Oro" />
<person posts="1" size="17" who="&quot;Hmamouche, Youssef&quot;" />
<person posts="1" size="17" who="Daniel Nash" />
<person posts="1" size="12" who="Ishikawa" />
<person posts="1" size="11" who="Patricia Gaughen" />
<person posts="1" size="10" who="Andrea Arcangeli" />
<person posts="1" size="9" who="Rene Engelhard" />
<person posts="1" size="9" who="Stelian Pop" />
<person posts="1" size="9" who="Andy Whitcroft" />
<person posts="1" size="9" who="Eyal Lebedinsky" />
<person posts="1" size="8" who="&quot;Karen&quot;" />
<person posts="1" size="7" who="&quot;Kline, Jonathan&quot;" />
<person posts="1" size="7" who="Alexander Vodomerov" />
<person posts="1" size="7" who="=?iso-8859-1?q?Con=20Kolivas?=" />
<person posts="1" size="7" who="lee leahu" />
<person posts="1" size="6" who="Kevin Corry" />
<person posts="1" size="6" who="Bernd Schubert" />
<person posts="1" size="6" who="&quot;Aneesh Kumar K.V&quot;" />
<person posts="1" size="6" who=" &lt;marybangura@libero.it&gt;" />
<person posts="1" size="6" who="Tom Lendacky" />
<person posts="1" size="6" who="Brian Gerst" />
<person posts="1" size="5" who="Torrey Hoffman" />
<person posts="1" size="5" who="Rob Funk" />
<person posts="1" size="5" who="Ashish Kalra" />
<person posts="1" size="5" who="&quot;James Buchanan&quot;" />
<person posts="1" size="5" who="(jmjones)" />
<person posts="1" size="5" who="James Morris" />
<person posts="1" size="4" who="Eric Northup" />
<person posts="1" size="4" who="Hugo Mills" />
<person posts="1" size="4" who="&quot;Makan Pourzandi (LMC)&quot;" />
<person posts="1" size="4" who="Kevin Fenzi" />
<person posts="1" size="4" who="Roger Larsson" />
<person posts="1" size="4" who="Jakob Oestergaard" />
<person posts="1" size="4" who="Kevin Curtis" />
<person posts="1" size="4" who="(budusanko)" />
<person posts="1" size="4" who="Erik Mouw" />
<person posts="1" size="4" who="Marc Schiffbauer" />
<person posts="1" size="4" who="magniett" />
<person posts="1" size="4" who="YOSHIFUJI Hideaki / USAGI Project" />
<person posts="1" size="4" who="Disconnect" />
<person posts="1" size="4" who="Kenneth Sumrall" />
<person posts="1" size="4" who="GrandMasterLee" />
<person posts="1" size="4" who="&quot;Daniel Heater&quot;" />
<person posts="1" size="4" who="&quot;Alfred E. Heggestad&quot;" />
<person posts="1" size="4" who="&quot;Thomas J. Merritt&quot;" />
<person posts="1" size="4" who="Maneesh Soni" />
<person posts="1" size="4" who="Robbert Kouprie" />
<person posts="1" size="4" who=" (=?iso-8859-1?q?Ga=EBl?= Le Mignot)" />
<person posts="1" size="3" who="Morten Helgesen" />
<person posts="1" size="3" who="Andrej Ricnik" />
<person posts="1" size="3" who="Filip Van Raemdonck" />
<person posts="1" size="3" who="Edesio Costa e Silva" />
<person posts="1" size="3" who="(Ballabio_Dario)" />
<person posts="1" size="3" who="Daniel Franke" />
<person posts="1" size="3" who="Thomas Schlichter" />
<person posts="1" size="3" who="Jake Roersma" />
<person posts="1" size="3" who="Steve Brueggeman" />
<person posts="1" size="3" who="Jeff Muizelaar" />
<person posts="1" size="3" who="Vid Strpic" />
<person posts="1" size="3" who="Matt Porter" />
<person posts="1" size="3" who="Alessandro Suardi" />
<person posts="1" size="3" who="Paul Marinceu" />
<person posts="1" size="3" who="Andreas Jellinghaus" />
<person posts="1" size="3" who="Jeff Mock" />
<person posts="1" size="3" who="Tomasz Malesinski" />
<person posts="1" size="3" who="Russell Coker" />
<person posts="1" size="3" who="Kazunori Miyazawa" />
<person posts="1" size="3" who="&quot;William King&quot;" />
<person posts="1" size="3" who="Paul P Komkoff Jr" />
<person posts="1" size="3" who="&quot;Grover, Andrew&quot;" />
<person posts="1" size="3" who="(cheapisp)" />
<person posts="1" size="3" who="Thorsten Leemhuis" />
<person posts="1" size="3" who="&quot;Tom Lendacky&quot;" />
<person posts="1" size="3" who="GAURAV YADAV" />
<person posts="1" size="3" who="Brian Craft" />
<person posts="1" size="3" who="&quot;Perez-Gonzalez, Inaky&quot;" />
<person posts="1" size="3" who="Jonathan Thorpe" />
<person posts="1" size="3" who="Arjan van de Ven" />
<person posts="1" size="3" who="&quot;Rick A. Hohensee&quot;" />
<person posts="1" size="3" who="Falk Hueffner" />
<person posts="1" size="3" who="&quot;jeff millar&quot;" />
<person posts="1" size="3" who="&quot;Chris Funderburg (at home)&quot;" />
<person posts="1" size="3" who="&quot;Liu, Yanqing&quot;" />
<person posts="1" size="3" who="&quot;Rune&quot;" />
<person posts="1" size="3" who="&quot;Anthony J. Breeds-Taurima&quot;" />
<person posts="1" size="3" who="Jeremy Jackson" />
<person posts="1" size="3" who="Steve French" />
<person posts="1" size="3" who="Robert de Bath" />
<person posts="1" size="3" who="Petri Koistinen" />
<person posts="1" size="3" who="Matan Ziv-Av" />
<person posts="1" size="3" who="Axel Siebenwirth" />
<person posts="1" size="3" who="Gianni Tedesco" />
<person posts="1" size="3" who="Con Kolivas" />
<person posts="1" size="3" who="Charles Cazabon" />
<person posts="1" size="3" who="Mitsuru KANDA / =?ISO-2022-JP?B?GyRCP0BFRBsoQiAbJEI9PBsoQg==?=" />
<person posts="1" size="3" who="Ben Collins" />
<person posts="1" size="3" who="Cliff White" />
<person posts="1" size="3" who="Cort Dougan" />
<person posts="1" size="3" who=" (Andreas Jellinghaus)" />
<person posts="1" size="3" who="Takashi Iwai" />
<person posts="1" size="3" who="Michael Westermann" />
<person posts="1" size="3" who="&quot;Michael Vergoz&quot;" />
<person posts="1" size="3" who="Markus Plail" />
<person posts="1" size="2" who="Nico Schottelius" />
<person posts="1" size="2" who="&quot;Joakim Tjernlund&quot;" />
<person posts="1" size="2" who="Daniel Pittman" />
<person posts="1" size="2" who="Matt Bernstein" />
<person posts="1" size="2" who="Bernd Petrovitsch" />
<person posts="1" size="2" who="&quot;Mr. James W. Laferriere&quot;" />
<person posts="1" size="2" who="Bernd Eckenfels" />
<person posts="1" size="2" who="Daniel Forrest" />
<person posts="1" size="2" who="Bob Johnson" />
<person posts="1" size="2" who="&quot;Shon W. Harris&quot;" />
<person posts="1" size="2" who="Pete Loscocco" />
<person posts="1" size="2" who="Klaus Niederkrueger" />
<person posts="1" size="2" who="Olivier Galibert" />
<person posts="1" size="2" who="Scott Murray" />
<person posts="1" size="2" who="&quot;Vijayan Prabhakaran&quot;" />
<person posts="1" size="2" who="Matthias Schniedermeyer" />
<person posts="1" size="2" who="(gskiran)" />
<person posts="1" size="2" who="&quot;Robert L. Harris&quot;" />
<person posts="1" size="2" who="Max Krasnyansky" />
<person posts="1" size="2" who="Andreas Steinmetz" />
<person posts="1" size="2" who="&quot;Simoneaux, Jill&quot;" />
<person posts="1" size="2" who="(kuznet)" />
<person posts="1" size="2" who="Petri Koistinen" />
<person posts="1" size="2" who="Herbert Xu" />
<person posts="1" size="2" who="&quot;Scott Robert Ladd&quot;" />
<person posts="1" size="2" who="Andrzej Krzysztofowicz" />
<person posts="1" size="2" who="Erik Hensema" />
<person posts="1" size="2" who="scott thomason" />
<person posts="1" size="2" who="Dana Lacoste" />
<person posts="1" size="2" who="Kai Makisara" />
<person posts="1" size="2" who="&quot;Paolo Ciarrocchi&quot;" />
<person posts="1" size="2" who="Helge Hafting" />
<person posts="1" size="2" who="Frank Davis" />
<person posts="1" size="2" who="Todd Inglett" />
<person posts="1" size="2" who="Theodore Ts'o" />
<person posts="1" size="2" who="Arnd Bergmann" />
<person posts="1" size="2" who="ghugh Song" />
<person posts="1" size="2" who="&quot;Magnus Naeslund\(f\)&quot;" />
<person posts="1" size="2" who="Jurjen Oskam" />
<person posts="1" size="2" who="John Jasen" />
<person posts="1" size="2" who="&quot;Matthew J. Fanto&quot;" />
<person posts="1" size="2" who="Kasper Dupont" />
<person posts="1" size="2" who="Steven French" />
<person posts="1" size="2" who="anton" />
<person posts="1" size="2" who="William Chow" />
<person posts="1" size="2" who="jordi" />
<person posts="1" size="2" who=" (Julien Oster)" />
<person posts="1" size="2" who="Rik van Riel" />
<person posts="1" size="2" who="Mitch Adair" />
<person posts="1" size="2" who="(nick)" />
<person posts="1" size="2" who="&quot;Bloch, Jack&quot;" />
<person posts="1" size="2" who="Daniel Egger" />
<person posts="1" size="2" who="Kenneth Johansson" />
<person posts="1" size="2" who="Nick Craig-Wood" />
<person posts="1" size="2" who="Mark Hounschell" />
<person posts="1" size="2" who="&quot;Andrey V. Ignatov&quot;" />
<person posts="1" size="2" who="&quot;Ruslan U. Zakirov&quot;" />
<person posts="1" size="2" who="Nick Piggin" />
<person posts="1" size="2" who=" (Miquel van Smoorenburg)" />
<person posts="1" size="2" who="Justin Carlson" />
<person posts="1" size="2" who="Samuel Flory" />
<person posts="1" size="2" who="Andries Brouwer" />
<person posts="1" size="2" who="&quot;Sumankar Shankar&quot;" />
<person posts="1" size="2" who="David Frascone" />
<person posts="1" size="2" who="&quot;Eng Se-Hsieng&quot;" />
<person posts="1" size="2" who="Mark K Hannah" />
<person posts="1" size="2" who="Mika Kukkonen" />
<person posts="1" size="2" who="Mark Hahn" />
<person posts="1" size="2" who="&quot;James H. Cloos Jr.&quot;" />
<person posts="1" size="2" who="&quot;John Hall&quot;" />
<person posts="1" size="2" who="Polychronis Ypodimatopoulos" />
<person posts="1" size="2" who="Sudharsan Vijayaraghavan" />
<person posts="1" size="2" who="Cezary Sliwa" />
<person posts="1" size="2" who="Jan Harkes" />
<person posts="1" size="2" who="Paul Mackerras" />
<person posts="1" size="2" who="&quot;Eric Chen&quot;" />
<person posts="1" size="2" who="&quot;Paul Fulghum&quot;" />
<person posts="1" size="2" who="&quot;Raghu&quot;" />
<person posts="1" size="2" who="Oliver Neukum" />
<person posts="1" size="2" who="Allan Klinbail" />
<person posts="1" size="2" who="Ognen Duzlevski" />
<person posts="1" size="2" who="Giuliano Pochini" />
<person posts="1" size="2" who="Florian Weimer" />
<person posts="1" size="2" who="Rodrigo Martins" />
<person posts="1" size="2" who="ghugh Song" />
<person posts="1" size="2" who="Shon Harris" />
<person posts="1" size="2" who="J Sloan" />
<person posts="1" size="2" who="Rolf Eike Beer" />
<person posts="1" size="2" who="&quot;Alvaro  Barbosa G.&quot;" />
<person posts="1" size="2" who="Witold Krecicki" />
<person posts="1" size="2" who="&quot;Guillaume Boissiere&quot;" />
<person posts="1" size="2" who="Robert Love" />
<person posts="1" size="2" who="Olaf Titz" />
<person posts="1" size="2" who="(tridge)" />
<person posts="1" size="2" who="Rus Foster" />
<person posts="1" size="2" who="walt" />
<person posts="1" size="2" who="Arnvid Karstad" />
<person posts="1" size="2" who="Philip Dodd" />
<person posts="1" size="2" who="Kostadin Karaivanov" />
<person posts="1" size="2" who="(mika.penttila)" />
<person posts="1" size="2" who="&quot;Holzrichter, Bruce&quot;" />
<person posts="1" size="1" who=" (Robert Dewar)" />
<person posts="1" size="1" who="Mike Dresser" />

</stats>

<section
  title="64-Bit Jiffies; Jiffie Wrap Bugs"
  subject="[PATCH *] use 64 bit jiffies"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.0/0120.html"
  posts="33"
  startdate="02 Feb 2003 14:55:40 -0800"
  enddate="17 Feb 2003 06:23:00 -0800"
>
<topic>Forward Port</topic>

<p>Tim Schmielau announced:</p>

<quote who="Tim Schmielau">

<p>Just a note that I have rediffed for 2.5.55 the patches that use the 64 bit
jiffies value to avoid uptime and process start time wrap after 49.5 days. I
will push them Linus-wards when he's back.  They can be retrieved from</p>

<p>  <a href="http://www.physik3.uni-rostock.de/tim/kernel/2.5/jiffies64-33a.patch.gz">http://www.physik3.uni-rostock.de/tim/kernel/2.5/jiffies64-33a.patch.gz</a>
    (1/3: infrastructure)<br />
  <a href="http://www.physik3.uni-rostock.de/tim/kernel/2.5/jiffies64-33b.patch.gz">http://www.physik3.uni-rostock.de/tim/kernel/2.5/jiffies64-33b.patch.gz</a>
    (2/3: fix uptime wrap)<br />
  <a href="http://www.physik3.uni-rostock.de/tim/kernel/2.5/jiffies64-33c.patch.gz">http://www.physik3.uni-rostock.de/tim/kernel/2.5/jiffies64-33c.patch.gz</a>
    (3/3: 64 bit process start time)</p>

<p>For discussion see <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0211.1/0471.html">http://www.uwsg.indiana.edu/hypermail/linux/kernel/0211.1/0471.html</a>
and <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0211.1/0847.html">http://www.uwsg.indiana.edu/hypermail/linux/kernel/0211.1/0847.html</a></p>

</quote>

<p>Denis Vlasenko was very surprised that these patches were still not
included in the main tree. He thought this meant that uptimes couldn't be
measured beyond a few months, but Matti Aarnio pointed out:</p>

<quote who="Matti Aarnio">

<p>You don't need to have 64-bit jiffy for things like internal timers,
nor for uptime tracking.</p>

<p>Timers have well behaving constructs to use 32-bit jiffy quite successfully,
and 64-bit values, especially atomicish, in 32-bit register-poor machines
(i386) are damn difficult.</p>

<p>I do have a number of machines with 100 to 300 day uptimes, all with "mere"
32-bit jiffy.  With 1000 Hz clock that means at least one full wrap-around
of jiffy.</p>

</quote>

<p>Denis Vlasenko replied, <quote who="Denis Vlasenko">Your processes will
show strange start times, CPU times etc.  This will happen in 2.5 pretty soon
(after 50 days uptime).</quote> A more important problem he felt, though, was
jiffy wrap bugs. He said, <quote who="Denis Vlasenko">There were reports of
machines hanging on jiffy wrap.  This is typically a result of incorrect jiffy
use in some driver.</quote> He suggested wrapping the jiffy counter within the
first five minutes of uptime.  Driver writers would be bitten by their bugs,
and fix them right away. Denis described in a later post, <quote who="Denis
Vlasenko">Jiffie wrap at 5 mins is done this way: jiffies is initialized to
-5*60*HZ instead of zero at boot. Accounting code is adjusted e.g. not to
show 400+ days uptime (it subtracts -5*60*HZ from jiffies).  Jiffies wraps to
zero in five minutes. Box should survive with no probs.  If it instead hangs,
oops or otherwise feeling bad, you have a jiffy wrap bug somewhere.</quote></p>

<p>Jorn Engel was intrigued by this, and asked for
the patch. Tim Schmielau replied, <quote who="Tim
Schmielau">A patch for 2.4.20-pre7 (and maybe later) is at <a
href="http://www.physik3.uni-rostock.de/tim/kernel/2.4/">http://www.physik3.uni-rostock.de/tim/kernel/2.4/</a>.
I still need to forward port it to 2.5 (which should be easy).</quote></p>

</section>

<section
  title="Accessing The BitKeeper Tree Without BitKeeper"
  subject="2.5 changeset 1.952.4.2 corrupt in fs/jfs/inode.c"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.0/0720.html"
  posts="178"
  startdate="05 Feb 2003 09:40:21 -0800"
  enddate="19 Feb 2003 07:47:05 -0800"
>
<topic>Patents</topic>
<topic>Real-Time</topic>
<topic>Version Control</topic>

<mention>Matt Reppert</mention>
<mention>Pavel Machek</mention>
<mention>Thomas Molina</mention>
<mention>David Lang</mention>
<mention>Dave Jones</mention>
<mention>Linus Torvalds</mention>

<p>In the course of remarking on some source code, Andrea Arcangeli said,
<quote who="Andrea Arcangeli">I'm using my own GPL software to checkout from
the bitkeeper servers (I don't want to miss the additional information stored
in proprietary form inside the bitkepper database and so I'm extracting it
all and storing it in a open manner locally, in a complete structured form,
they're live classes dumped to disk, not like the monolithic patches in the
cset/ directory where it's not trivial to manage all the metadata to see all
the evolution of a certain file or subsystem by writing a few more lines of
code that loads and use those classes)</quote> Pavel Machek asked if Andrea
would make this little nugget available for all and sundry, but Larry McVoy
of BitMover said:</p>

<quote who="Larry McVoy">

<p>Two things:</p>

<p>

<ul>

<li>We're going to make a CVS archive of Linus tree available, automatically
updated, and we'll rsync it to some public place like kernel.org so you can
get at the data in a way you want with no BK involved at all.</li>

<li>If you beat on our servers with that stupid script, we'll shut down the
http access.  Give us a break already.</li>

</ul>

</p>

</quote>

<p>Pavel, Andrea, and others were happy to hear
about the CVS availability.  Elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.0/0852.html">openbkweb-0.0</a>,
Andrea said:</p>

<quote who="Andrea Arcangeli">

<p>If you're interested in checking out from the bitkeeper servers with an
open source program (GPLv2 actually) you can do/try it now (almost, see
below for the last trouble that I just discussed today on l-k).</p>

<p><a href="http://www.us.kernel.org/pub/linux/kernel/people/andrea/openbkweb/openbkweb-0.0.tar.gz">http://www.us.kernel.org/pub/linux/kernel/people/andrea/openbkweb/openbkweb-0.0.tar.gz</a></p>

<p>I should thanks Aaron Swartz, since I included a GPLv2 html2text python
library for him (google found it) that makes it trivial to extract the
data.   </p>

<p>For example to checkout bk head starting from a 2.5.59 tarball on
kernel.org the command is:</p>

<pre>        mkdir 2.5-pickle
        python bkweb.py -u http://linux.bkbits.net:8080/linux-2.5
--rev=1.947.3.4 -t linux-2.5.59 -c 2.5-pickle</pre>

<p>The number 1.947.3.4 cames from this webpage:</p>

<p><a
href="http://linux.bkbits.net:8080/linux-2.5/ChangeSet@-4w?nav=index.html">http://linux.bkbits.net:8080/linux-2.5/ChangeSet@-4w?nav=index.html</a></p>

<p>you'll see that 1.947.3.4 matches the release number 2.5.59. The number
1.947.3.4 tells bkweb to apply all the changesets from 1.947.3.5 to the
last one. So it's really simple.</p>

<p>bkweb will fetch the data, will save it in the cache directory
(2.5-pickle) and it will apply it to the linux-2.5.59 directory.</p>

<p>Unfortunately it doesn't work reliably when Linus merges old changesets,
the logic will be confused. The current logic thinks all changesets can
be applied in order.</p>

<p>the problem is that to generate bk head it may have to apply also some
changeset in the past, not only between 2.5.59 to the last one in
cronological order. That still needs a solution. One solution could be
also that nobody should send bk pull to Linus anymore, if everybody
sends patches it won't risk to reject anymore ;) but I doubt it's an
acceptable one for everybody, I assume somebody is confortable with it, if
they're using it right now. I also suspect it will be necessary to use a
different numbering and not to use the bk changeset numbers as index.  The
object is to never have to rebuild the database. Currently I don't even
store persistent the ordering (not point to store it yet since it's not a 100%
reliable ordering ;).</p>

<p>The -c parameter tells the directory where to generate the cache. the
cache is truly the whole repository and it contains all the data and
metadata in an open form. To get it just run:</p>

<p>        changeset = self.unpickle(revision)</p>

<p>where revision can be '1.947.3.5'. dir(changeset) will show you what you
can find there, it's a live class after being restored from disk (I put
only data in there to save space on disk but in theory it could contain
software too, not that I think it is useful but..).</p>

<p>the output looks like this</p>

<pre>athlon:~/devel/bkweb> python bkweb.py -u http://linux.bkbits.net:8080/linux-2.5
--rev=1.947.3.4 -t ~/devel/kernel/x -c ~/devel/kernel/2.5-pickle >/tmp/x
Downloading (linux.bkbits.net:8080,/linux-2.5/) ... done.
Found 14 Changeset fallback pages.
Searching rev 1.947.3.4 ... found at CHS 6
Pending 294 revisions
Downloading changeset 1.947.3.5 ... done.
------ Changeset:       1.947.3.5
------ Author:          scott.feldman@intel.com
------ Date:            2003-01-16 23:06:26-05:00
------ Commentary:      [netdrvr e100] udelay a better way</pre>

<p>Bug Fix: TCO workaround after hard reset of controller to wait for TCO
  traffic to settle.  Workaround requires issuing a CU load base command
  after hard reset, followed by a wait for scb and finally a wait for
  TCO traffic bit to clear.  Affects 82559s and above wired to SMBus.</p>

<pre>------ Files:           ['drivers/net/e100/e100_main.c']
patching file drivers/net/e100/e100_main.c
make distclean ... done.
Pending 293 revisions
Downloading changeset 1.947.3.6 ... done.
------ Changeset:       1.947.3.6
------ Author:          scott.feldman@intel.com
------ Date:            2003-01-16 23:38:43-05:00
------ Commentary:      [netdrvr e100] fix TxDescriptor bit setting
------ Files:           ['drivers/net/e100/e100_main.c']
patching file drivers/net/e100/e100_main.c
make distclean ... done.
Pending 292 revisions
Downloading changeset 1.947.3.7 ... done.
------ Changeset:       1.947.3.7
------ Author:          scott.feldman@intel.com
------ Date:            2003-01-16 23:40:31-05:00
------ Commentary:      [netdrvr e100] standardize nic-specific stats
support

* Removed /proc/net/PRO_LAN_Adapters
* Added ethtool GSTATS support
------ Files:           ['drivers/net/e100/Makefile', 'drivers/net/e100/e100.h',
'drivers/net/e100/e100_main.c']
patching file drivers/net/e100/Makefile
patching file drivers/net/e100/e100.h
patching file drivers/net/e100/e100_main.c
[..]</pre>

<p>at the first reject it stops and writes to stdout (/tmp/x in my example)
the patch that rejected so you can analyze it. I think it never completed
successfully yet but if it works correctly it should just exit with
nothing in stdout (with stdout I really mean fd 1, not stderr of
course).</p>

<p>So if you run the same command twice the second time it will find
everything in the cache obviously, and the cache is trivial to
manipulate using simple python scripts, so you can automate searches on
files in the changesets or whatever (including feeding the data into CVS
or whatever) So backing up the cache effectively you save the whole
bitkeeper repository (only the main branch). Converting the cache to
something python indipendent is trivial too, I wrote this thing fast
so this was the easiest way.</p>

<p>My main object is to give access to data and metadata of the changesets
generated during kernel development in a very manageable form to
everybody, reliably, without proprietary licence restrictions, and to store it
somewhere (possibly mirrored) in a open standard. This had to be the
case since the first place IMHO. the cset/ directory doesn't allow
anything like that in terms of regenerating the whole tree or managing
the metadata, and it's even less reliable than bkweb. The fact I've to
fetch from the web and not from the cset/ directories on the mirrors
should tell the whole story about the completeness of the cset/
directory. cset/ is better than nothing but it doesn't obviate the need
of bkweb or bk.</p>

<p>I wrote the first line of this program yesterday (it's not that I've
that much time for this thing but eventually I wanted to checkout
through the bitkeeper database too), clearly it's not well tested and I
don't have much time for it.</p>

<p>I guess the bitkeeper network protocol could be also implemented on the
longer run, it should be much faster to fetch all the database that way,
but clearly decoding the html is been much easier and it is supposed to
run in background for me, so I don't care about the checkout speed at
the moment.</p>

</quote>

<p>Dave Jones pointed out that the day before, i.e. the day Andrea wrote
the first line of the program, was the anniversary of Linus Torvalds'
announcement that he would use BitKeeper in kernel development. Dave gave a
<a href="http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.0/0989.html">link
to that post</a>.</p>

<p>Elsewhere, Larry threatened to cut off HTTP service on the server, if people
used Andrea's script to access the BitKeeper repository. He said the script used
a thousand times the bandwidth required by normal BitKeeper accesses, and that
he couldn't afford to pay for that.</p>

<p>Jamie Lokier pointed out to Andrea that it would be a violation of the
BitKeeper license to reverse-engineer the protocol in order to create a free
alternative. Rik van Riel pointed out:</p>

<quote who="Rik van Riel">

<p>Reverse engineering the protocol is probably allowed, as long as you
don't create an alternative implementation yourself.</p>

<p>I can't see how Larry's license would stop people from writing that
alternative implementation, as long as those people don't use bitkeeper
themselves.</p>

<p>This is mostly because the license doesn't forbid creating an alternative
to bitkeeper (I doubt Larry would even want that, even if the law granted
that much power).  All it does is not grant the free use of bitkeeper to
people working on an alternative.</p>

</quote>

<p>But Larry said:</p>

<quote who="Larry McVoy">

<p>We'd view reverse engineering the protocol as falling under the "you're
working on a competing implementation".</p>

<p>The general message is that you are free to use BK but you aren't free
to use BK in any way which could hurt the business which produces BK.</p>

</quote>

<p>Adrian Bunk replied, <quote who="Adrian Bunk">If a clause in a license
forbids a licensee to use or decompile the program to gather the information
needed for independendly developed programs to interoperate with this
program current German copyright law says that this clause is void in
Germany.</quote> Larry said:</p>

<quote who="Larry McVoy">

<p>Please show me the case law which says we have to give you our technology,
for free, and we do not have the right to say "no way unless you agree to
not reverse engineer".</p>

<p>Lots of law says "if you paid for this product, the seller may not impose
the following restrictions" with reverse engineering being amongst those.</p>

<p>I do not have any data which says that the same law applies in the case of
a no charge copy of the software, do you?</p>

</quote>

<p>Jamie said:</p>

<quote who="Jamie Lokier">

<p>Correct.  You do not have to give your software for free.  (In
European patent terminology it is not called technology, by the way).</p>

<p>Correct.  You have the right to say "no way unless you agree not to
reverse engineer".</p>

</quote>

<p>But he added:</p>

<quote who="Jamie Lokier">

<p>Someone may copy and use your software _without_ agreeing to the
license.</p>

<p>Then you can sue them for breach of copyright.</p>

<p>You will win, unless their copying was fair use.</p>

<p>Reverse engineering for interoperability is a form of fair use in many
countries, including Germany and the UK.</p>

<p>Draw your own conclusion :)</p>

</quote>

<p>A couple posts down the line, David Lang said that all of this analysis
applied only to legally purchased software. Since Larry allowed free
use of BitKeeper, David said, he had the right to set the terms of that
use. Alan Cox replied, <quote who="Alan Cox">Most of the world allows
reverse engineering for compatibility, full stop. Often not for cloning,
so writing bk extracting tools is very different to cloning BK.</quote>
Larry replied, <quote who="Larry McVoy">all of those reverse engineering
clauses are dependent on you having a legal copy of the software, full stop.
You can't get a legal copy if what you want to do, now or in the future,
is to reverse engineer the software.</quote> He added, <quote who="Larry
McVoy">If it turns out that people want to behave like little children and not
play nice, no problem, we'll promptly fork the tree and you are stuck with
whatever version you had at the point you decided to not play nice.</quote>
On the legal question, Alan replied, <quote who="Alan Cox">Go talk to an
EU lawyer.  These laws exist to stop people locking down formats and its
one of the reasons you actually have things like open office.</quote></p>

<p>Elsewhere, Thomas Molina suggested that everyone just do the right thing and
adhere to the spirit of Larry's license, without trying to find loopholes. Jamie
explained:</p>

<quote who="Jamie Lokier">

<p>Larry's touched an open source nerve by creating what is in effect a closed
protocol, and getting it into the heart of the kernel development process.</p>

<p>Blame has nothing to do with it.  We _greatly_ respect Larry's
accomplishments in this area (and others), and as for the kernel development
process we might just as well say it's Linus fault for choosing to use
featureful Word 7 when unusable Abiword 0.01 was available :)</p>

<p>Quite a lot of kernel trees are maintained using Bitkeeper now, btw,
which is testament to how well that vision is implemented.</p>

<p>It would be very *impolite* to ignore Larry's license and use the software
he developed against his express wishes.  (It does _not_ give me a good
feeling even to talk about it).</p>

<p>On the other hand, it's widely accepted that making a program which
_interoperates_ with someone elses closed source program is socially
acceptable, and often desirable.  This is so widely understood that it's
expressly written into copyright law in virtually every country which has
copyright law.</p>

<p>Thats how important interoperation is considered to be - it's not just
a geek thing, it's a _principle_ - something which is widely held to be the
right thing to do for the sake of the big picture.</p>

<p>That's why Larry gets so much flak.  He is generous with a caveat which
touches a nerve.  Conditional love.  (Slippery slope... the GPL is like this
too :)</p>

<p>He gets flak precisely _because_ his software is so good that so many
people choose to use it, and accept the attached strings.  (It's a compliment,
see?)</p>

<p>Imagine if all your friends started talking a different language, called
Binglish say.  You'd want to talk to them in that language so you could
socialise and work with them.  Now if they told you you must sign a contract
and join a private society, or pay significant cash, otherwise you couldn't
talk the language?  If it were a few people you'd ignore them, but if it
seemed like all the really powerful people who affect your life would just
ignore you unless you talked it, you'd be pissed off.  You'd feel the playing
field had become unlevel and needed correction.  You'd be tempted to either
(1) cave in and pay or join the private society, (2) learn the language and
use it anyway.</p>

<p>In other words, we see shades of glass ceiling for non-Bitkeeper users.
Not intentionally, it is simply an effect that occurs when something good
is limited to a subset of people - whether by choice or not.</p>

<p>And nobody thinks glass ceilings should be sustained, do they?  Do they?</p>

<p>Now, if you accept that writing a program to communicate with users who do
their daily work using the BitKeeper product - in their choice of language -
is a good idea.  How are you going to do that?  Larry's created a situation
where the only way to do that is to analyse his software against his express
wishes.</p>

<p>Which is more important?  Being polite to Larry, or being able to write
programs that communicate with important people in their preferred language -
levelling the playing field somewhat?</p>

<p>It's harsh reality, but if you create something that benefits many people
and attach conditions to your generosity, you'll get a lot of complaints.
It's true of the GPL, it's true of the BKL, it's true of the World Bank
etc.</p>

<p>Sometimes those complaints are based on sound principles.  Sometimes
they're not.</p>

<p>You decide.</p>

</quote>

<p>Andrea liked the 'Binglish' comparison, but said:</p>

<quote who="Andrea Arcangeli">

<p>my short term concern is not to speak Binglish but just to translate
from Binglish to English. We need access to the data with an open protocol
and to backup the data in a open format. so we can use it too. And Larry is
now going to provide the data in the open, IMHO only if that didn't happen
we had to research into the possibility of legally reverse enegeneering the
bitkeeper protocol. the fact he is now providing the data out in the open
avoids us to waste time.</p>

<p>After we can reach the data we can use any version control system we want
to manage it, I'm going to write MORE STUPID scripts to do that.  I'm been
told of several giga archives with dozen thousand revisions under subversion
for istance (I know Al Viro blamed subversion code but if the design it's
good it may be a good start).  subversion may not have all the features of
bitkeeper but we can certainly add them over time, the only thing it matters
to me is that we get rid of being forced to use a proprietary protocol to
fetch the data.</p>

<p>The kernel CVS in more than enough for my/our needs and I thank Larry for
seeing it was necessary to allow the kernel data to be open. Now there's
no reason to argue anymore with Larry or Linus, they can choose what they
can legally use and we can choose what we can legally use and what we find
more productive in the long run. I really believe in open protocols and open
source software being superior and a necessary thing in the long run, it's
not that I advocate people to use open source products and then I change my
mind and I run proprietary apps to develop the kernel (I don't put a smile
here because clearly this isn't an obvious thought).</p>

</quote>

<p>Elsewhere, Larry said:</p>

<quote who="Larry McVoy">

<p>the open source community has a choice.  We've granted people the free
use of our tools, unlike any other company.  If the response is going to be
"hey, cool, now it's even easier to copy these tools" then (a) we're idiots
and (b) we're not going to follow that up with more free services.</p>

<p>Make up your mind as to what you want as a community and let me know.
I know what you want is a GPLed BK.  That's not on the table.  You don't
have one and you can't produce one any time soon, it would take years, ask
the Subversion guys or the arch guys or anyone you like, this isn't a matter
of some perl scripts and a weekend hack.  So until someone produces a viable
alternative, you can have or not have BK to use, depending on your behaviour.
I'd love to reach a compromise which leaves all parties happy.  You want
free access to the data in real time, I want you to leave us a chance to grow
our business.  If you want to have access to the data in CVS and you want to
be free to go clone BK and you want to be free to go use BK without charge,
that's asking way too much.</p>

<p>One answer, maybe the only viable answer, is to use patents to protect
our technology.  To date we've been very sparing in where we have done that,
there are substantial chunks of BK without patent protection.  Some leaders
in the kernel group have privately told me to not ship BK without patent
protection.  That slows down how fast you get a better BK, it's not something
we can just wave our hands and make be so, it's lots of time and money.
A single patent costs more than enough bandwidth to keep all of you happy
for a year.  Whatever.  If you guys can't come to some sort of consensus,
then patents are the route we'll choose, even German law respects patents.</p>

</quote>

<p>Alan pointed out that it was very difficult to define "community" such
that it could be known whether it agreed to Larry's demands. Larry said he'd
be happy if Alan himself agreed to represent community interests; but Alan
did not reply. Nicolas Pitre said, <quote who="Nicolas Pitre">Larry, what
you ask is impossible.  This community isn't hierarchized and is unlikely
to form a single opinion on anything like corporate politics.  No one can
be authoritative of everybody else's opinion.</quote></p>

<p>Elsewhere, Gael Le Mignot pointed out that European law did not recognize
software patents, for the same reason they allowed fair use and reverse
engineering.</p>

<p>Elsewhere, John Bradford said, <quote who="John Bradford">From reading this
thread, and the similar ones that have preceeded it, it seems to me that most
people are not exactly bothered about using the SCM functionality of BitKeeper,
but just want to get the up-to-the-second changes to Linus' tree.</quote>
Andrew Morton agreed with this, and pointed out, <quote who="Andrew Morton">The
latest diff against the last-released kernel is always available at <a
href="http://www.kernel.org/pub/linux/kernel/v2.5/testing/cset/">http://www.kernel.org/pub/linux/kernel/v2.5/testing/cset/</a>.</quote>
But a couple posts later, Matt Reppert pointed out that this diff was made
only once a day. John asked:</p>

<quote who="John Bradford">

<p>Why can't we have a mailing list that sends out a diff for each
update?</p>

<p>That way, all you need is:</p>

<pre>:0
* ^X-Mailing-List: up-to-the-second-linux-patches
| /usr/local/bin/apply_patches</pre>

<p>and</p>

<pre>#!/bin/sh
cd /usr/src/linux-current
cat | patch -p1
</pre>

</quote>

<p>Larry said, <quote who="Larry McVoy">You can, just get Linus to add a
trigger to his tree to do so.</quote> Alan replied, <quote who="Alan Cox">He
did, the list exists 8)</quote> John said:</p>

<quote who="John Bradford">

<p>I just wanted to confirm that bk-commit-head is actually:</p>

<p>

<ol>

<li>Complete</li>
<li>Realtime</li>

</ol>

</p>

<p>If so, anybody can track Linus' tree, in real time, without using
BitKeeper.</p>

<p>Therefore, mailing lists for every single Linux-related BK repository would
allow anybody to track all of the trees in real time, without using BK.</p>

</quote>

<p>David Woodhouse said, regarding the completeness of the list:</p>

<quote who="David Woodhouse">

<p>It should be complete -- but bear in mind that you may receive the mails
in a different order to the order in which they were sent, so just
applying them from a mail filter isn't necessarily sensible.</p>

<p>Also note that the dates on them are the date of the changeset itself,
not the date of application to Linus' tree (or indeed the date of the
cron job which creates the mail).</p>

</quote>

<p>And regarding completeness:</p>

<quote who="David Woodhouse">

<p>Almost -- it's run from an hourly cron job, which is more 'real time'
than Linus actually pushing from his own box to master.kernel.org and quite
enough of a demand on resources already.</p>

<p>It's not done with triggers on Linus' tree because I suspect that would
actually make Linus _wait_ while the mail is generated for every changeset
he's pushing to master.kernel.org. I do it with a cron job which pulls
from Linus' tree to another, and I don't do it with triggers in my own tree
because I suspect that would keep Linus' tree locked while it generated the
mails too. I do need to investigate possible improvements to the way it's
generated, though.</p>

</quote>

</section>

<section
  title="OSS Soundblaster Driver Rewrite"
  subject="OSS Sound Blaster sb_card.c rewrite (PnP, module options, etc)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.0/0908.html"
  posts="9"
  startdate="06 Feb 2003 00:37:25 -0800"
  enddate="15 Feb 2003 19:26:14 -0800"
>
<topic>Sound: OSS</topic>
<topic>Sound: SoundBlaster</topic>

<mention>Adam Belay</mention>
<mention>Shawn Starr</mention>

<p>Paul Laufer announced, <quote who="Paul Laufer">This is a rewrite of
sound/oss/sb_card.c which handles detection of Soundblaster ISA cards and
clones. This rewrite uses the new PnP and module APIs.</quote> He asked
anyone owning ISA Soundblaster and clones to test his patches and provide
feedback. Then He and Shawn Starr pounded on them, with help from Adam Belay,
chasing related patches and updating the linux-kernel list as to progress.</p>

</section>

<section
  title="Linux 2.5.60 Released; POSIX Thread Handling; UML Naming Conflict"
  subject="Linux 2.5.60"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.1/0404.html"
  posts="39"
  startdate="10 Feb 2003 11:08:28 -0800"
  enddate="14 Feb 2003 08:56:19 -0800"
>
<topic>Disks: SCSI</topic>
<topic>POSIX</topic>
<topic>Power Management: ACPI</topic>
<topic>Sound: ALSA</topic>
<topic>USB</topic>
<topic>User-Mode Linux</topic>

<mention>Roland McGrath</mention>
<mention>Andrew Morton</mention>

<p>Linus Torvalds announced <a
href="http://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.60">2.5.60</a>:</p>

<quote who="Linus Torvalds">

<p>Ok, this contains a lot of patches all over the map, since there were
two weeks of merging to be done (and the merging took almost a week).</p>

<p>Networking, USB, SCSI, ALSA, ACPI, and various architecture updates (UML,
Sparc, ia64, ppc64 and ARM).</p>

<p>And obviously part of the merge from Andrew Morton.</p>

<p>And Roland McGrath has been fixing POSIX thread signal handling, and that
in turn ended up causing a lot of downstream fixes in affected areas.</p>

</quote>

<p>Regarding POSIX thread signal handling, Russell King said there was yet more
to come. He explained:</p>

<quote who="Russell King">

<p>Currently, my "hack" to get ARM working is as follows, and is not the best
thing to view on a full stomach.</p>

<p>Generalising the signal handling might have made sense, but this amount
of duplication _just_ to be able to handle non-hardware breakpoints is
getting rather rediculous.</p>

<p>I will be looking into the possibility of carving up the generic
signal handling into a saner structure so we don't have this mess.</p>

<p>Obviously, this patch is not for applying. 8)</p>

</quote>

<p>Linus voided the contents of his stomach, saying, <quote who="Linus
Torvalds">Oh wow. Yeah, this needs to be fixed some way, by teaching the
regular signal handling about it.</quote> He approved of Russell's general
direction, and David S. Miller said, <quote who="David S. Miller">I already
did some of this and I'll push to Linus right now.  It's enough for Sparc64,
doing a few extensions to the hook mechanism I created shouldn't be hard
for what the m68k and ARM folks are doing.</quote></p>

<p>Elsewhere, Oleg Drokin pointed out that one of the UML patches created a
naming conflict. He said, <quote who="Oleg Drokin">there is a conflict between
in-kernel sigprocmask() and glibc's sigprocmask() (that UML uses to manage
signal delivery to right thread).</quote> To solve this, he asked, <quote
who="Oleg Drokin">Can we please change the name of in-kernel's sigprocmask()
to avoid name clash? ;) Jeff Dike</quote> [User-Mode Linux maintainer] <quote
who="Oleg Drokin">is also seem to support idea of renaming the offending
function.</quote> But Linus said, <quote who="Linus Torvalds">No. I'm not
goinmg to start caring about user-land naming in-kernel, that way is a slippery
slope. This is firmly a UML problem.</quote> Eric W. Biederman asked:</p>

<quote who="Eric W. Biederman">

<p>Just for throwing out suggestions, UML can easily avoid using glibc
altogether as it is already intimate with the system call layer.</p>

<p>Or it can use the linker to play games with symbol names to move the
kernel off into it's own separate name space.</p>

<p>This sounds like a good opportunity to figure out which makes most sense
and future proof UML.</p>

</quote>

<p>Jeff Dike replied that avoiding glibc would not be "easy" at all. He added,
<quote who="Jeff Dike">And how is UML intimate with the system calls, anyway?
It is no more intimate with the host's system calls than any other app.</quote>
Regarding the idea of using the linker to handle symbol magic, he said it
might work, but he wasn't enough of a linker expert to know for sure at that
point. He concluded, <quote who="Jeff Dike">My current thinking is that
I will bundle all the userspace code into a single object which then gets
linked (-r IIRC) against libc.  That should resolve all libc references,
at which point I can link it into the kernel, and I think there won't be
any conflicts.</quote></p>

<p>Jeff tried to implement this method, but ran into problems. He explained
in a subsequent post:</p>

<quote who="Jeff Dike">

This falls apart for a couple of reasons -

<p>

<ul>

<li>I get a duplicate definition of sscanf which I can't get rid of (libc
vs. lib/vsprintf.c)</li>

<li>More seriously, this assumes a static link and breaks the dynamic build
of UML</li>

</ul>

</p>

<p>In order for this to work, references from userspace.o which can be resolved
in libc must somehow survive the link against the kernel code unresolved.
That is, references to things not in libc must be resolved from kernel code
and references to things in libc must be resolved from libc even if there is
a symbol with the same name in the kernel.  I don't see any way of doing
this.</p>

<p>The only other solution I see is to rename the kernel sigprocmask.  Oleg Drokin
has done with this with a</p>

<p>-Dsigprocmask=__sigprocmask</p>

<p>on kernel code compiles, and I've done it at link time with objcopy.  This
sucks, but it does have the great advantage that it actually works.</p>

<p>Anyway, if there's something better, I really want to know about it.</p>

</quote>

</section>

<section
  title="S4bios Support"
  subject="S4bios support"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.1/1042.html"
  posts="2"
  startdate="11 Feb 2003 10:54:06 -0800"
  enddate="13 Feb 2003 07:41:39 -0800"
>
<topic>Software Suspend</topic>

<p>Pavel Machek submitted a patch to support S4bios. He said, <quote who="Pavel
Machek">S4bios is easier to use [no possibility to boot into wrong kernel;
machine actually indicates it is sleeping, not powered down], has nicer
progress bars, etc... I'd like to see it in. Please apply.</quote> Someone
asked privately how S4bios compared to S4. Did the kernel still dump its core
into swap? Pavel replied on the list, <quote who="Pavel Machek">Yes, kernel
suspends into swap space. See documentation/swsusp.txt for details... You
might want to add some details ;-).</quote></p>

</section>

<section
  title="Promise Spits On Free Software"
  subject="Promise SATA chips"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.1/0858.html"
  posts="10"
  startdate="12 Feb 2003 04:33:11 -0800"
  enddate="14 Feb 2003 00:39:37 -0800"
>
<topic>PCI</topic>
<topic>Serial ATA</topic>

<p>Mons Rullgord asked, <quote who="Mons Rullgord">Are there any drivers
being developed for Promise's SATA chips (e.g. the pdc20275 with PCI id
0x3375)?</quote> Andre Hedrick replied, <quote who="Andre Hedrick">NOPE !!
Neither Promise or I can agree to a contract to develop them.  Use Silicon
Image products.</quote> Mons asked what the problem was, and Andre replied,
<quote who="Andre Hedrick">The problem is they want an entire list of every
piece of intellectual property I have or own.  This is a means to claim
anything else I do is derived off their IP and they own it.  This will
not happen.  Some other poor bastard can sign their NDA's to write their
drivers.</quote></p>

</section>

<section
  title="Status Of IPv6"
  subject="IPv6 in the vanilla tree?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.1/1191.html"
  posts="4"
  startdate="13 Feb 2003 05:57:02 -0800"
  enddate="13 Feb 2003 12:00:09 -0800"
>
<topic>Networking</topic>

<p>Robert L. Harris asked, <quote who="Robert L. Harris">what's the state of
IPv6 in the 2.4.X (20?) kernel trees?  Will it be stable enough in 2.4.21/22
that it won't require usagi patches or will that be in 2.6, etc?</quote>
Hideaki YOSHIFUJI replied, <quote who="Hideaki YOSHIFUJI">2.4.21 will come
with (most of) our changes which are already in 2.5.xx series.  Please note
that we'll continue making patches for 2.5.xx and 2.4.xx.</quote> Christoph
Hellwig asked, <quote who="Christoph Hellwig">Btw, is there any chance you
could make snapshot patches for 2.5 available as you do for 2.4?  Given the
number of change in the 2.4 tree it might be interesting what's still missing
for 2.5.</quote> David S. Miller replied:</p>

<quote who="David S. Miller">

<p>ipv6 should be basically identical between 2.4.x and 2.5.x</p>

<p>The only difference is IPSEC, and even for that the ipv6 portions are
still only in their most basic stages.</p>

<p>I bet that all their 2.4.x patches apply pretty cleanly to 2.5.x</p>

</quote>

</section>

<section
  title="3Com 3cr990 Driver; BitKeeper Argument"
  subject="3Com 3cr990 driver release"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.1/1398.html"
  posts="18"
  startdate="13 Feb 2003 23:50:02 -0800"
  enddate="15 Feb 2003 03:34:38 -0800"
>
<topic>Networking</topic>
<topic>Patents</topic>
<topic>Version Control</topic>

<mention>Larry McVoy</mention>
<mention>Jeff Garzik</mention>
<mention>Linus Torvalds</mention>

<p>David Dillow announced:</p>

<quote who="David Dillow">

<p>Finally, after too many delays, I am pleased to announce the release of
my driver for 3Com's 3cr990 family of network cards.</p>

<p>This initial release is endian clean, tested on x86 and sparc64, and
does</p>

<p>

<ul>

<li>NAPI</li>
<li>Zerocopy Tx</li>
<li>TCP segmentation</li>
<li>Hardware VLAN accel</li>

</ul>

</p>

<p>It does *not* do IPSEC crypto offload as of yet. I have a version for the
2.4 series of kernels, but it is an ugly, ugly kludge, and would be shot
if seen in public. I will be working on integrating the hardware with the
IPSEC support in 2.5.x.</p>

<p>There are a few issues with the firmware -- DMA to a 2 byte aligned
address hangs the firmware, so we cannot easily align the IP header, and the
firmware will always strip the VLAN tags on packet reception, regardless of
our desires. I hope to work with 3Com to resolve these issues.</p>

<p>The code is available via BK at<br />
<a href="http://typhoon.bkbits.net/typhoon-2.4">http://typhoon.bkbits.net/typhoon-2.4</a><br />
<a href="http://typhoon.bkbits.net/typhoon-2.5">http://typhoon.bkbits.net/typhoon-2.5</a></p>

</quote>

<p>Jeff Garzik was happy to see this, and put the patches in line to get into
2.4 and 2.5.</p>

<p>Alan Cox also said to David, <quote who="Alan Cox">Would you care to make
the patches available in a format those of us who work on open source version
control systems can use. Right now Mr McVoy prohibits me from reviewing
your patches.</quote> David sent him some compressed attachements, and Larry
McVoy complained that he didn't remember prohibiting Alan from anything of
the kind. Alan replied:</p>

<quote who="Alan Cox">

<p>Since I work for a company who works on competing version control products
I'm not allowed to use bitkeeper. Since his patches are only in bitkeeper
format I can't read them.</p>

<p>I'd like to read them so I asked for them in a open format.</p>

</quote>

<p>Larry said that other employees at Red Hat used BitKeeper, and BitMover made
no fuss about it, and Alan replied:</p>

<quote who="Alan Cox">

<p>Since Red Hat works on CVS I wonder if they are breaking the license or
not. However thats not relevant right now. If I get stuff in .doc format that
I can't read I ask people to resend it in a format I can, ditto bitkeeper
or any other randomly weird VC file.</p>

<p>And no I don't want to use bitkeeper any more, your ever changing licenses
and removals of more and more rights have reminded me why many proprietary
vendors just cannot be trusted and why format lockin is so dangerous.</p>

<p>You are turning a simple "can I have that in a format I can read" into
yet another epic bitkeeper flame war.</p>

</quote>

<p>Larry accused Alan of spreading FUD, and pointed out that Red Hat had
its own hands dirty already, by getting patents. He said he wanted people
to stop complaining and giving him crap all the time. Tomas Szepe replied,
<quote who="Tomas Szepe">Look, I don't want this to sound harsh, but what
did you expect?  What you have arranged for with Linus (As one of the few
symbols of the open source world) using BK (As proprietary software with
lots of strings attached) is so controversial that you must have expected
to get A LOT of shit thrown at you in the process, regardless of how much
good/evil your work would have caused.</quote> And Henning P. Schmiedehausen
also said to Larry:</p>

<quote who="Henning P. Schmiedehausen">

<p>Linus stated in public that he was/is unhappy with CVS. Without Bitkeeper
he might use Subversion today. But by using Bitkeeper he made it possible
that you and your company started using him as your posterboy for the "SCM
good enough for Linus Torvalds to use". This is IMHO not correct. BK is just
"the first SCM which came along and was good enough for Linus Torvalds to
use it".</p>

<p>I do remember Linus saying that he wants to try out BitKeeper for the
2.5 development tree and if it does not work out, switch to something else
in the 2.6, 2.7... cycle.</p>

<p>The rift that the whole BitKeeper/BitMover stuff has opened in the kernel
developer community IMHO justifies such a step forward . I'd like to see SVN
to be used as an alternative tool. Not because it is better (it probably is
not, but I haven't had a chance to try out BK because I don't qualify for the
free license) than BK but because it has no strings attached to its usage.</p>

</quote>

</section>

<section
  title="I/O Scheduler Enhancements; ReiserFS Enhancements"
  subject="2.5.61-mm1"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.1/1754.html"
  posts="11"
  startdate="14 Feb 2003 23:13:56 -0800"
  enddate="17 Feb 2003 14:44:03 -0800"
>
<topic>FS: ReiserFS</topic>

<mention>Ed Tomlinson</mention>

<p>Andrew Morton announced:</p>

<quote who="Andrew Morton">

<p><a
href="http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.61/2.5.61-mm1/">http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.61/2.5.61-mm1/</a></p>

<p>

<ul>

<li>Jens has fixed the request queue aliasing problem and we are no longer
able to break the IO scheduler.  This was preventing the OSDL team from running
dbt2 against recent kernels, so hopefully that is all fixed up now.</li>

<li>The anticipatory scheduler is performing well.  I've included that
now.</li>

<li>Also included the CFQ I/O scheduler.  The kernel defaults to using
the deadline/anticipatory scheduler.  Select CFQ by adding "elevator=cfq"
to the kernel command line.  Do "dmesg|grep elevator" to see which one you
are using.</li>

<li>

<p>There is an updated version of the reiserfs_file_write patch here.  This
patch addresses CPU efficiency when performing appending writes (ie: the
usual sort).</p>

<p>To do this, it requires that userspace pass "large" amounts of data into
the write() system call.  So the filesystem returns a value of 128k in the
stat.st_blksize field from the stat(2) system call.  In the hope that some
applications are using that kernel-provided hint.</p>

<p>Turns out that some parts of KDE (kmail, at least) were indeed using this
hint, and it triggers a nasty bug in (at least) kmail: it is reading the
same 128k of the file again and again and again.  It runs like a dog.
Ed Tomlinson upgraded his KDE/kmail version and this problem went away.</p>

<p>So that is something for reiserfs users to keep an eye on.</p>

</li>

</ul>

</p>

</quote>

<p>Cliff White from the OSD2 team said, regarding the trouble running dbt2
against recent kernels:</p>

<quote who="Cliff White">

<p>Thanks again for doing all this, really appreciate it.</p>

<p>Well, we're closer....</p>

<p>The showstopper for us is still the flock() issue. We have Mathew Wilcox's
patch from 2.5.52, which we have been applying to all recent kernels. The
patch is in PLM as patch id # 1061. The issue is in BugMe as bug #94 .</p>

<p>Without proper flock() we cannot stop and restart the database, which
means we can't run the test.  We've tried applying Wilcox's flock patch to
-mm1, but it's doesn't go clean, and frankly we're not smart enough to do
the merge by hand -  lock code scares us.</p>

<p>We just tested 2.5.61 vanilla, and 2.5.61-mm1.</p>

<p>The patch applies cleanly to stock 2.5.61, and we can cycle the database.
We can't run dbt2 on stock 2.5.61, because of the scheduler bug.  We believe
the scheduler fix in -mm1 will be the ticket, but we can't try it because
of the flock() issue. So we're wedged.  Can someone smarter than us maybe
do a merge?</p>

</quote>

</section>

<section
  title="High-Speed PC Serial Ports"
  subject="[PATCH][CFT] High-speed PC serial ports."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.2/0059.html"
  posts="1"
  startdate="16 Feb 2003 05:55:01 -0800"
>

<p>David Woodhouse announced:</p>

<quote who="David Woodhouse">

<p>Most PC superio chips have supported up to 460800 or 921600 baud for
years.</p>

<p>This patch adds kernel support for the two most common ways of achieving
this -- the SMSC chips' "magic multipliers" where a value of 0x8001 or 0x8002
as divisor actually means _multiply_ by 2 or 4 respectively, and the National
Semiconductor version where you can set the baud_base to any of three values,
but whenever you touch the original 16550-compatible divisor registers,
it reverts baud_base to 115200 for compatibility.</p>

<p>Although both of these modes are designed for
backward-compatibility, there's _also_ a bit in the superio chip
which can disable them and force _complete_ 16550A compatibility. If
your BIOS doesn't enable these, you may need Shsmod &lt;<a
href="http://www.devdrv.com/shsmod/">http://www.devdrv.com/shsmod/</a>&gt;
to do so for you.</p>

<p>If you have an SMSC superio chip, the driver can't autodetect this --
you need the (also-attached) patch to setserial, and to run 'setserial
/dev/ttySx magic_multiplier' for each port. This will make it support baud
rates of up to 460800.</p>

<p>If you have a NatSemi chip and it's set to enable high-speed before the
8250 driver probes it, then its high-speed capability should be automatically
detected and you'll get up to 921600 baud from it without having to do
anything special. If your BIOS doesn't enable the high-speed mode, then
after using Shsmod to do so, run 'setserial /dev/ttyS0 autoconfig'.</p>

<p>I've also had a hacked-up superio probe enabling high-speed mode on
these ports automatically so you can boot with 'console=ttyS0,460800' etc.,
but that's an ugly hack and adds a _third_ set of superio probe code to the
kernel, so doing that can come later. Eventually we can do the superio probe
centrally and remove it from the parport, IrDA, SH board setup, and other
code where it's currently duplicated. That's probably a 2.7 task though.</p>

</quote>

</section>

<section
  title="IPv6 IPsec Support"
  subject="[PATCH] IPv6 IPsec support"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.2/0788.html"
  posts="6"
  startdate="18 Feb 2003 20:48:50 -0800"
  enddate="18 Feb 2003 21:58:04 -0800"
>
<topic>Networking</topic>

<mention>Hideaki YOSHIFUJI</mention>
<mention>Alexey Kuznetsov</mention>

<p>Kazunori Miyazawa announced:</p>

<quote who="Kazunori Miyazawa">

<p>This is a patch to support IPv6 IPsec on linux-2.5.62.  It work well.</p>

<p>I assume that skb-&gt;h.raw points properly on the skb in both inbound
and outbound.</p>

<p>IPv6 has some extension headers. It is not as simple as IPv4 options. AH
however needs to fill zero on mutable options. skb-&gt;h.raw is used as an
end of processing mutable options.</p>

<p>There is crude trick at IPsec on Neighbor Discovery, because kernel needs
dst to do IPsec but there is no dst at doing ND.</p>

<p>I have no idea to avoid this issue except making dummy route at this
moment.</p>

</quote>

<p>David S. Miller thanked Kazunori for his work, and promised to
review the patch with Alexey Kuznetsov. David added, <quote who="David
S. Miller">I must ask, have you been working together with Kunihiro Ishiguro
&lt;kunihiro@ipinfusion.com&gt;?  Or are you seperately doing the same work?
It would be great if these two teams worked together.  There is no reason to
duplicate effort.  All people doing work will get full credit.  The only thing
necessary is to send me patches to add credits to the comments.  So nobody
needs to fear that their contribution will go unnoticed.</quote> Hideaki
YOSHIFUJI replied that unfortunately, the two were working separately.
Kazunori and Mitsuru KANDA confirmed this, and the two groups agreed to
work together.</p>

</section>

</kc>

