<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="17" date="06 May 1999 00:00:00 -0800" />

<stats posts="849" size="3183" contrib="375" multiples="149" lastweek="127">

<person posts="42" size="113" who=" (Alan Cox)" />
<person posts="26" size="80" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="21" size="104" who="Andrea Arcangeli " />
<person posts="14" size="112" who="Y2K " />
<person posts="14" size="59" who="&quot;Richard B. Johnson&quot; " />
<person posts="14" size="57" who="&quot;Albert D. Cahalan&quot; " />
<person posts="13" size="44" who="George Bonser " />
<person posts="12" size="33" who="David Miller " />
<person posts="11" size="43" who="Riley Williams " />
<person posts="11" size="34" who="Greg Lindahl " />
<person posts="9" size="33" who="Christoph Lameter " />
<person posts="9" size="29" who="Andi Kleen " />
<person posts="9" size="23" who="Chris Wedgwood " />
<person posts="8" size="66" who="Jan Kara " />
<person posts="8" size="27" who="Chuck Lever " />
<person posts="8" size="24" who="Ralf Baechle " />
<person posts="7" size="41" who="&quot;David L. Parsley (lkml account)&quot; " />
<person posts="7" size="24" who="Ingo Molnar " />
<person posts="7" size="22" who="Trond Myklebust " />
<person posts="7" size="21" who="Alex Buell " />
<person posts="6" size="71" who="Alexander Viro " />
<person posts="6" size="38" who=" (Harvey J. Stein)" />
<person posts="6" size="22" who=" (Ramakrishna K)" />
<person posts="6" size="19" who="Alex Belits " />
<person posts="6" size="16" who="Philip Blundell " />
<person posts="6" size="16" who="Dan Hollis " />
<person posts="6" size="14" who="Matt Ranney " />
<person posts="5" size="17" who="&quot;H. Peter Anvin&quot; " />
<person posts="5" size="16" who="Tony Gale " />
<person posts="5" size="15" who="Dominik Kubla " />
<person posts="5" size="15" who=" (Guest section DW)" />
<person posts="5" size="15" who="Olaf Titz " />
<person posts="5" size="14" who="&quot;Khimenko Victor&quot; " />
<person posts="5" size="13" who="John Fulmer " />
<person posts="5" size="13" who=" (Miquel van Smoorenburg)" />
<person posts="4" size="15" who="Frank Bernard " />
<person posts="4" size="14" who="Dean Gaudet " />
<person posts="4" size="14" who="Robert Siemer " />
<person posts="4" size="13" who="David Luyer " />
<person posts="4" size="13" who="Lenart Gabor " />
<person posts="4" size="13" who=" (Linus Torvalds)" />
<person posts="4" size="12" who="Simon Richter " />
<person posts="4" size="11" who="&quot;Raj, Ashok&quot; " />
<person posts="4" size="11" who="Andreas Schwab " />
<person posts="4" size="11" who="Richard Gooch " />
<person posts="4" size="11" who="Mikael Djurfeldt " />
<person posts="4" size="10" who="Matthew Kirkwood " />
<person posts="4" size="9" who="Bradley M Keryan " />
<person posts="3" size="26" who="el mono " />
<person posts="3" size="26" who="&quot;Dr. Werner Fink&quot; " />
<person posts="3" size="25" who="Eric Lowe " />
<person posts="3" size="17" who="" />
<person posts="3" size="15" who="Eddie Mansu " />
<person posts="3" size="13" who="&quot;Andre M. Hedrick&quot; " />
<person posts="3" size="13" who="Erik Espinoza " />
<person posts="3" size="12" who="Harald Koenig " />
<person posts="3" size="12" who="&quot;Mike A. Harris&quot; " />
<person posts="3" size="11" who="BROWN Nick " />
<person posts="3" size="11" who="Jeremy Fitzhardinge " />
<person posts="3" size="11" who="John Goerzen " />
<person posts="3" size="10" who=" (H. Peter Anvin)" />
<person posts="3" size="10" who="Sten Eriksson " />
<person posts="3" size="10" who="Cacophonix Gaul " />
<person posts="3" size="10" who="Michal Jaegermann " />
<person posts="3" size="9" who="Mike Jagdis " />
<person posts="3" size="9" who="Steve Glines " />
<person posts="3" size="9" who="Senko Rasic " />
<person posts="3" size="9" who="&quot;Andre.Couture&quot; " />
<person posts="3" size="9" who="Jakub Jelinek " />
<person posts="3" size="9" who="BROWN Nick " />
<person posts="3" size="9" who="Wakko Warner " />
<person posts="3" size="8" who="Tom Holroyd " />
<person posts="3" size="8" who="Steve Dodd " />
<person posts="3" size="8" who="&quot;Steven N. Hirsch&quot; " />
<person posts="3" size="8" who="Philip Blundell " />
<person posts="3" size="8" who="Matti Aarnio " />
<person posts="3" size="7" who="&quot;G. Allen Morris III&quot; " />
<person posts="3" size="7" who="Dave Cinege " />
<person posts="2" size="37" who="Torsten Mohr " />
<person posts="2" size="12" who="David Kastrup " />
<person posts="2" size="10" who="James Willard " />
<person posts="2" size="10" who="Timothy Writer " />
<person posts="2" size="9" who="Ian Eure " />
<person posts="2" size="9" who="Ville Herva " />
<person posts="2" size="8" who="Manoj Kasichainula " />
<person posts="2" size="8" who="Oren Laadan " />
<person posts="2" size="8" who="Craig Milo Rogers " />
<person posts="2" size="8" who="Ian D Romanick " />
<person posts="2" size="8" who="" />
<person posts="2" size="8" who="Rik van Riel " />
<person posts="2" size="8" who="Wichert Akkerman " />
<person posts="2" size="8" who="brent verner " />
<person posts="2" size="8" who="&quot;G. Allen Morris III&quot; " />
<person posts="2" size="8" who="Kris Karas " />
<person posts="2" size="7" who="Horst von Brand " />
<person posts="2" size="7" who=" (Stuart Lynne)" />
<person posts="2" size="7" who="Christian Robert " />
<person posts="2" size="7" who="Bob McElrath " />
<person posts="2" size="7" who="Illuminatus Primus " />
<person posts="2" size="7" who="&quot;Livia Catarina Soares&quot; " />
<person posts="2" size="7" who="Andre Malafaya Baptista " />
<person posts="2" size="7" who="Nils Rennebarth " />
<person posts="2" size="7" who="Marco Mariani " />
<person posts="2" size="6" who="Antonio Miguel Ferreira Marques Trindade " />
<person posts="2" size="6" who="Brian Almeida " />
<person posts="2" size="6" who="Meelis Roos " />
<person posts="2" size="6" who="Miquel van Smoorenburg " />
<person posts="2" size="6" who="Linus Torvalds " />
<person posts="2" size="6" who="Denis Gerasimov " />
<person posts="2" size="6" who="&quot;Jens Knoell&quot; " />
<person posts="2" size="6" who="Jarkko Kovala " />
<person posts="2" size="6" who="&quot;Nicholas J. Leon&quot; " />
<person posts="2" size="6" who="Mathieu Arnold " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Jim Zelenka " />
<person posts="2" size="6" who="Steve Willer " />
<person posts="2" size="6" who="Rik van Riel " />
<person posts="2" size="6" who="Rahul Siddharthan " />
<person posts="2" size="6" who="Dave Weis " />
<person posts="2" size="6" who="Mircea Damian " />
<person posts="2" size="6" who="Larry McVoy " />
<person posts="2" size="6" who="Mitchell Blank Jr " />
<person posts="2" size="6" who="Alec Smith " />
<person posts="2" size="6" who="Dustin Marquess " />
<person posts="2" size="6" who="&quot;Ulrich Windl&quot; " />
<person posts="2" size="6" who="Wolfgang Walter " />
<person posts="2" size="6" who="Richard Dynes " />
<person posts="2" size="5" who="Michael Talbot-Wilson " />
<person posts="2" size="5" who="&quot;Melissa Davis&quot; " />
<person posts="2" size="5" who="Brian Gerst " />
<person posts="2" size="5" who="Tigran Aivazian " />
<person posts="2" size="5" who="fito " />
<person posts="2" size="5" who="David Woodhouse " />
<person posts="2" size="5" who="Nat Lanza " />
<person posts="2" size="5" who="John Burton " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Jeff Garzik " />
<person posts="2" size="5" who="David Beccue " />
<person posts="2" size="5" who="Pavel Machek " />
<person posts="2" size="5" who="Chip Salzenberg " />
<person posts="2" size="5" who="Andrzej Krzysztofowicz " />
<person posts="2" size="5" who="Kai Schulte " />
<person posts="2" size="4" who="Tim Waugh " />
<person posts="2" size="4" who="Steffen Rheinhold " />
<person posts="2" size="4" who="Prasanna Gokhale " />
<person posts="2" size="4" who=" (Patrick J. LoPresti)" />
<person posts="2" size="4" who="G Jalaja Devi " />
<person posts="2" size="4" who="Yash Shitoot " />
<person posts="2" size="4" who="Hoang Manh Hung " />
<person posts="1" size="16" who="&quot;Oliver Neukum&quot; " />
<person posts="1" size="15" who="&quot;Frederick F. Gleason&quot; " />
<person posts="1" size="13" who="" />
<person posts="1" size="9" who="&quot;Alexey V. Ivanov&quot; " />
<person posts="1" size="9" who="Jason Jordan " />
<person posts="1" size="9" who="mathieu chouquet-stringer " />
<person posts="1" size="8" who="" />
<person posts="1" size="8" who="Hard Work " />
<person posts="1" size="8" who="Philip Gladstone " />
<person posts="1" size="8" who="Catalin Muresan " />
<person posts="1" size="8" who="Gordon Chaffee " />
<person posts="1" size="7" who="" />
<person posts="1" size="6" who="Cagri Koksal " />
<person posts="1" size="6" who="Ville Herva " />
<person posts="1" size="6" who="Julian Bradfield " />
<person posts="1" size="6" who="Mikko Hyvarinen " />
<person posts="1" size="5" who="&quot;David C. Davies&quot; " />
<person posts="1" size="5" who="Davide Rossetti " />
<person posts="1" size="5" who="Manfred Spraul " />
<person posts="1" size="5" who=" (Kristian Koehntopp)" />
<person posts="1" size="5" who="Mike Touloumtzis " />
<person posts="1" size="5" who="Leo Papandreou " />
<person posts="1" size="5" who="&quot;Gregory P. Smith&quot; " />
<person posts="1" size="5" who="&quot;Jon P. deOng&quot; " />
<person posts="1" size="5" who="Jay Thorne " />
<person posts="1" size="5" who="Glen Turner " />
<person posts="1" size="5" who="John Kodis " />
<person posts="1" size="4" who="Ulrich Windl " />
<person posts="1" size="4" who="&quot;Brent M. Smith&quot; " />
<person posts="1" size="4" who="&quot;Kari Laine&quot; " />
<person posts="1" size="4" who="&quot;Dave Jones.&quot; " />
<person posts="1" size="4" who="Chris Hilts " />
<person posts="1" size="4" who="Simon Trimmer " />
<person posts="1" size="4" who="Siddharth Srivastava " />
<person posts="1" size="4" who="Nate Riffe " />
<person posts="1" size="4" who="Eric Brunson " />
<person posts="1" size="4" who="Sharad Agrawal " />
<person posts="1" size="4" who="Tim Hockin " />
<person posts="1" size="4" who="&quot;Gregory Whalin&quot; " />
<person posts="1" size="4" who="&quot;Petr Vandrovec Ing. VTEI&quot; " />
<person posts="1" size="4" who="&quot;Mattias =?ISO-8859-1?Q?Engdeg=E5rd&quot; ?= " />
<person posts="1" size="4" who="&quot;Darius S. Naqvi&quot; " />
<person posts="1" size="4" who="RoboHak " />
<person posts="1" size="4" who="Leo Fernandez " />
<person posts="1" size="4" who="Bradley Baetz " />
<person posts="1" size="4" who="David Lang " />
<person posts="1" size="4" who="Russell Berry " />
<person posts="1" size="4" who="Gerard Roudier " />
<person posts="1" size="4" who="David Murn " />
<person posts="1" size="4" who="Phil Blecker " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Nils Faerber " />
<person posts="1" size="3" who="Werner LEMBERG " />
<person posts="1" size="3" who="Matthew Vanecek " />
<person posts="1" size="3" who="Mark Hull-Richter " />
<person posts="1" size="3" who="Gerhard Mack " />
<person posts="1" size="3" who="Carlos Costa Portela " />
<person posts="1" size="3" who="Brian Ristuccia " />
<person posts="1" size="3" who="Gerd Knorr " />
<person posts="1" size="3" who="Ian White " />
<person posts="1" size="3" who=" (Scott Lurndal)" />
<person posts="1" size="3" who="Francesco Chemolli " />
<person posts="1" size="3" who="Joel Jaeggli " />
<person posts="1" size="3" who="&quot;Bruce A. Locke&quot; " />
<person posts="1" size="3" who="Stanislav Brabec " />
<person posts="1" size="3" who="&quot;Chad C. Walstrom&quot; " />
<person posts="1" size="3" who="Greg Johnson " />
<person posts="1" size="3" who="David Benson " />
<person posts="1" size="3" who="Dave Morrison " />
<person posts="1" size="3" who="Mark Orr " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Wim Fournier " />
<person posts="1" size="3" who="&quot;Andrew Morton&quot; " />
<person posts="1" size="3" who="Fernando Barreto " />
<person posts="1" size="3" who="Andrew Morgan " />
<person posts="1" size="3" who="Thomas Davis " />
<person posts="1" size="3" who="&quot;David Mandelstam&quot; " />
<person posts="1" size="3" who=" (Matthias Urlichs)" />
<person posts="1" size="3" who=" (Rogier Wolff)" />
<person posts="1" size="3" who="&quot;Joseph H. Buehler&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Hubert Tonneau " />
<person posts="1" size="3" who="Kent Ho " />
<person posts="1" size="3" who="Malcolm Beattie " />
<person posts="1" size="3" who="Nicholas Henke " />
<person posts="1" size="3" who="Scott Manley " />
<person posts="1" size="3" who="Bernhard Rosenkraenzer " />
<person posts="1" size="3" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="1" size="3" who="Steffen Ullrich " />
<person posts="1" size="3" who="Heinz Mauelshagen " />
<person posts="1" size="3" who="Rich Pettit " />
<person posts="1" size="3" who="Derek Glidden " />
<person posts="1" size="3" who="Jens Krinke " />
<person posts="1" size="3" who="Aaron T Porter " />
<person posts="1" size="3" who="Jeff Epler " />
<person posts="1" size="3" who="Jim Nance " />
<person posts="1" size="3" who="&quot;q q&quot; " />
<person posts="1" size="3" who="Manoj Kasichainula " />
<person posts="1" size="3" who="Akira YOSHIYAMA " />
<person posts="1" size="3" who="Jim Zelenka " />
<person posts="1" size="3" who="&quot;Brandon S. Allbery KF8NH&quot; " />
<person posts="1" size="3" who="Brian Kelly " />
<person posts="1" size="3" who="Massoud Asgharifard " />
<person posts="1" size="3" who="Thomas Davis " />
<person posts="1" size="3" who="&quot;Joshua E. Rodd&quot; " />
<person posts="1" size="3" who="Helge Hafting " />
<person posts="1" size="3" who="Dick Streefland " />
<person posts="1" size="3" who="&quot;Allan M. Wind&quot; " />
<person posts="1" size="3" who="chris parker " />
<person posts="1" size="3" who="Elmer Joandi " />
<person posts="1" size="3" who="Ulrich Drepper " />
<person posts="1" size="3" who="Jiann-Ming Su " />
<person posts="1" size="3" who="Nils Philippsen " />
<person posts="1" size="3" who="&quot;Nuno Emanuel F. Carvalho&quot; " />
<person posts="1" size="3" who="Fred McDavid " />
<person posts="1" size="3" who=" (david parsons)" />
<person posts="1" size="3" who="&quot;Brooks M. Roy&quot; " />
<person posts="1" size="3" who="Jussi Hamalainen " />
<person posts="1" size="3" who="Vojtech Pavlik " />
<person posts="1" size="3" who="&quot;Collins M.  Ben &quot; " />
<person posts="1" size="2" who="&quot;Jakob 'sparky' Kaivo&quot; " />
<person posts="1" size="2" who="Jens Benecke " />
<person posts="1" size="2" who="Fredrik " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Camm Maguire " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Harald Arnesen " />
<person posts="1" size="2" who="Nathan Hand " />
<person posts="1" size="2" who="&quot;Paolo Galtieri&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Drizzt " />
<person posts="1" size="2" who="David Mosberger " />
<person posts="1" size="2" who="Raphael Becker " />
<person posts="1" size="2" who="David Monniaux " />
<person posts="1" size="2" who="Michael Hasenstein " />
<person posts="1" size="2" who="Michael Meissner " />
<person posts="1" size="2" who="Stephen Williams " />
<person posts="1" size="2" who="Christian Scholz " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;William F. Maton&quot; " />
<person posts="1" size="2" who=" (Paris Cristiano)" />
<person posts="1" size="2" who=" (Tony E. Bennett)" />
<person posts="1" size="2" who="Horvath Karoly " />
<person posts="1" size="2" who="Andreas Schuldei " />
<person posts="1" size="2" who="Michael Johnson " />
<person posts="1" size="2" who="Thomas Molina " />
<person posts="1" size="2" who="&quot;Maurizio Berti (M.Felici)&quot; " />
<person posts="1" size="2" who="Michael Hasenstein " />
<person posts="1" size="2" who="Ed Cogburn " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Mark H. Wood&quot; " />
<person posts="1" size="2" who="Steffen Kluge " />
<person posts="1" size="2" who="R Dicaire " />
<person posts="1" size="2" who="German Jose Gomez Garcia " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Robert G. 'Doc' Savage&quot; " />
<person posts="1" size="2" who="Thomas Pornin " />
<person posts="1" size="2" who="Richard Henderson " />
<person posts="1" size="2" who="Marc Slemko " />
<person posts="1" size="2" who="&quot;Jonathan&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;David Guo&quot; " />
<person posts="1" size="2" who="&quot;David B. Rees&quot; " />
<person posts="1" size="2" who="Ben Bridgwater " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Joseph Keen " />
<person posts="1" size="2" who="Chris Wedgwood " />
<person posts="1" size="2" who="Bill Anderson " />
<person posts="1" size="2" who="James Fidell " />
<person posts="1" size="2" who="Alistair Riddell " />
<person posts="1" size="2" who="Matthew Jacob " />
<person posts="1" size="2" who="Brian Schau " />
<person posts="1" size="2" who="&quot;Benjamin C.R. LaHaise&quot; " />
<person posts="1" size="2" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="1" size="2" who="Catalin BOIE " />
<person posts="1" size="2" who="Dax Kelson " />
<person posts="1" size="2" who="Luca Lizzeri " />
<person posts="1" size="2" who="&quot;Craig I. Hagan&quot; " />
<person posts="1" size="2" who="Bernd Eckenfels " />
<person posts="1" size="2" who="Rolf Fokkens " />
<person posts="1" size="2" who="laurent collot " />
<person posts="1" size="2" who="Shaw Terwilliger " />
<person posts="1" size="2" who="Peter Horton " />
<person posts="1" size="2" who="Aaron Tiensivu " />
<person posts="1" size="2" who="David Grothe " />
<person posts="1" size="2" who="Ravi Wijayaratne " />
<person posts="1" size="2" who="&quot;Sean Hunter&quot; " />
<person posts="1" size="2" who="&quot;Mark G. Adams&quot; " />
<person posts="1" size="2" who="Gary Lawrence Murphy " />
<person posts="1" size="2" who="Finger (Maffei Marzio) " />
<person posts="1" size="2" who="Mike Galbraith " />
<person posts="1" size="2" who="&quot;Alan Curry&quot; " />
<person posts="1" size="2" who="&quot;Adam J. Richter&quot; " />
<person posts="1" size="2" who="Quang Dang " />
<person posts="1" size="2" who="Arni Raghu " />
<person posts="1" size="2" who="=?iso-8859-1?Q?Johnny_Teve=DFen?= " />
<person posts="1" size="2" who="Uwe Bonnes " />
<person posts="1" size="2" who="rewt " />
<person posts="1" size="2" who="Linux_Kernel_Mailing_List " />
<person posts="1" size="2" who="Raul Miller " />
<person posts="1" size="2" who="Hoang Manh Hung " />
<person posts="1" size="2" who="jamal " />
<person posts="1" size="2" who=" (ellis)" />
<person posts="1" size="2" who="Benjamin Close " />
<person posts="1" size="2" who="OLK " />
<person posts="1" size="2" who="Chris Evans " />
<person posts="1" size="2" who="Erico Freitas " />
<person posts="1" size="2" who="Barry BEvel " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Alexandre Hautequest " />
<person posts="1" size="2" who="&quot;Mike A. Harris&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Janardhanan Radhakrishnan " />
<person posts="1" size="2" who="Meir " />
<person posts="1" size="2" who=" (Jonathan Corbet)" />
<person posts="1" size="2" who="Uwe Schmeling " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Michael Elizabeth Chastain " />
<person posts="1" size="2" who="Ted Rolle " />
<person posts="1" size="2" who="" />
<person posts="1" size="1" who="Hauke Lampe " />
<person posts="1" size="1" who=" (Larry McVoy)" />

</stats>

<section
  title="Responses To Mindcraft"
  posts="80"
  subject="NT reported faster than Linux 2.2.2 SMP"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_02/msg00908.html"
  startdate="14 Apr 1999 00:00:00 -0800"
  enddate="30 Apr 1999 00:00:00 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>Microsoft</topic>
<topic>Networking</topic>
<topic>Patents</topic>
<topic>SMP</topic>
<topic>Samba</topic>
<topic>Version Control</topic>

<mention>Stephen C. Tweedie</mention>
<mention>Greg Lindahl</mention>
<mention>Rik van Riel</mention>
<mention>Mitchell Blank Jr</mention>

<p>There was some linux-kernel activity in response to the Mindcraft
study. Not as much as might be expected, considering the general outrage on
the net at such an obviously rigged test. Now that linux-kernel's Mindcraft
threads are all pretty much dead, it seems that their main upshot was that
documentation on Linux tuning will probably be forthcoming. In other words,
Microsoft helped us out by reporting a documentation bug. Thanks, Bill! ;-)</p>

<p>Under the Subject: <a
href="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_02/msg00908.html">NT
reported faster than Linux 2.2.2 SMP</a>, Tom Holroyd gave links to a <a
href="http://www.newsalert.com/bin/story?StoryId=CnXlbqbWbu0zuvta3o&amp;FQ=linux&amp;SymHdl=1&amp;Nav=na-search-&amp;StoryTitle=linux">NewsAlert
article</a> and the <a
href="http://www.mindcraft.com/whitepapers/nts4rhlinux.html">study
itself</a>. He pointed out that Mindcraft had tuned NT but not Linux. Alan
Cox replied, <quote who="Alan Cox">they carefully went back to 2.2.2 which
is the one with the known performance interactions with NT. I guess someone
at MS did their research 8)</quote></p>

<p>Robert G. 'Doc' Savage said, <quote who="Robert G. Savage">Mindcraft also
used the v0.92 MegaRAID driver. An SMP race condition was fixed in v0.93
which was almost certainly available from the AMI web site long before the
Mar 10-13 test.</quote></p>

<p>Under the Subject: <a
href="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_02/msg00920.html">Linux
vs. tNT ;-) Can sb explain this?</a>, Carlos
Costa Portela pointed to the Mindcraft study and a <a
href="http://www.gcs.bc.ca/bem/editorials/nts4rhlinux.shtml">parody of it</a>
(as of KT press time, the page seems dead, but they give the location of a <a
href="http://linuxdvd.netpedia.net/bem/editorials/nts4rhlinux-test.shtml">temporary
copy</a>) that he hadn't realized was a parody. Mitchell
Blank Jr pointed that out to him, and pointed to the <a
href="http://lwn.net/1999/features/MindCraft.phtml">LWN page
covering Mindcraft</a>. Mitchell mistakenly called it the Netcraft
study (a typo -- he corrected himself a few minutes later), Ingo
Molnar also corrected him and, as an aside, added that the April <a
href="http://www.netcraft.com/Survey/Reports/199904/platform.html">Netcraft
study</a> <quote who="Ingo Molnar">shows that NT based server usage is starting
to drop drastically after months of stagnation. [NT platform relative usage is
down to 24.97%, thats a -0.66% drop from a month ago, pretty large considering
the millions of hosts involved.</quote> He also pointed out that Microsoft's
leaked <a href="http://www.opensource.org/halloween2.html">Halloween
II</a> memo <quote who="Ingo Molnar">admitted that their own NT
Performance Group found Linux _2.0_ to be on equal footing regarding
Samba performance :)</quote> BTW, the Halloween documents live at <a
href="http://www.opensource.org/halloween.html">http://www.opensource.org/halloween.html</a>.
If you haven't read them yet, go now.</p>

<p>Regarding the Netcraft study, Richard Gooch pointed out that MS
market share has dipped and recovered before now. He pointed to the <a
href="http://www.netcraft.com/Survey/Reports/current/graphs.html">current
Netcraft graphs</a> and said, <quote who="Richard Gooch">what I find
interesting from the graphs is that it looks like the M$ installed base is
growing because of the general growth in the industry. Their market share
has been static for 6+ months and they've had no significant growth for over
a year. They're just riding the wave.</quote> He added, <quote who="Richard
Gooch">If it was any other company, their market share would already have
declined. The interesting question is when will they start to experience
consistent declines, month after month?</quote></p>

<p>Under the Subject: <a
href="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_03/msg00415.html">Linux
Tuning</a>, someone pointed out the <a
href="http://www.zdnet.com/zdnn/stories/news/0,4586,2242246,00.html">ZDNet
reaction</a> to the Mindcraft study, which agreed that Linux tuning
information is difficult to find. The poster agreed, and suggested that
some kind of discussion on centralizing Linux tuning information would be
a good idea. brent verner announced that he has started such a project at
<a href="http://www.linux1.org/">http://www.linux1.org/</a>.</p>

<p>Tony Gale suggested that the document,
<a href="http://www.unix.digital.com/internet/tuning.htm">Tuning
Compaq Tru64 UNIX for Internet Servers</a>, would be a good thing to
imitate. Greg Lindahl added that a way to automate such tuning information
would be a good thing, and volunteered to do it once the information was
documented. Various folks offered to host these projects. Rik van Riel
set up a CVS tree for the potential documentation and pointed to a <a
href="http://www.nl.linux.org/~riel/CVS/CVS-linuxperf.txt">manual</a> for
its use. There followed a bit of discussion about how the project should be
organized and what sorts of things it should include.</p>

<p>Under the Subject: <a
href="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_03/msg00146.html">2.2.5
optimizations for web benchmarks?</a>, Someone wanted some tuning help and
there was a bit of discussion. Then (a day later) Stephen C. Tweedie gave
a link to <a href="http://www.citi.umich.edu/projects/citi-netscape/">The
Linux Scalability Project</a>, which is trying to tune the kernel for high
server loads. He also reiterated one of the points in the prior discussion:
that apache itself is where most of the benefits of tuning will be gained.</p>

<p>Apache developer Dean Gaudet replied, <quote who="Dean Gaudet">Uh I
dunno. Unless by tuning you mean "replace apache with something that's
actually fast" ;)</quote> and added <quote who="Dean Gaudet">Really, with
the current multiprocess apache I've never really been able to see more than
a handful of percentage improvement from all the tweaks. It really is a case
of needing a different server architecture to reach the loads folks want to
see in benchmarks.</quote></p>

<p>He went on to give an interesting recent history of apache:</p>

<quote who="Dean Gaudet">

<p>That said, people might be interested to know that we're not dolts over
at Apache. We have recognized the need for this... we're just slow. I did
a pthread port last year, and threw it away because we had portability
concerns. I switched to Netscape's NSPR library to solve the portability
concern. That was last spring... then summer happenned and I found other
things to do. In the interim IBM joined the apache team, and showed us how
the NPL sucks (patent clause), and that using NSPR would be a bad thing.</p>

<p>Months went on in this stalemate... we finished 1.3.0, .1, ...  We kept
hoping netscape's lawyers would see the light and fix the NPL. That didn't
look hopeful -- so IBM started up a small team to redo the threaded port,
using everything I'd learned (without looking at my code... 'cause it was
NPL tainted), and port to pthreads. Their goal: beat their own webserver
(Go). This port is called apache-apr, and as of today someone posted saying
they'd served 2.6 million hits from apache-apr over a 4 day period. Not a
record or anything, but an indication of stability.</p>

<p>Oh, netscape fixed the patent clause.  Or they're supposed to be releasing
the fix. But we're down the road far enough now we won't turn back.</p>

<p>At this point apache-apr isn't in a state where we want zillions of people
using it, because it's probably still full of bugs. But if you really want
it, visit <a href="http://dev.apache.org/">http://dev.apache.org/</a> and
dig around in our cvs stuff... just don't expect hand holding.</p>

<p>Oh, to forestall anyone saying "apache should be a poll/event-loop style
server to go the fastest"... yes, you're bright (but probably wrong, and
if I digress any further I'll make myself puke). Apache will never be the
fastest webserver, because that isn't our goal. Our goal is correctness,
and useability. Performance at this level is mostly a marketing gimick.</p>

</quote>

<p>Stephen asked if there were any apache tuning info, and Dean pointed to <a
href="http://www.apache.org/docs/misc/perf-tuning.html">http://www.apache.org/docs/misc/perf-tuning.html</a>.
Greg Lindahl replied that the document didn't give any tips on how to tune
Linux, and Dean replied, <quote who="Dean Gaudet">"Tuning linux" is even
more a black art and I wasn't about to write up everything. Plus it changes
every couple kernel versions and libc versions anyhow. It's a nightmare to
keep up to date any documentation surrounding linux internals.</quote> He
went on, <quote who="Dean Gaudet">I'm saying this from the point of view of
the person who answers the apache bugdb mail regarding linux problems. 90%
of what I end up having to say to people is "well gee it works fine on all
machines I have access to, maybe it's your distribution/kernel version/libc
version/phase of the moon/colour of your hair/..." there are just too many
variables that make linux inconsistent. Take it as a light flame.</quote>
Greg gently reminded him that the point of the discussion was to get something
written up, and Dean's input would be appreciated.</p>

</section>

<section
  title="Quota Bug Fixes"
  subject="Bugs in quota code (long) (new)"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_02/msg00882.html"
  posts="11"
  startdate="14 Apr 1999 00:00:00 -0800"
  enddate="29 Apr 1999 00:00:00 -0800"
>

<mention>Jan Kara</mention>
<mention>Andre Couture</mention>
<mention>Linus Torvalds</mention>
<mention>Mike Galbraith</mention>
<mention>Chris Evans</mention>

<p>Jan Kara found and fixed a lot of bugs in the quota code. Chris Evans asked
if the patches would make it into 2.2.7; Jan said he planned to submit them
if there were no problems. He then posted a new patch, and Andre Couture
replied with total success. Jan posted a new patch, which emptied his bug
list and left only new features in his TODO file. Mike Galbraith pounded on
it with sadistic fury, but his single processor machine stubbornly refused
to crash. Jan said he'd wait a few more days for more bug reports before
submitting the code to Linus Torvalds; and the thread was over.</p>

</section>

<section
  title="Filesystem For Audio CDs"
  subject="audio fs emulation"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00146.html"
  posts="17"
  startdate="23 Apr 1999 00:00:00 -0800"
  enddate="27 Apr 1999 00:00:00 -0800"
>
<topic>FS</topic>

<mention>Riley Williams</mention>

<p>Senko Rasic wrote a patch (against 2.2.x) to emulate a <a
href="http://fly.cc.fer.hr/~ptolomei/audiofs/">filesystem on audio CDs</a>,
showing each track as a separate file. He said it was slow and imperfect,
but had no known bugs.</p>

<p>There followed some discussion of rounding out the features: Riley Williams
asked about dual mode CDs: could the driver be made to handle both the data
and audio tracks? He suggested that the 'mount' command could either show
the audio tracks as existing in a separate directory, or be used once to
mount the data tracks, and a second time to mount the audio.</p>

<p>Senko replied that his filesystem could currently not access data tracks,
only display them. He dismissed the idea of using 'mount' twice, pointing
out that VFS locks the mounted device. Bypassing VFS, he added, would be
extremely ugly. As far as having mount show a separate directory for audio
files, Senko wasn't too hopeful about that either: if it were even possible,
he felt it would require a complete redesign of the isofs code.</p>

<p>Riley suggested just making isofs detect (rather than actually handle)
the audio tracks; and then do a hidden loopback, using Senko's audiofs
filesystem to access the tracks as files. Senko replied that the isofs
implementation couldn't handle mounting audiofs on top of it via loopback.
He did say it might be possible to mount isofs on top of audiofs.</p>

<p>There was a bit more discussion about naming conflicts and multi-session
audio CDs, and the thread was over.</p>

</section>

<section
  title="Files Larger Than A Single Volume In CODA"
  subject="Coda &amp; big files"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00148.html"
  posts="3"
  startdate="23 Apr 1999 00:00:00 -0800"
  enddate="26 Apr 1999 00:00:00 -0800"
>
<topic>Big File Support</topic>

<mention>Pavel Machek</mention>
<mention>Matti Aarnio</mention>

<p>Pavel Machek wondered how CODA would handle files that were too big to
fit on a single hard drive. His perusal of the code showed no implementation
at all.</p>

<p>Matti Aarnio asked if this was only an implementation problem, or a
fundamental design issue; and someone replied that it was a design issue:
clients can connect and disconnect at will, so files are stored whole.</p>

<p>EOT.</p>

</section>

<section
  title="ACPI For Linux"
  subject="Re: ATX Power off &amp; SMP-Kernel"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00250.html"
  posts="5"
  startdate="23 Apr 1999 00:00:00 -0800"
  enddate="27 Apr 1999 00:00:00 -0800"
>
<topic>Power Management: ACPI</topic>
<topic>SMP</topic>

<p>In the course of discussion, someone asked if <a
href="http://www.teleport.com/~acpi/">ACPI (Advanced Configuration and
Power Interface)</a> would be implemented for Linux. Alan Cox replied,
<quote who="Alan Cox">I don't know. It is an open (but very hard to read
spec).</quote></p>

<p>In fact, there is an <a
href="http://phobos.fachschaften.tu-muenchen.de/acpi/index.html">ACPI4Linux</a>
project in the works; but according to the web page, they could really use
a hand.</p>

</section>

<section
  title="Dynamically Changing RAMdisk Size"
  subject="initrd/ramdisk problems, differences 2.2.1 vs. 2.2.5"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00330.html"
  posts="8"
  startdate="24 Apr 1999 00:00:00 -0800"
  enddate="27 Apr 1999 00:00:00 -0800"
>

<mention>Alan Cox</mention>
<mention>Linus Torvalds</mention>
<mention>Richard Gooch</mention>

<p>Frank Bernard had a problem that turned out to be his fault,
as he figured out eventually and explained to the list. In the
course of the discussion, Dave Cinege gave a pointer to his <a
href="ftp://ftp.psychosis.com/linux/initrd-arch/">initrd-archive</a> patch,
which allows ramdisk size to change dynamically. Richard Gooch was impressed,
and asked if Dave had submitted the patch to Linus Torvalds. Dave replied,
<quote who="Dave Cinege">A few times since Jan 1998. Never heard back. I
finally got a 'no' from Alan Cox for inclusion in 2.0.37 and 2.2.2 not long
ago. (Code OK, but not interesting enough. : P)</quote></p>

</section>

<section
  title="Performance Finagling"
  subject="cache killer memory death test - 2.0 vs 2.2 vs arca - programs inside"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_03/msg00453.html"
  posts="19"
  startdate="18 Apr 1999 00:00:00 -0800"
  enddate="29 Apr 1999 00:00:00 -0800"
>
<topic>Virtual Memory</topic>

<p>Harvey J. Stein did a fairly repeatable test of several kernels under
heavy load, and found that the 2.2.5arca12 performed worse than vanilla
2.2.5 (2.0.36 also performed poorly). Andrea Arcangeli was thrilled to have
a test case, and said, <quote who="Andrea Arcangeli">I just know _exactly_
why arca12 has a worse worst-case and bad interactive feel while larging tons
of data to disk. The culprit is buffer.c and the reason 2.2.5 is not stalling
is due the set_writetime misfeature that on the other side is harming a lot
performances in the stock kernel.</quote> But he replied to himself a couple
hours later, saying <quote who="Andrea Arcangeli">in the last minutes I've
found also some stupid design in my shrink_mmap() of "all" 2.2.5_arca*.bz2
that may lead to bad performances and maybe stalls. Unfortunately I was
using the bad design of shrink_mmap() as a feature :(. So with the design
fixed, the system runs less smoothly under swap, but if you are not swapping
heavily this new patch should perform better than arca12.</quote> He posted
a <a href="ftp://e-mind.com/pub/linux/arca-tree/2.2.6_arca1.bz2">2.2.6_arca1
patch</a>.</p>

<p>At this point another thread started, with the Subject: <a
href="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00399.html">[big
performances boost for DataBases] Re: cache killer memory death test -
2.0 vs 2.2 vs arca - programs inside</a>. Andrea summed up his own tests,
and said, <quote who="Andrea Arcangeli">In your program you are killing the
caching behaviour that my buffer code does on dirty buffers (the thing that
doesn't work on the stock kernel due flushtime mess). The fact is that you
are doing many gdbm_sync in the middle of your proggy.</quote> He posted a
<a href="ftp://e-mind.com/pub/andrea/kernel/2.2.6_andrea2.bz2">2.2.6_andrea2
patch</a> (sic).</p>

<p>While downloading 2.2.6_andrea2, Harvey replied with results for arca1
(it was faster than 2.2.6, but not by much), discussed his results and asked
about the change from "arca" to "andrea". Andrea replied with much detail
on the technical issues of the arca1 results, and explained the name change,
saying, <quote who="Andrea Arcangeli">Because you all call me Andrea ;). All
my friends instead call me `arca' since I was at mid school (from the surname
obviously ;). And I also seen that there's just some software company called
arca and so I preferred to call it andrea to avoid any kind of mess. But
the name won't make differences at all, the patch-set is the same.</quote></p>

<p>Harvey tried out 2.2.6_andrea2, and said, <quote who="Harvey J.
Stein">Smokin! 2.2.6andrea2 was so incredibly fast that I didn't really have
much time to test it interactively, but it was great.</quote> Andrea replied,
<quote who="Andrea Arcangeli">I am very happy to hear that ;). Now it would
be also interesting to see a DBMS benchmark.</quote></p>

<p>Stephen C. Tweedie came in, with, <quote who="Stephen C. Tweedie">Do you
have an idea of what exactly makes the difference? It looks as if the buffer
write scheduling is making a large difference,</quote> and Andrea replied,
<quote who="Andrea Arcangeli">It depends what you are benchmarking. If you are
benchmarking a piece of code that rewrite in the same place many times, yes,
definitely my redesign of the flushtime handling is the the big difference
(it will completly avoids tons of not needed I/O). But all my other VM
ideas/code are very connected with performances.</quote></p>

<p>(Andrea also added, <quote who="Andrea Arcangeli">BTW, I have news
about RB-trees. I did some benchmark and they are _definitely_ slower in
the buffer cache for query (now find_buffer is far from the top of the
profiling output). Now I am using the hash function of the stock kernel,
but I'll move to the mul method shortly.</quote>)</p>

<p>In a different reply to Harvey's test of 2.2.6_andrea2, Andrea found
some other problems, and <quote who="Andrea Arcangeli">I also discovered
an interesting bug in my page-mapping handling in 2.2.6_andrea2 (I simply
forgot to increase the map_count of the page at fork time... ;). The
bug can't lead to corruption/crash or any kind of other harm because I
designed the map_count handling in a safe way, but the bug was obviously
harming performances :(. So if 2.2.6_andrea2 was fast 2.2.6_andrea3 can
be an order of magnitude faster in shrink_mmap.</quote> He included a <a
href="ftp://e-mind.com/pub/andrea/kernel/2.2.6_andrea3.bz2">2.2.6_andrea3
patch</a>. Much later, he replied to himself, saying 2.2.6_andrea3 had
a bug. He posted a small patch to fix it, and said he would release
2.2.6_andrea4 shortly.</p>

<p>Now this thread died, and two days later, the conversation continued
on the original thread. Harvey had tried 2.2.6_andrea4, and found it to be
slightly <em>worse</em> than 2.2.5arca12; but he still found 2.2.6_andrea2 to
beat them all. He concluded, <quote who="Harvey J. Stein">It seems like a2
</quote>(andrea2)<quote who="Harvey J. Stein"> is the best at both avoiding
disk activity &amp; wisely using the disk when necessary. A4 seems to be
slightly more efficient when using memory but much worse at using the disk
when necessary.</quote></p>

<p>Andrea replied, <quote who="Andrea Arcangeli">With changes between A2
and A4 I did penalized the mmapped memory in favour of caching memory. This
allowed the dbase program to alloc the buffer he needed, but this mean
that it swapped out far more data to disk,</quote> and added, <quote
who="Andrea Arcangeli">I'll revert to the andrea2 behaviour (thanks for
the information).</quote></p>

<p>He went on, <quote who="Andrea Arcangeli">I also released a
2.2.7_andrea1.bz2 but don't try it!!! because since I merged 2.2.7 my VM
tree is unstable under high swap load. I don't think it's a 2.2.7 issue
(since I overviewed all the patch and I couldn't find anything wrong
in it) but maybe a missed bit in the merging or some more subtle bug.
I hope to have a clue shortly.</quote> About 7 hours later he replied
to himself, with, <quote who="Andrea Arcangeli">I fixed the bug. I
forgot one of my lru_refile_unmapped_cache() in unuse_pte ;). So when
delete_from_swap_cache() was running, it was doing a list_del(page-&gt;lru)
it had page-&gt;lru pointing to the old -&gt;lru not-valid-anymore
values...</quote> He added, <quote who="Andrea Arcangeli">Now everything
seems rock solid also after a swapoff -a,</quote> and posted a new <a
href="ftp://e-mind.com/pub/andrea/kernel/2.2.7_andrea2.bz2">2.2.7_andrea2
patch</a>.</p>

</section>

<section
  title="'make xconfig' Problem"
  subject="make xconfig problem in 2.2.6"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00329.html"
  posts="5"
  startdate="24 Apr 1999 00:00:00 -0800"
  enddate="27 Apr 1999 00:00:00 -0800"
>

<p>Andre Couture said, <quote who="Andre Couture">It seem that using
"make xconfig" in 2.2.6 does not allow to select/unselect the Mach64 Frame
Buffer. The line is not shaded but also not selectable.</quote> Andrzej
Krzysztofowicz replied, <quote who="Andrzej Krzysztofowicz">Xconfig is
written basing on silent assumption that each variable should be defined in
only one place. This assumption is broken in the drivers/video/Config.in
file, however...For i386 architecture you can try my xconfig patch: <a
href="ftp://rudy.mif.pg.gda.pl/pub/People/ankry/linux-patches/2.2/xconfig/patch-xconfig-990407.gz">ftp://rudy.mif.pg.gda.pl/pub/People/ankry/linux-patches/2.2/xconfig/patch-xconfig-990407.gz</a>.
It fixes this problem partially ignoring most of options which cannot be ever
sellected for current architecture. However, for ppc/m68k/sparc/sparc64 the
problem is more serious and cannot be removed in this way.</quote></p>

</section>

<section
  title="Debian Problem"
  subject="2.2.6 breaks one-way cable modem (sb1000)"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00355.html"
  posts="5"
  startdate="24 Apr 1999 00:00:00 -0800"
  enddate="26 Apr 1999 00:00:00 -0800"
>
<topic>Modems</topic>
<topic>Networking</topic>

<mention>Christoph Lameter</mention>
<mention>Steven N. Hirsch</mention>

<p>Illuminatus Primus said, <quote who="Illuminatus Primus">After
upgrading from 2.2.0 to 2.2.6, it seems that packets that arrive on
an interface using the same address as another previously-existing
interface get discarded.</quote> Christoph Lameter said to do an "echo
0 &gt;/proc/net/ipv4/xxx/rp-filter" to switch the discarding off. Steven
N. Hirsch couldn't find the problem in 2.2.6ac1, and asked if the default
had changed in the vanilla kernels.</p>

<p>Illuminatus posted again, having tracked the culprit to a snippet in
/etc/init.d/netbase in Debian Slink. Steven hadn't seen the problem in ac1
because he used Red Hat, which left rp_filter alone.</p>

</section>

<section
  title="Purpose Of ioremap()"
  subject="When to use ioremap?"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00365.html"
  posts="5"
  startdate="24 Apr 1999 00:00:00 -0800"
  enddate="26 Apr 1999 00:00:00 -0800"
>

<mention>Jeff Garzik</mention>

<p>Jeff Garzik was exploring the docs, and found that in
Documentation/IO-mapping.txt, it said that reading from IO space used
readl(), while writing used ioremap(). He wanted to know why writing required
ioremap(). Philip Blundell replied, <quote who="Philip Blundell">0xc0000 is in
the ISA memory space. This area is special in that (on PC machines at least)
you can access it without ioremap, and in fact ioremap will just return the
original address. It's still good practice to use ioremap for this sort of
memory though.</quote></p>

<p>Alan Cox added, <quote who="Alan Cox">Using ioremap for all cases is
almost certainly going to be required in 2.3.x. The fact its not always
needed right now is one of the biggest obstacles to supporting a more sane
range of memory sizes.</quote></p>

</section>

<section
  title="Floating Point Inside The Kernel"
  subject="Double or float in kernel modules"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00424.html"
  posts="3"
  startdate="25 Apr 1999 00:00:00 -0800"
  enddate="26 Apr 1999 00:00:00 -0800"
>
<topic>Assembly</topic>

<p>Ravi Wijayaratne asked if and how he could use a double or float in a kernel
module. Richard B. Johnson said:</p>

<quote who="Richard B. Johnson">

<p>This is becoming a
FAQ.</p>

<p>You can't use the floating point unit inside the kernel. The reason
is that the state of the FPU is undefined within the kernel. Of course,
in principle, anything is possible, however, you would have to:</p>

<p><ol>
<li>Lock the kernel.</li>
<li>Save the current FPU state (this also does 'finit').</li>
<li>Do the math.</li>
<li>restore the FPU state.</li>
<li>Ulock the kernel.</li>
</ol></p>

<p>I don't have the ix86 book here, but it's about 130 or so clocks to save
the FPU state and slightly less to restore it. You can do a lot of integer
math in those clocks.</p>

<p>It is also difficult to have the 'C' compiler do what you want when you
want it, so to make sure the FPU state was safe, you probably would have
to do everything in inline-asm. There is the additional problem of handling
FPU exceptions within the kernel.</p>

<p>So, as you can see, you don't want to use the FPU within the kernel. Also,
some ix86 processors don't have FPU units. When encountering a FPU opcode,
the kernel traps to an exception handler which emulates the FPU.</p>

</quote>

</section>

<section
  title="Bug In A Fix"
  subject="Linux 2.0.37pre11"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_04/msg00693.html"
  posts="6"
  startdate="27 Apr 1999 00:00:00 -0800"
  enddate="29 Apr 1999 00:00:00 -0800"
>
<topic>Debugging</topic>
<topic>SMP</topic>

<mention>Stephen C. Tweedie</mention>
<mention>Alan Cox</mention>
<mention>Patrick J. LoPresti</mention>

<p>Alan Cox posted the latest 2.0 patch, and Patrick J. LoPresti said he
was getting memory problems on both of his SMP machines after upgrading. He
confirmed that the problem did <em>not</em> exist with 2.0.37pre10. Alan
traced the problem to a patch from Stephen C. Tweedie that aimed at fixing
an mm race condition, and said he'd back it out for the next release.</p>

</section>

<section
  title="Minor Legacies"
  subject="2.2.7: USB subsystem"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_05/msg00014.html"
  posts="2"
  startdate="29 Apr 1999 00:00:00 -0800"
  enddate="29 Apr 1999 00:00:00 -0800"
>
<topic>USB</topic>

<p>Ulrich Windl said, <quote who="Ulrich Windl">Viewing the USB patches,
I get the impression that shell scripts like linux/drivers/usb/stopusb
should go to the scripts (sub)directory... (Or include them in the
documentation)</quote></p>

<p>Linus Torvalds replied, <quote who="Linus Torvalds">Well, they
should probably be removed, they're really only there to help early
development..</quote></p>

<p>EOT.</p>

</section>

<section
  title="Possible Bug In TCP Stack"
  subject="Behaviour of OOB in TCP ?"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_05/msg00048.html"
  posts="6"
  startdate="29 Apr 1999 00:00:00 -0800"
  enddate="29 Apr 1999 00:00:00 -0800"
>
<topic>BSD</topic>
<topic>Networking</topic>

<p>Oren Laadan wanted some comments on Out Of Band (OOB) data:</p>

<quote who="Oren Laadan">

<p>Consider the following scenario:</p>

<p>A and B have a TCP connection. A sends B four bytes, then an OOB byte,
then another four bytes, and finally another OOB. Only then process B reads
the data. (without OOB inline).</p>

<p>Under BSD the first OOB byte is lost forever, and process B will read
8 bytes before stopping at the second OOB, and nothing else (but naturally
the second OOB itself with MSG_OOB flag in recv()).</p>

<p>Under Linux, the first OOB byte is inserted into the stream (!) and thus
process B will get 9 bytes before the second OOB. This would still happen
EVEN IF process B ALREADY read the first OOB byte but did not yet consume
the data prior to it (thus - the first OOB is received twice: once as OOB
and once in stream).</p>

<p>The reason for the difference is the following: In BSD, whenever an OOB
byte arrives it is immediately taken out of the stream (unless OOB_INLINE is
specified) so there is no need for special handling in the regular receive
routine. This byte is saved in a special field (so it can be retrieved later
by the process). In Linux, it is not removed from the stream, but instead a
special field holds its sequence number, and the receive subroutine takes care
of not copying this byte to the user. Thus, when a second OOB arrives before
the entire data prior to the first OOB is consumed, the field is overwritten
by the new value, and the old byte remains as a regular byte in the stream
(EVEN IF IT WAS CONSUMED BY THE PROCESS, as long as data prior to it in the
stream is still buffered).</p>

<p>It seems like the behaviour the TCP stack in Linux broken (or I missed
something in the RFC). In that case, the fix would naturally be to change
the code to either (1) work like BSD and remove the byte from the stream or
(2) keep multiple OOB pointers (which is expensive and complicated).</p>

</quote>

<p>Andi Kleen replied, <quote who="Andi Kleen">TCP has no real out-of-band
data. It has urgent data. If you see it as urgent data the Linux behaviour
makes sense. I don't think it is worth the effort to change it to be 100%
BSD compatible. The bug is really that the sockets API maps urgent data
to something called out-of-band data,</quote> and added, <quote who="Andi
Kleen">I'll document the behaviour in my network man pages.</quote></p>

<p>Elsewhere, Craig Milo Rogers offered the following historical
digression:</p>

<quote who="Craig Milo Rogers">

<p>The problem is that TCP was developed using the concept of "urgent" data,
rather than "out of band" data. The "urgent" flag was intended to mark the
presense of urgent data, not to delimit the urgent data; that was supposed
to take place in the stream itself. The BSD protocol designers violated that
design criterion.</p>

<p>The BSD designers (Bill Joy et al.) were working on a kernel inteface that
could encompass many different network transport layers, such as TCP/IP and
ISO/OSI. They designed portable applications to run on top of that interface,
and they wanted to use "out-of-band" data as a unifying concept, not "urgent"
data. They even went so far as to implement OOB data for TCP in the BSD network
stack, using nonstandard TCP options, and released a version of Unix with it,
without coordinating with the official IP/TCP developers, first. This move
was widely viewed with disfavor in the IP/TCP development community.</p>

<p>In response, the BSD developers said "we have found a way to implement
our software on TCP without using our nonstandard options". The fact that
they did this by subtly breaking TCP itself was not immediately understood
by the IP/TCP developers.</p>

<p>Of course, BSD could have achieved OOB data by using a second TCP port
(or something even more extreme, such as a UDP port). This would have worked
well with the TCP spec, but would have consumed a second port; even in 1981,
it was recognized that the 16-bit port space was a bit tight if you made
frequent connections. Or, if rsh/rlogin had used a count or escape sequence
to delimit out-of-band data... but I believe that they were trying to avoid
the inefficiences of that approach.</p>

</quote>

</section>

<section
  title="Fixes For Rarely Touched Code"
  subject="[PATCH] missing lock_kernel() and assorted races"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_05/msg00073.html"
  posts="7"
  startdate="29 Apr 1999 00:00:00 -0800"
  enddate="30 Apr 1999 00:00:00 -0800"
>
<topic>Version Control</topic>

<mention>Alexander Viro</mention>

<p>Alexander Viro posted a patch to fix a number of problems. David S. Miller
replied, <quote who="David S. Miller">the architectures where you made the
most changes don't even compile in 2.2.7 and haven't been updated in nearly
half of a year :-)</quote> and Alan Cox added, <quote who="Alan Cox">and
some of the bugs appear to be in the relevant CVS trees too.</quote></p>

</section>

<section
  title="Sangoma Wanpipe Still Not Ready"
  subject="2.2.6 and Sangoma WANPIPE"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_05/msg00230.html"
  posts="5"
  startdate="30 Apr 1999 00:00:00 -0800"
  enddate="04 May 1999 00:00:00 -0800"
>

<p>Camm Maguire had some problems with the Sangoma wanpipe S508 cards on
the routers he was using: the line would freeze after a day or so. Alan Cox
replied, <quote who="Alan Cox">This is why the code is still in -ac and I've
not sent it to Linus. You aren't the only people with this problem and the
new code. Once I get updates from Sangoma that survive testing then it'll
go on to Linus.</quote></p>

</section>

<section
  title="First Inkling Of 2.3 Coming Up"
  subject="IDE chipset support"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9904_05/msg00079.html"
  posts="3"
  startdate="29 Apr 1999 00:00:00 -0800"
  enddate="30 Apr 1999 00:00:00 -0800"
>
<topic>Disks: IDE</topic>
<topic>PCI</topic>

<p>Andre Malafaya asked if and when the Alladin M1543 IDE chipset would be
supported by Linux, and Andre Hedrick said:</p>

<quote who="Andre Hedrick">

<p>I have just discussed this issue with Linus yesterday. In order to get
support for the new Super Socket 7's, there was a need to perform some exotic
pre-init. This may be moved to the pci-quirk list, but I just asked Martin
M. about it late last night.</p>

<p>Unless I can reduce the exotic nature of the new code and mainstream it into
what is required..........2.3.X is the introduction in the very near future.
I will not specify a time scale, as I have not asked if I could disclose
that information. It is not a great secret, but I do not have the authority
to make such announcements.</p>

<p>I am trying to find time to restructure the code, but I have very little. I
proposed my work as a candidate for pre-patch-2.2.8-1/2/3, but I I may have
to withdrawl that request for the next pre-patch series.</p>

<p>Since It is first on the list for 2.3.0, and with success and stablity
proven, it will be back ported.</p>

</quote>

</section>

</kc>
