<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="90" date="23 Oct 2000 00:00:00 -0800" />

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

<stats posts="1027" size="4036" contrib="334" multiples="148" lastweek="131">

<person posts="54" size="150" who="Alan Cox " />
<person posts="37" size="134" who="Rik van Riel " />
<person posts="31" size="110" who="Linus Torvalds " />
<person posts="29" size="76" who="&quot;David S. Miller&quot; " />
<person posts="28" size="117" who="Tigran Aivazian " />
<person posts="23" size="68" who="Andre Hedrick " />
<person posts="19" size="68" who="Andrea Arcangeli " />
<person posts="18" size="135" who="James Simmons " />
<person posts="15" size="54" who="Vojtech Pavlik " />
<person posts="15" size="48" who="&quot;Andi Kleen&quot; " />
<person posts="14" size="39" who="Keith Owens " />
<person posts="13" size="47" who="David Ford " />
<person posts="12" size="32" who="Ingo Molnar " />
<person posts="11" size="35" who="Torben Mathiasen " />
<person posts="10" size="30" who="Jamie Lokier " />
<person posts="10" size="30" who="safemode " />
<person posts="10" size="26" who="" />
<person posts="9" size="60" who="&quot;Jeff V. Merkey&quot; " />
<person posts="9" size="42" who="Byron Stanoszek " />
<person posts="9" size="39" who="Boszormenyi Zoltan " />
<person posts="9" size="30" who="Kenn Humborg " />
<person posts="9" size="30" who="Jens Axboe " />
<person posts="9" size="29" who="Benjamin Herrenschmidt " />
<person posts="8" size="30" who="&quot;Mike A. Harris&quot; " />
<person posts="8" size="27" who="&quot;Dunlap, Randy&quot; " />
<person posts="8" size="25" who="Jeff Garzik " />
<person posts="7" size="42" who="Bartlomiej Zolnierkiewicz " />
<person posts="7" size="38" who="" />
<person posts="7" size="29" who="Richard Henderson " />
<person posts="7" size="22" who="Matthew Hawkins " />
<person posts="7" size="20" who="Frank de Lange " />
<person posts="7" size="19" who="Chris Evans " />
<person posts="6" size="84" who="Geert Uytterhoeven " />
<person posts="6" size="33" who="Matthew Dharm " />
<person posts="6" size="33" who="&quot;Richard B. Johnson&quot; " />
<person posts="6" size="32" who="Miles Lane " />
<person posts="6" size="29" who="Erik Mouw " />
<person posts="6" size="27" who="Brian Gerst " />
<person posts="6" size="25" who="Gnea " />
<person posts="6" size="23" who="David Woodhouse " />
<person posts="6" size="21" who="Andrew Morton " />
<person posts="6" size="19" who="Andre Tomt " />
<person posts="6" size="18" who="" />
<person posts="6" size="17" who="Igmar Palsenberg " />
<person posts="6" size="15" who="Andries Brouwer " />
<person posts="5" size="68" who="jamal " />
<person posts="5" size="31" who="Karim Yaghmour " />
<person posts="5" size="24" who="Ingo Oeser " />
<person posts="5" size="21" who=" (Jim Gettys)" />
<person posts="5" size="19" who="David Weinehall " />
<person posts="5" size="16" who="&quot;J . A . Magallon&quot; " />
<person posts="5" size="15" who="Cort Dougan " />
<person posts="5" size="15" who="Harald Welte " />
<person posts="5" size="14" who="Roman Zippel " />
<person posts="5" size="14" who="Bernd Eckenfels " />
<person posts="5" size="14" who="Ralf Baechle " />
<person posts="4" size="24" who="David Wragg " />
<person posts="4" size="20" who="Kurt Garloff " />
<person posts="4" size="18" who="Jordan " />
<person posts="4" size="18" who="" />
<person posts="4" size="16" who="Trond Myklebust " />
<person posts="4" size="15" who=" (Linus Torvalds)" />
<person posts="4" size="14" who="Mikael Pettersson " />
<person posts="4" size="14" who="" />
<person posts="4" size="13" who="Horst von Brand " />
<person posts="4" size="13" who="Alexander Viro " />
<person posts="4" size="12" who="Sasi Peter " />
<person posts="4" size="11" who="Philipp Rumpf " />
<person posts="4" size="11" who="Dax Kelson " />
<person posts="4" size="9" who="Peter Samuelson " />
<person posts="3" size="43" who="" />
<person posts="3" size="29" who="FORT David " />
<person posts="3" size="21" who="Yong Chi " />
<person posts="3" size="19" who="Dag B " />
<person posts="3" size="18" who="&quot;Jeff V. Merkey&quot; " />
<person posts="3" size="15" who="Zdenek Kabelac " />
<person posts="3" size="15" who="&quot;Dr. Michael Weller&quot; " />
<person posts="3" size="13" who="Kesmarki Attila " />
<person posts="3" size="12" who="Greg KH " />
<person posts="3" size="12" who="Marco Colombo " />
<person posts="3" size="11" who="Jakub Jelinek " />
<person posts="3" size="11" who="Andrey Savochkin " />
<person posts="3" size="10" who="&quot;Bruce A. Locke&quot; " />
<person posts="3" size="10" who="Andreas Dilger " />
<person posts="3" size="9" who="Michael Meding " />
<person posts="3" size="9" who="Thorsten Kranzkowski " />
<person posts="3" size="9" who="&quot;Sean Estabrooks&quot; " />
<person posts="3" size="9" who="Guest section DW " />
<person posts="3" size="9" who="Matthias Andree " />
<person posts="3" size="9" who="Marcelo Tosatti " />
<person posts="3" size="9" who="Andi Kleen " />
<person posts="3" size="8" who="&quot;Phillips, Mike&quot; " />
<person posts="3" size="8" who="Alison Stewart " />
<person posts="3" size="8" who="Jan Niehusmann " />
<person posts="3" size="8" who="bert hubert " />
<person posts="3" size="7" who="Anton Blanchard " />
<person posts="3" size="7" who="&quot;Seiichi Nakashima&quot; " />
<person posts="2" size="33" who="Markus " />
<person posts="2" size="27" who="Ben LaHaise " />
<person posts="2" size="20" who="Wayne Whitney " />
<person posts="2" size="17" who="Francois Romieu " />
<person posts="2" size="12" who="Jim Freeman " />
<person posts="2" size="10" who="&quot;Gomez, Bob&quot; " />
<person posts="2" size="9" who="Dewet Diener " />
<person posts="2" size="9" who="wollny " />
<person posts="2" size="9" who="&quot;Eric Bresie&quot; " />
<person posts="2" size="8" who="Chen Shiyuan " />
<person posts="2" size="8" who="Richard Guenther " />
<person posts="2" size="8" who="Michal Jaegermann " />
<person posts="2" size="8" who="Jesse Pollard " />
<person posts="2" size="8" who="John Coppens " />
<person posts="2" size="7" who="Joshua Uziel " />
<person posts="2" size="7" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="2" size="7" who="Shane Shrybman " />
<person posts="2" size="7" who="&quot;H. Peter Anvin&quot; " />
<person posts="2" size="7" who="David Ford " />
<person posts="2" size="7" who="Sudhindra Herle " />
<person posts="2" size="7" who="Tom Rini " />
<person posts="2" size="7" who="Matti Aarnio " />
<person posts="2" size="6" who="Ivan Kokshaysky " />
<person posts="2" size="6" who="Tom Holroyd " />
<person posts="2" size="6" who="Larry McVoy " />
<person posts="2" size="6" who="Douglas Gilbert " />
<person posts="2" size="6" who=" (Ruud de Rooij)" />
<person posts="2" size="6" who="&quot;Petr Vandrovec&quot; " />
<person posts="2" size="6" who="Ben Greear " />
<person posts="2" size="6" who="Helge Hafting " />
<person posts="2" size="5" who="John Cavan " />
<person posts="2" size="5" who="Ralf Sinoradzki " />
<person posts="2" size="5" who="Tim Waugh " />
<person posts="2" size="5" who="Mark Hahn " />
<person posts="2" size="5" who="Stephen Tweedie " />
<person posts="2" size="5" who="Mitchell Blank Jr " />
<person posts="2" size="5" who="&quot;Mike Jagdis&quot; " />
<person posts="2" size="5" who="Greg KH " />
<person posts="2" size="5" who="Thomas Hood " />
<person posts="2" size="5" who="Oliver Xymoron " />
<person posts="2" size="5" who="Ingo Molnar " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Wakko Warner " />
<person posts="2" size="5" who="Paul Jakma " />
<person posts="2" size="5" who="James Lewis Nance " />
<person posts="2" size="5" who="&quot;Chris Swiedler&quot; " />
<person posts="2" size="5" who="Dan Aloni " />
<person posts="2" size="4" who="Gerhard Mack " />
<person posts="2" size="4" who="Markus Pfeiffer " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Lorenzo Allegrucci " />
<person posts="1" size="21" who="Francois ROMIEU " />
<person posts="1" size="15" who="Rasmus Andersen " />
<person posts="1" size="14" who="Paul Schulz " />
<person posts="1" size="13" who="Dag Bakke " />
<person posts="1" size="11" who="Richard Polton " />
<person posts="1" size="11" who="Michael Westermann " />
<person posts="1" size="11" who="&quot;Robert B. Easter&quot; " />
<person posts="1" size="9" who="Paul " />
<person posts="1" size="8" who="Daniel Lange " />
<person posts="1" size="8" who="Serguei Miridonov " />
<person posts="1" size="7" who="&quot;Juan J. Quintela&quot; " />
<person posts="1" size="7" who="Aaron Botsis " />
<person posts="1" size="7" who="Jeff Hartmann " />
<person posts="1" size="6" who="Arnaldo Carvalho de Melo " />
<person posts="1" size="6" who="Randy Dunlap " />
<person posts="1" size="6" who="Jan-Simon Pendry " />
<person posts="1" size="5" who="Igor Mozetic " />
<person posts="1" size="5" who="Patrick Mau " />
<person posts="1" size="5" who="Marty Fouts " />
<person posts="1" size="5" who="Bernd Porr " />
<person posts="1" size="5" who="Adam Huffman " />
<person posts="1" size="5" who="Jonathan Hudson " />
<person posts="1" size="5" who="Petko Manolov " />
<person posts="1" size="5" who="Vitaly Luban " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Dmitry Pogosyan " />
<person posts="1" size="4" who="Jorg de Jong " />
<person posts="1" size="4" who="james rich " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="James M " />
<person posts="1" size="4" who="Harold Oga " />
<person posts="1" size="4" who="Kanoj Sarcar " />
<person posts="1" size="4" who="Kurt Garloff " />
<person posts="1" size="4" who="Young-Ho Cha " />
<person posts="1" size="4" who="Andrew Pimlott " />
<person posts="1" size="4" who="Francois romieu " />
<person posts="1" size="4" who="John Williams " />
<person posts="1" size="4" who="Ed Taranto " />
<person posts="1" size="3" who="Mike Elmore " />
<person posts="1" size="3" who="Chris Kloiber " />
<person posts="1" size="3" who="David Rees " />
<person posts="1" size="3" who="&quot;Brian J. Murrell&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Frank van Maarseveen " />
<person posts="1" size="3" who="Favre Gregoire " />
<person posts="1" size="3" who=" (Rogier Wolff)" />
<person posts="1" size="3" who="Athanasius " />
<person posts="1" size="3" who="Demonishi " />
<person posts="1" size="3" who="Malcolm Beattie " />
<person posts="1" size="3" who="&quot;J.A. Sutherland&quot; " />
<person posts="1" size="3" who="Ivan Passos " />
<person posts="1" size="3" who="David Relson " />
<person posts="1" size="3" who="&quot;H. Peter Anvin&quot; " />
<person posts="1" size="3" who="Andreas Schwab " />
<person posts="1" size="3" who="Petr Vandrovec " />
<person posts="1" size="3" who="Matthias Andree " />
<person posts="1" size="3" who="Aaron Sethman " />
<person posts="1" size="3" who="Walter Hofmann " />
<person posts="1" size="3" who="Taco IJsselmuiden " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Daniel Podlejski " />
<person posts="1" size="3" who="Richard Torkar " />
<person posts="1" size="3" who="John Silva " />
<person posts="1" size="3" who="&quot;Albert D. Cahalan&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Krzysztof Sierota " />
<person posts="1" size="3" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="1" size="3" who="manfred " />
<person posts="1" size="3" who="Horst von Brand " />
<person posts="1" size="3" who="Urs Hengartner " />
<person posts="1" size="3" who="Thomas Graichen " />
<person posts="1" size="3" who="Panu Matilainen " />
<person posts="1" size="3" who="Hacksaw " />
<person posts="1" size="3" who="Horst von Brand " />
<person posts="1" size="3" who="Fabio Massimo Di Nitto " />
<person posts="1" size="3" who="David Vrabel " />
<person posts="1" size="3" who="Rui Sousa " />
<person posts="1" size="3" who="Hai-Pao Fan " />
<person posts="1" size="3" who="Ishikawa " />
<person posts="1" size="3" who=" (Arjan van de Ven)" />
<person posts="1" size="3" who="Mark Hemment " />
<person posts="1" size="3" who=" (Gerd Knorr)" />
<person posts="1" size="3" who="Paul Jakma " />
<person posts="1" size="3" who="Marcus Sundberg " />
<person posts="1" size="3" who="Andrzej Krzysztofowicz " />
<person posts="1" size="3" who="Adrian Bunk " />
<person posts="1" size="3" who="blizbor " />
<person posts="1" size="3" who="=?iso-8859-1?Q?Andr=E9_Dahlqvist?= " />
<person posts="1" size="3" who="Lincoln Dale " />
<person posts="1" size="3" who="&quot;Jeff Nguyen&quot; " />
<person posts="1" size="3" who="Mike Castle " />
<person posts="1" size="3" who="Henning Zabel " />
<person posts="1" size="3" who="Jason Slagle " />
<person posts="1" size="3" who="David Gibson " />
<person posts="1" size="3" who="David Lang " />
<person posts="1" size="3" who="John Levon " />
<person posts="1" size="3" who="Michael Meissner " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Alain Knaff " />
<person posts="1" size="3" who="Jorge Nerin " />
<person posts="1" size="3" who="Erik Tews " />
<person posts="1" size="3" who="Nathan Paul Simons " />
<person posts="1" size="3" who=" (John Alvord)" />
<person posts="1" size="3" who="Joel Beach " />
<person posts="1" size="3" who="Darron Froese " />
<person posts="1" size="3" who="root " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="=?iso-8859-2?Q?G=E1bor_L=E9n=E1rt?= " />
<person posts="1" size="2" who="David Feuer " />
<person posts="1" size="2" who="James Sutherland " />
<person posts="1" size="2" who="Francis Galiegue " />
<person posts="1" size="2" who="z " />
<person posts="1" size="2" who="Sandy Harris " />
<person posts="1" size="2" who="Andris Pavenis " />
<person posts="1" size="2" who="Richard Gooch " />
<person posts="1" size="2" who="David Mosberger " />
<person posts="1" size="2" who="Gregory Maxwell " />
<person posts="1" size="2" who="David Hinds " />
<person posts="1" size="2" who="john slee " />
<person posts="1" size="2" who="Paul Powell " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Michael Vines " />
<person posts="1" size="2" who="Armin Schindler " />
<person posts="1" size="2" who="Ragnar Hojland Espinosa " />
<person posts="1" size="2" who="Bruno Boettcher " />
<person posts="1" size="2" who="&quot;Chris Swiedler&quot; " />
<person posts="1" size="2" who="&quot;Rich Baum&quot; " />
<person posts="1" size="2" who="Dieter =?iso-8859-1?Q?N=FCtzel?= " />
<person posts="1" size="2" who="Patrick van de Lageweg " />
<person posts="1" size="2" who="Graham TerMarsch " />
<person posts="1" size="2" who="&quot;Emmanuel STAPF&quot; " />
<person posts="1" size="2" who="Rameshbabu Prabagaran " />
<person posts="1" size="2" who="Ted Gervais " />
<person posts="1" size="2" who="&quot;Johan Kullstam&quot; " />
<person posts="1" size="2" who="Chris Quinn " />
<person posts="1" size="2" who="Markus Pfeiffer " />
<person posts="1" size="2" who="&quot;Dr. Kelsey Hudson&quot; " />
<person posts="1" size="2" who="Timur Tabi " />
<person posts="1" size="2" who="Petri Kaukasoina " />
<person posts="1" size="2" who="William T Wilson " />
<person posts="1" size="2" who="Eric Lowe " />
<person posts="1" size="2" who="Admin Mailing Lists " />
<person posts="1" size="2" who="Alexander Riesen " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="=?iso-8859-1?q?willy=20tarreau?= " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Thomas Zimmerman " />
<person posts="1" size="2" who="Olaf Titz " />
<person posts="1" size="2" who="Willy TARREAU " />
<person posts="1" size="2" who="Robert Brooks " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Jerry Kelley&quot; " />
<person posts="1" size="2" who="John Covici " />
<person posts="1" size="2" who="Anil kumar " />
<person posts="1" size="2" who="Tom Leete " />
<person posts="1" size="2" who="&quot;daniel sheltraw&quot; " />
<person posts="1" size="2" who="Andreas Jellinghaus " />
<person posts="1" size="2" who="Jeff Garzik " />
<person posts="1" size="2" who="Per Andreas Buer " />
<person posts="1" size="2" who="&quot;Philip R. Auld&quot; " />
<person posts="1" size="2" who="&quot;Brian Parris&quot; " />
<person posts="1" size="2" who="Michael Liljeblad " />
<person posts="1" size="2" who="&quot;imel...&quot; " />
<person posts="1" size="2" who="Matthew Jacob " />
<person posts="1" size="2" who="&quot;Andreas S. Kerber&quot; " />
<person posts="1" size="2" who="Lars Callenbach " />
<person posts="1" size="2" who="Chmouel Boudjnah " />
<person posts="1" size="2" who="Gregoire Favre " />
<person posts="1" size="2" who="Hal Duston " />
<person posts="1" size="2" who="&quot;Dabney, Blane&quot; " />
<person posts="1" size="2" who="Henner Eisen " />
<person posts="1" size="2" who="&quot;Linux Kernel Developer&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Lukas Hejtmanek " />
<person posts="1" size="2" who="Mikulas Patocka " />
<person posts="1" size="2" who="Greg Hennessy " />
<person posts="1" size="2" who="&quot;Dr S.M. Huen&quot; " />
<person posts="1" size="2" who="surya kodukula " />
<person posts="1" size="2" who="Andris Pavenis " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Adam Popik " />
<person posts="1" size="2" who="Jerry Frana " />

</stats>

<section
  title="Problems With The 'dbri' Sound Module"
  subject="aaaah! complete lockup 2.4.0-test9 SPARC32"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.0/0679.html"
  posts="5"
  startdate="04 Oct 2000 00:00:00 -0800"
  enddate="12 Oct 2000 00:00:00 -0800"
>

<mention>Dr. Kelsey Hudson</mention>
<mention>Pete Zaitcev</mention>

<p>Dr. Kelsey Hudson reported that loading and unloading the 'dbri.o'
sound driver would lock the system up solid. Anton Blanchard replied,
<quote who="Anton Blanchard">Short answer: don't use the dbri module :)
It is buggy and requires someone to fix it.</quote> Joshua Uziel replied that he
and Pete Zaitcev had taken a look at this, and had managed to generate and
analyze several oopsen. He posted a patch and said:</p>

<quote who="Joshua Uziel">

<p>Pete noticed that _sparc_free_io() wasn't aligning plen properly... problem
solved.</p>

<p>While we were there, we noticed a few more problems in the file (misuse
of a #define, and poor renaming of copied code).</p>

<p>At this point, the dbri driver is properly loadable and unloadable...
now it just needs to be fixed... the patch follows...</p>

</quote>

Anton replied, <quote who="Anton Blanchard">Looks good, committed to
vger. Thanks guys!</quote>

</section>

<section
  title="Low Latency Patch For 2.4.0-test9"
  subject="lowish-latency patch for 2.4.0-test9"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.0/0872.html"
  posts="6"
  startdate="06 Oct 2000 00:00:00 -0800"
  enddate="11 Oct 2000 00:00:00 -0800"
>
<topic>FS: ext2</topic>
<topic>Networking</topic>
<topic>Real-Time</topic>
<topic>SMP</topic>
<topic>Virtual Memory</topic>

<mention>Rik van Riel</mention>

<p>Andrew Morton announced:</p>

<quote who="Andrew Morton">

<p>The little-low-latency patch for test9 is at</p>

<p><a href="http://www.uow.edu.au/~andrewm/linux/2.4.0-test9-low-latency.patch">http://www.uow.edu.au/~andrewm/linux/2.4.0-test9-low-latency.patch</a></p>

<p>Notes:</p>

<ul>

<li>It now passes Benno's tests with 50% headroom (thanks to
  Ingo's scheduler race fix).</li>

<li>Updated to follow the wandering ext2 truncate code.</li>

<li>Updated for the new VM.  (I'll have to ask Rik to take a
  look at this part sometime).</li>

<li>

<p>Set TASK_RUNNING in conditional_schedule().</p>

<p>  This is probably unnecessary - current-&gt;state appears to be
  always equal to TASK_RUNNING in the places I'm using it.</p>

<p>  So we test for this beforehand to avoid unnecessarily dirtying
  cache lines.</p>

<p>  (This optimisation should be done anyway, especially for SMP).</p>

</li>

<li>net/ipv4/tcp_minisocks.c:tcp_twkill() can spend tens or even
  hundreds of milliseconds within a timer handler.  I have a
  fix for this, but Alexey agrees that this needs to be
  addressed independently of the low-latency patch.  So this file
  is untouched.</li>

<li>

<p>This entire feature has been *disabled* for SMP.  This patch
  is now UP-only.</p>

<p>  It is completely stable on SMP and the scheduling latency is
  just grand, as long as you don't push things too hard.  It
  then comes unstuck.</p>

<p>  This is because of the following scenario:</p>

<p>

<ul>

<li>CPU1 holds a long-lived spinlock such as dcache_lock
    in select_parent().</li>

<li>CPU0 is spinning on the same lock.</li>

<li>An interrupt occurs and the kernel tries to wake up
    your SCHED_FIFO task on CPU0.</li>

</ul>

</p>

<p>  You lose.  Nothing happens until CPU1 releases the lock
  a week later.</p>

<p>  There are a number of ways of fixing this, but they're
  messy.</p>

<p>  One way is to identify those locks and to add a test for
  current-&gt;need_resched into the spin.  This gets nastier
  if the BKL is held at the same time.</p>

<p>  Another way is to write a fully-preemptible SMP kernel
  patch :)</p>

</li>

</ul>

</quote>

Rik van Riel replied that he'd taken a very quick look and hadn't found any
problems.

</section>

<section
  title="VM Looking Good; 'OOM Killer' Discussion"
  subject="[PATCH] VM fix for 2.4.0-test9 &amp; OOM handler"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.0/0920.html"
  posts="141"
  startdate="06 Oct 2000 00:00:00 -0800"
  enddate="13 Oct 2000 00:00:00 -0800"
>
<topic>OOM Killer</topic>
<topic>Virtual Memory</topic>

<mention>Andrea Arcangeli</mention>
<mention>David Weinehall</mention>
<mention>James Lewis Nance</mention>
<mention>Ingo Molnar</mention>
<mention>Ingo Oeser</mention>

<p>Rik van Riel posted some fixes to the virtual memory subsystem. James Lewis
Nance and David Weinehall reported good results with the patch. David ran a
number of tests, configuring different amounts of memory and swap, and found no
problems at all.</p>

<p>Regarding the 'OOM Killer' (logic to kill the proper process when
the system runs out of memory), Byron Stanoszek asked, <quote who="Byron
Stanoszek">Can you give me your rationale for selecting 'nice' processes as
being badder?</quote> Rik replied, <quote who="Rik van Riel">They are niced
because the user thinks them a bit less important.</quote> A lot of people
disagreed with that idea, and several folks argued that a high nice value
was completely orthogonal to the importance of the task. Ingo Molnar located
the specific part of Rik's algorithm that he wanted removed, and Rik said,
<quote who="Rik van Riel">OK, done.</quote> Ingo replied that he thought
all the other heuristics were fair.</p>

<p>Andrea Arcangeli suggested that the 'OOM Killer' should have special
heuristics to avoid killing 'init'; and there was a big debate over it. Some
folks argued that killing 'init' was the same as killing the machine, and
so they should never kill 'init'. Others argued that if the 'OOM Killer' was
ever going to kill 'init', that would in itself represent a bug in the 'OOM
Killer' or 'init' that should be reported, and so any attempt to prevent the
'OOM Killer' from killing 'init' would amount to obscuring the bug.</p>

<p>At one point, Ingo Oeser posted <a
href="http://www.tu-chemnitz.de/~ioe/oom_kill_api.patch">a patch</a> to
enable any 'OOM Killer' as a loadable module, so anyone could test out their
favorite out-of-memory handler.  Rik thought the patch was a "cool toy",
and Tom Rini thought it was better than just a toy. Rik remarked, <quote
who="Rik van Riel">I suspect most of the people trying this would fall into
the trap of over-engineering their OOM killer, after which it mostly becomes
less predictable ;)</quote> and Tom replied, <quote who="Tom Rini">I was
thinking more along the lines of ones w/ "safety" features that not everyone
might like/need (ie /usr/local/bin/foo is always good, those sugjestions).
It seems like useful functionality at little/no cost.  And a neat toy for
now. :)</quote></p>

<p>In the course of discussion, Linus Torvalds posted a few messages. Among
them, he said:</p>

<quote who="Linus Torvalds">

<p>Nothing is perfect.</p>

<p>In fact, a lot of engineering is _recognizing_ that you can never achieve
"perfect", and you're much better off not even trying - and having a simple
system that is "good enough".</p>

<p>This is the old adage of "perfect is the enemy of good" - trying too
hard is actually _detrimental_ in 99% of all cases. We should have simple
heuristics that work most of the time, instead of trying to cajole a complex
system like X to help us do some complicated resource management system.</p>

<p>Complexity will just result in the OOM killer failing in surprising
ways.</p>

<p>A simple heuristic will mean that the OOM killer will still fail, but at
least it won't be be in subtle and surprising ways.</p>

</quote>

<p>Elsewhere, Rik added in response to various suggestions:</p>

<quote who="Rik van Riel">

<p>Sure we could do all of this, but does OOM really happen that often that
we want to make the algorithm this complex ?</p>

<p>The current algorithm seems to work quite well and is already at the
limit of how complex I'd like to see it. Having a less complex OOM killer
turned out to not work very well, but having a more complex one is - IMHO -
probably overkill ...</p>

</quote>

</section>

<section
  title="Maximum Size For DVD Images."
  subject="MAX iso9660 size?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/0291.html"
  posts="10"
  startdate="09 Oct 2000 00:00:00 -0800"
  enddate="10 Oct 2000 00:00:00 -0800"
>

<mention>Jens Axboe</mention>
<mention>Andre Hedrick</mention>

<p>Andre Hedrick asked if there were a limit on how big an iso9660 image
could be. He was having trouble creating 4.5G images, and wondered if there
was any fundamental limit. H. Peter Anvin replied, <quote who="H. Peter
Anvin">I belive kernels had a problem with ISO 9660 &gt; 2^31 or 2^32 bytes
until recently.  Also, mkisofs might not be able to handle it.</quote>
He and Alan Cox said DVD disks should be burned UDF
formatted. Andre asked where the tools were for handling UDF, and Alan replied,
<quote who="Alan Cox">I dont know where the DVD format building tools are,
but the isofs code won't handle &gt; 4Gig. I guess you could rewrite bits
of it to do so if you needed the size.</quote> Jens Axboe also gave a link
to the <a href="http://sourceforge.net/projects/linux-udf/">UDF project
on sourceforge</a>.</p>

</section>

<section
  title="Approaching 2.0.39"
  subject="When do release linux-2.0.39"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/0347.html"
  posts="3"
  startdate="10 Oct 2000 00:00:00 -0800"
>

<p>Seiichi Nakashima asked when 2.0.39 would be coming out, and David Weinehall
replied, <quote who="David Weinehall">Well, I'm still investigating some
problems that some users are experiencing. However, if I can't resolve those
within a reasonable time, I'll release v2.0.39.</quote> Seiichi thanked him
for the information and mentioned that he had no problems using 2.0.39-pre8.</p>

</section>

<section
  title="'kernel.org' Verification Key Updated"
  subject="kernel.org verification key updated"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/0374.html"
  posts="3"
  startdate="09 Oct 2000 00:00:00 -0800"
  enddate="10 Oct 2000 00:00:00 -0800"
>

<mention>Walter Hofmann</mention>

<p>H. Peter Anvin announced:</p>

<quote who="H. Peter Anvin">

<p>I just wanted to let everyone know that we have changed the cryptographic
key for the Linux Kernel Archives.  The reason is that the original key was
generated with an expiration date, and unfortunately it appears that too
much software out there doesn't support changing the expiration date on an
already valid key (the ability to do that, arguably, makes the expiration
date useless anyway.)</p>

<p>Therefore, we have revoked key 1E1A8782 generated 1999-10-15
and replaced it with key 517D0F0E generated 2000-10-10.  Please see <a
href="http://www.kernel.org/signature.html">http://www.kernel.org/signature.html</a>
for more information.</p>

<p>The archive machine is currently in process of generating new signature
files; they should be distributed to mirrors shortly thereafter in normal
order.</p>

</quote>

<p>However, the signature he used to sign this email was apparently mangled
during transmission; Walter Hofmann saw an error from 'gpg' while trying to
verify it. H. Peter resent the post with an updated signature, and the thread
ended.</p>

</section>

<section
  title="Does Everything But Make Coffee (Till Now)"
  subject="[PATCH] drivers/usb/Config.in"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/0326.html"
  posts="14"
  startdate="09 Oct 2000 00:00:00 -0800"
  enddate="11 Oct 2000 00:00:00 -0800"
>
<topic>USB</topic>

<p>In the course of discussion, Randy Dunlap remarked, <quote who="Randy
Dunlap">select USB HID support, that builds the hid driver, which handles
mice, keyboards, joysticks, gamepads, speaker buttons, any-old-kind-of
buttons, toaster buttons, etc.</quote> An impressed James Simmons
remarked, <quote who="James Simmons">I didn't realize USB had this level of
functionality.</quote> Matthew Dharm mused, <quote who="Matthew Dharm">Hrm... I
wonder if anyone out there is making USB Toasters.... That would be really nice
-- have a nice snack waiting for me when I get home, etc. ;)</quote> and James
mentioned the <a href="http://www.linuxdoc.org/HOWTO/mini/Coffee.html">Coffee
HOWTO</a> from the <a href="http://www.linuxdoc.org/">Linux Documentation
Project</a>.</p>

</section>

<section
  title="Nonexistent Functions In The Kernel - And Staying"
  subject="__bad_udelay in 2.2.18pre15"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/0484.html"
  posts="14"
  startdate="10 Oct 2000 00:00:00 -0800"
  enddate="11 Oct 2000 00:00:00 -0800"
>

<mention>Marcelo Tosatti</mention>
<mention>Andreas Schwab</mention>

<p>Marcelo Tosatti noticed that '__bad_udelay()' was used in 'udelay()' for
handling large values, but wasn't defined anywhere in the sources. Horst
von Brand explained, <quote who="Horst von Brand">That is precisely the
idea: Flag the places where udelay() is called with a large constant
value. Just won't find out uses with large _variable_ arguments, but it
is a start. Netted one in PCMCIA-CS...</quote> Alan Cox added succinctly,
<quote who="Alan Cox">Its a compile time error trap.</quote> Chris Swiedler
suggested, <quote who="Chris Swiedler">Wouldn't it be better to use an #error
directive? I'm sure this could turn into a FAQ, even though the symbol is
called "__bad_udelay()".</quote> Alan and Andreas Schwab pointed out that the
test couldn't be done in the pre-processor, where #error would be handled,
but had to be done in the compiler itself.</p>

</section>

<section
  title="Problems With Kernel CVS Tree"
  subject="CVS for kernel"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/0527.html"
  posts="12"
  startdate="10 Oct 2000 00:00:00 -0800"
  enddate="11 Oct 2000 00:00:00 -0800"
>
<topic>Samba</topic>
<topic>Version Control</topic>

<mention>David Lang</mention>
<mention>Andi Kleen</mention>

<p>Keith Owens asked about the kernel CVS tree. the linux-kernel FAQ pointed
to <a href="ftp://vger.kernel.org/pub/linux/README.CVS">a README file</a>,
but this file (and site) didn't seem to exist. And he added, <quote who="Keith
Owens">The mirror at samba.org is too slow, to the extent that even doing a
sync at 6AM local time gives up part way through.</quote> David S. Miller
replied that the samba.org tree was <quote who="David S. Miller">the only
anoncvs available sorry.  We'll have to work out the performance problems with
this site.</quote> Andi Kleen asked about the mirror at openprojects.org,
and David replied, <quote who="David S. Miller">Unmaintained, was falling
apart, then shut down because of that.</quote></p>

<p>Elsewhere, David Lang pointed out that as far as he could remember, the
BitKeeper site kept an uptodate copy of the kernel. But David M. replied that
Keith wanted his (David M.'s) live CVS tree, <quote who="David S. Miller">which
has all of my current Sparc and networking patches applied.</quote> Larry
McVoy offered to set up a Bitkeeper repository to mirror David M.'s tree, if
a lot of people were interested.</p>

<p>Keith replied, <quote who="Keith Owens">The ability to see checked in
changes before Linus/Alan sends out a new kernel patch would be the only
reason for me to even look at BK.  Without the ability to get absolutely
up to date sources, I may as well wait for Linus/Alan to release a pre
patch.</quote> Larry asked, <quote who="Larry McVoy">So what's your point?
It's only useful if we are tracking Dave's tree on a frequent basis?</quote>
Keith replied, <quote who="Keith Owens">Yes.  I am usually up to date on pre
patches within a few hours of their release, but then I have to play catch
up to get my own patches up to date.  What I would like is the ability to see
what is in the kernel CVS tree before the pre patch is sent out so I can get
modutils/ksymoops/kdb patches ready ahead of the kernel patch release.</quote>
Oliver Xymoron replied, <quote who="Oliver Xymoron">You're out of luck -
Linus doesn't use CVS (at least for the kernel).  Perhaps we can convince
Alan to do it for 2.2.x and set a precedent..</quote> But Alan Cox said,
<quote who="Alan Cox">It wouldnt help you anyway. I tend to apply all the
patches I approve in one batch, run through them test them and then do a
release, then go do other useful stuff, so you wouldnt get get anything but
a tree of 'applied all but untested' out of it.</quote></p>

</section>

<section
  title="'modprobe' 'exec()'ed From The Kernel"
  subject="why is modprobe (and nothing else) exec()'d?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/0967.html"
  posts="6"
  startdate="13 Oct 2000 00:00:00 -0800"
  enddate="14 Oct 2000 00:00:00 -0800"
>

<mention>Brian Gerst</mention>
<mention>Ingo Oeser</mention>

<p>Chris Swiedler noticed that the user-space tool 'modprobe' was called by the
kernel, which seemed odd. He suggested compiling it into the kernel directly,
but Keith Owens, Brian Gerst, Ingo Oeser, and Harald Welte pointed out that
'modprobe' had user-space uses, and could be run at any time. Keith added,
<quote who="Keith Owens">It shares a lot of code with insmod and depmod,
another pair of user space tools.</quote> Chris said, <quote who="Chris
Swiedler">Ok, I should have thought of that ;-). I've never used modprobe
directly myself, and had forgotten that was possible. Thanks to everyone
who replied.</quote></p>

</section>

<section
  title="Sparc Fixes"
  subject="[PATCH] Rewritten drivers/sbus/[audio,char]/Makefile"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/0970.html"
  posts="6"
  startdate="13 Oct 2000 00:00:00 -0800"
  enddate="14 Oct 2000 00:00:00 -0800"
>

<mention>Bartlomiej Zolnierkiewicz</mention>

<p>Bartlomiej Zolnierkiewicz posted a Makefile patch which was apparently
accepted. David S. Miller complained:</p>

<quote who="David S. Miller">

<p>Linus, why did you apply this?  It was totally untested and breaks both
Sparc builds.  I was going to work on fixing it and then submit it to you
tonight.</p>

<p>Please, people, submit Sparc patches to me when possible.  This makes my
life a lot simpler as I can sanity check all submissions.  A lot of folks
simply don't have sparcs with which to do even a compile check, and thats ok,
just put the changes through me first and all those problems are solved.</p>

</quote>

Linus Torvalds replied that <quote who="Linus Torvalds">sparc is broken
anyway, and this way those Makefiles _will_ get fixed.</quote> Andre Hedrick
commiserated with David, <quote who="Andre Hedrick">Neither your or I have the
time to dork with Makefiles, and Bart understands them.  Be thankful, because
the script rules of these puppies are worth a bottle of bayer(tm).</quote>
David pointed out that Sparc64 had been fine before the patch, and that he'd
told Linus specifically that only Sparc32 had been in a broken state. But
he ended the thread with, <quote who="David S. Miller">It's a non-issue now
I suppose, as I'll fix this up.</quote>

</section>

<section
  title="Ambiguous References To The GPL In Kernel Sources"
  subject="Documentation glitch."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0010.1/1133.html"
  posts="4"
  startdate="13 Oct 2000 00:00:00 -0800"
  enddate="14 Oct 2000 00:00:00 -0800"
>

<mention>Alan Cox</mention>
<mention>Tim Waugh</mention>

<p>Mike A. Harris reported that in 'Documentation/SubmittingDrivers', the GPL
was referred to as the "GNU public license". He pointed out, <quote who="Mike
A. Harris">This should be worded correctly as "GNU General Public License"
to avoid any confusion or ambiguity.  There is no such thing as the "GNU
public license" and newcomers may be confused.  This is just a minor point,
but valid nonetheless for proper documentation.</quote> Alan Cox agreed, and
said he'd fix it, and Tim Waugh pointed out that there were tons of similar
things throughout the kernel sources. Mike volunteered to grep around and find
them all, in 2.2 and 2.4, and the thread ended.</p>

</section>

</kc>

