<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="11" date="27 Mar 1999 00:00:00 -0800" />

<intro>

<p>Those of you who tried to read Kernel Traffic over the last couple days
might have seen part or all of <a href="crash.html">this message</a>. We're
back now, hopefully for good, though still with hardware problems :-(. I'd
like to thank the folks who sent us encouragement over the past few days.
Thanks guys! And I'd especially like to thank my friend Will, who spent the
whole day over here with me, trying everything we could think of.</p>

</intro>

<stats posts="935" size="4346" contrib="369" multiples="155" lastweek="139">

<person posts="46" size="135" who=" (Alan Cox)" />
<person posts="39" size="201" who="Andrea Arcangeli " />
<person posts="20" size="78" who="CaT " />
<person posts="20" size="77" who="&quot;Richard B. Johnson&quot; " />
<person posts="19" size="55" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="14" size="61" who="Ingo Molnar " />
<person posts="13" size="41" who="&quot;H. Peter Anvin&quot; " />
<person posts="11" size="879" who="" />
<person posts="11" size="67" who="Tigran Aivazian " />
<person posts="11" size="41" who=" (H. Peter Anvin)" />
<person posts="11" size="38" who="&quot;Brandon S. Allbery KF8NH&quot; " />
<person posts="10" size="54" who="&quot;Andre M. Hedrick&quot; " />
<person posts="10" size="34" who="Mike Eisler " />
<person posts="10" size="31" who=" (david parsons)" />
<person posts="10" size="25" who="" />
<person posts="9" size="29" who=" (Matthias Urlichs)" />
<person posts="9" size="27" who="Alex Buell " />
<person posts="8" size="36" who="Andi Kleen " />
<person posts="8" size="33" who="Oliver Xymoron " />
<person posts="8" size="30" who="Alexander Viro " />
<person posts="8" size="27" who="Pavel Machek " />
<person posts="8" size="23" who="Philip Blundell " />
<person posts="8" size="23" who="Steve Dodd " />
<person posts="7" size="35" who="" />
<person posts="7" size="28" who="&quot;G. Allen Morris III&quot; " />
<person posts="7" size="23" who="Rik van Riel " />
<person posts="7" size="21" who="Trond Myklebust " />
<person posts="7" size="20" who="Jeremy Fitzhardinge " />
<person posts="6" size="31" who="" />
<person posts="6" size="27" who="&quot;Mike A. Harris&quot; " />
<person posts="6" size="27" who="Gerard Roudier " />
<person posts="6" size="25" who="Turbo Fredriksson " />
<person posts="6" size="23" who="David Howells " />
<person posts="6" size="21" who="Marc Lehmann " />
<person posts="6" size="15" who="Bjorn Ekwall " />
<person posts="6" size="15" who=" (Guest section DW)" />
<person posts="6" size="15" who="&quot;Alan Curry&quot; " />
<person posts="5" size="23" who="Harald Koenig " />
<person posts="5" size="21" who="Kurt Garloff " />
<person posts="5" size="17" who=" (Rogier Wolff)" />
<person posts="5" size="15" who="Paul Wouters " />
<person posts="5" size="15" who="Mark Lord " />
<person posts="5" size="14" who="Arvind Sankar " />
<person posts="4" size="21" who="Chmouel Boudjnah " />
<person posts="4" size="16" who="Michael K Vance " />
<person posts="4" size="15" who="Vojtech Pavlik " />
<person posts="4" size="14" who="Nicholas Henke " />
<person posts="4" size="13" who="Vojtech Pavlik " />
<person posts="4" size="13" who="Jason Gunthorpe " />
<person posts="4" size="13" who="Keith Bennett " />
<person posts="4" size="13" who="&quot;Mattthew D. Pitts&quot; " />
<person posts="4" size="12" who="Richard Gooch " />
<person posts="4" size="11" who="Tigran Aivazian " />
<person posts="4" size="11" who="" />
<person posts="4" size="10" who="" />
<person posts="4" size="10" who="" />
<person posts="4" size="10" who="&quot;Osborn, Loren&quot; " />
<person posts="4" size="9" who="Gerard Paul Java " />
<person posts="3" size="32" who=" (Dietmar Stein)" />
<person posts="3" size="25" who="" />
<person posts="3" size="18" who="Godmar Back " />
<person posts="3" size="14" who="&quot;Ulrich Windl&quot; " />
<person posts="3" size="13" who=" (Ulf Jaenicke-Roessler)" />
<person posts="3" size="12" who="David Lang " />
<person posts="3" size="12" who="Max Cohan " />
<person posts="3" size="12" who="Tigran Aivazian " />
<person posts="3" size="11" who="" />
<person posts="3" size="11" who="Nomad the Wanderer " />
<person posts="3" size="10" who="" />
<person posts="3" size="10" who="Linus Torvalds " />
<person posts="3" size="9" who="Chris Wedgwood " />
<person posts="3" size="9" who="George Bonser " />
<person posts="3" size="9" who="Dave Cinege " />
<person posts="3" size="9" who="Chuck Lever " />
<person posts="3" size="8" who="" />
<person posts="3" size="8" who="&quot;Garst R. Reese&quot; " />
<person posts="3" size="8" who="Thomas Sailer " />
<person posts="3" size="8" who="Q " />
<person posts="3" size="8" who="Andreas Schwab " />
<person posts="3" size="8" who="Kurt Wall " />
<person posts="3" size="8" who="Ben Pfaff " />
<person posts="3" size="8" who="David Miller " />
<person posts="3" size="7" who="Brian Gerst " />
<person posts="3" size="7" who="&quot;Brian Macy&quot; " />
<person posts="3" size="7" who="Meelis Roos " />
<person posts="2" size="50" who=" (Robert Broughton)" />
<person posts="2" size="24" who="Pavel Ravits " />
<person posts="2" size="14" who="&quot;Ph. Marek&quot; " />
<person posts="2" size="13" who="&quot;Paul F. Dietz&quot; " />
<person posts="2" size="12" who="" />
<person posts="2" size="12" who="Philip Gladstone " />
<person posts="2" size="12" who="Prasanna Subash " />
<person posts="2" size="11" who="Tomasz Motylewski " />
<person posts="2" size="10" who="David Hinds " />
<person posts="2" size="10" who="James Bottomley " />
<person posts="2" size="9" who="&quot;Joseph Gooch&quot; " />
<person posts="2" size="9" who="Kenneth Preslan " />
<person posts="2" size="9" who="&quot;Ivan N. Kokshaysky&quot; " />
<person posts="2" size="8" who="&quot;Michael H. Warfield&quot; " />
<person posts="2" size="8" who="Greg " />
<person posts="2" size="8" who="" />
<person posts="2" size="8" who="Russell Leighton " />
<person posts="2" size="7" who="&quot;Anthony Barbachan&quot; " />
<person posts="2" size="7" who="&quot;Edward S. Marshall&quot; " />
<person posts="2" size="7" who="Gregory Maxwell " />
<person posts="2" size="7" who="Catalin BOIE " />
<person posts="2" size="7" who="Romano Giannetti " />
<person posts="2" size="7" who="Riley Williams " />
<person posts="2" size="7" who="Paul " />
<person posts="2" size="7" who="&quot;Nicholas J. Leon&quot; " />
<person posts="2" size="6" who="Simon Kirby " />
<person posts="2" size="6" who="&quot;Fred Reimer&quot; " />
<person posts="2" size="6" who="a sun " />
<person posts="2" size="6" who="Manfred Spraul " />
<person posts="2" size="6" who="&quot;Theodore Y. Ts'o&quot; " />
<person posts="2" size="6" who="Keith Owens " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Giuliano Procida " />
<person posts="2" size="6" who="System Administrator " />
<person posts="2" size="6" who="&quot;Wall, Tim&quot; " />
<person posts="2" size="6" who="&quot;Mark Harburn&quot; " />
<person posts="2" size="6" who="Dominik Kubla " />
<person posts="2" size="6" who="Adam Heath " />
<person posts="2" size="6" who="Goofy McGoon " />
<person posts="2" size="6" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="2" size="6" who="Matthew Geier " />
<person posts="2" size="6" who="Ion Badulescu " />
<person posts="2" size="6" who="&quot;Chris McClellen&quot; " />
<person posts="2" size="6" who="Gerhard Mack " />
<person posts="2" size="6" who="Vedad Kajtaz " />
<person posts="2" size="6" who="Chip Salzenberg " />
<person posts="2" size="6" who="Helge Hafting " />
<person posts="2" size="6" who="&quot;Michael K. Johnson&quot; " />
<person posts="2" size="6" who="Jens Axboe " />
<person posts="2" size="5" who="Mike Jagdis " />
<person posts="2" size="5" who="Dan Christian " />
<person posts="2" size="5" who="Trevor Johnson " />
<person posts="2" size="5" who="Jason Slagle " />
<person posts="2" size="5" who="David Woodhouse " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Horst von Brand " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Claudiu Bosioc " />
<person posts="2" size="5" who="Thomas Pornin " />
<person posts="2" size="5" who="Koo KyoSeon " />
<person posts="2" size="5" who="Jochen Friedrich " />
<person posts="2" size="5" who="Ron Flory " />
<person posts="2" size="5" who="&quot;J. S. Connell&quot; " />
<person posts="2" size="5" who="Peter Jansson " />
<person posts="2" size="5" who="Peter Waltenberg " />
<person posts="2" size="5" who="=?iso-8859-1?Q?Johnny_Teve=DFen?= " />
<person posts="2" size="4" who="Barry Treahy " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Olaf Schnapauff " />
<person posts="2" size="4" who="Chris Evans " />
<person posts="1" size="16" who="&quot;Frederick F. Gleason&quot; " />
<person posts="1" size="14" who="Shane Wegner " />
<person posts="1" size="13" who="Daniel SILVERSTONE " />
<person posts="1" size="13" who="Ruben Schattevoy " />
<person posts="1" size="11" who="Ramon Corominas " />
<person posts="1" size="9" who="Tomasz Motylewski " />
<person posts="1" size="8" who="Greg Hennessy " />
<person posts="1" size="7" who="Miles Lane " />
<person posts="1" size="7" who="&quot;Robert G. Brown&quot; " />
<person posts="1" size="7" who="Martin Poole " />
<person posts="1" size="6" who="Peter Englmaier " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Jamie Zawinski " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Michael Greger " />
<person posts="1" size="5" who="&quot;Marty Leisner&quot; " />
<person posts="1" size="5" who="&quot;Pedro Ribeiro&quot; " />
<person posts="1" size="5" who="Michal Jaegermann " />
<person posts="1" size="5" who="&quot;Corey J. Stotts&quot; " />
<person posts="1" size="4" who="Joel Jaeggli " />
<person posts="1" size="4" who="Jan Kara " />
<person posts="1" size="4" who="&quot;Michael W. Smith&quot; " />
<person posts="1" size="4" who="Richard Henderson " />
<person posts="1" size="4" who="Philip Blundell " />
<person posts="1" size="4" who="Wilf " />
<person posts="1" size="4" who="Guy Sotomayor " />
<person posts="1" size="4" who="Mark Shacklette " />
<person posts="1" size="4" who="&quot;Jakob 'sparky' Kaivo&quot; " />
<person posts="1" size="4" who="Paul A Vixie " />
<person posts="1" size="4" who="Foo Chun Choong " />
<person posts="1" size="4" who="Douglas Gilbert " />
<person posts="1" size="4" who="&quot;Christopher W. Curtis&quot; " />
<person posts="1" size="4" who="Patrick MOUROT " />
<person posts="1" size="4" who="Chris Wedgwood " />
<person posts="1" size="4" who="Juan Antonio Martinez " />
<person posts="1" size="4" who="&quot;Fausto Saporito&quot; " />
<person posts="1" size="4" who="a sun " />
<person posts="1" size="4" who="&quot;Gregory T. Norris&quot; " />
<person posts="1" size="4" who="Nate Eldredge " />
<person posts="1" size="4" who="Paul Barton-Davis " />
<person posts="1" size="4" who="Tom Eastep " />
<person posts="1" size="4" who="Erwin de Beus " />
<person posts="1" size="4" who="Benjamin Close " />
<person posts="1" size="4" who="Rafael Reilova " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Mark Montague " />
<person posts="1" size="3" who="V Ganesh " />
<person posts="1" size="3" who="Malcolm Beattie " />
<person posts="1" size="3" who="Mikulas Patocka " />
<person posts="1" size="3" who="Martin Mares " />
<person posts="1" size="3" who="&quot;Mark H. Wood&quot; " />
<person posts="1" size="3" who="Alex Belits " />
<person posts="1" size="3" who="mike burrell " />
<person posts="1" size="3" who="Vincent Janelle " />
<person posts="1" size="3" who="Eric Estievenart " />
<person posts="1" size="3" who="Robert Edmonds " />
<person posts="1" size="3" who="Matthew Jacob " />
<person posts="1" size="3" who="Topi Miettinen " />
<person posts="1" size="3" who="Henrik Berglund SdU " />
<person posts="1" size="3" who="Mitchell Blank Jr " />
<person posts="1" size="3" who="David Morgan " />
<person posts="1" size="3" who="Nils Rennebarth " />
<person posts="1" size="3" who="&quot;Thomas E. Dodd /CSDC&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Jim Roland " />
<person posts="1" size="3" who="&quot;Khimenko Victor&quot; " />
<person posts="1" size="3" who="Christoph Lameter " />
<person posts="1" size="3" who="Carlo Wood " />
<person posts="1" size="3" who="gandalf " />
<person posts="1" size="3" who="David Monniaux " />
<person posts="1" size="3" who="&quot;David -&quot; " />
<person posts="1" size="3" who="Gustavo Zacarias " />
<person posts="1" size="3" who="Peter van Sebille " />
<person posts="1" size="3" who="jschlst " />
<person posts="1" size="3" who="Andrew Shuttlewood " />
<person posts="1" size="3" who="Ard van Breemen " />
<person posts="1" size="3" who="Frodo Looijaard " />
<person posts="1" size="3" who="Ewan Dunbar " />
<person posts="1" size="3" who="Richard Adams " />
<person posts="1" size="3" who="Wesley Morgan " />
<person posts="1" size="3" who="Aaron Tiensivu " />
<person posts="1" size="3" who="Bob Taylor " />
<person posts="1" size="3" who="Yann Bizeul " />
<person posts="1" size="3" who="&quot;Deepak Tony Thomas                                            &quot; " />
<person posts="1" size="3" who="Robert Manning " />
<person posts="1" size="3" who="Gerard Saraber " />
<person posts="1" size="3" who="Alec Smith " />
<person posts="1" size="3" who="Mark Orr " />
<person posts="1" size="3" who="Konstantyn Prokopenko " />
<person posts="1" size="3" who="Steffen Ullrich " />
<person posts="1" size="3" who="Greg Franks " />
<person posts="1" size="3" who="&quot;Nev&quot; " />
<person posts="1" size="3" who="Bradley M Keryan " />
<person posts="1" size="3" who="&quot;Shane R. Stixrud&quot; " />
<person posts="1" size="3" who="Mike Shaver " />
<person posts="1" size="3" who="&quot;C. Jasper Spaans&quot; " />
<person posts="1" size="3" who="Kev " />
<person posts="1" size="3" who="Harald Kirsch " />
<person posts="1" size="3" who="&quot;Adam J. Richter&quot; " />
<person posts="1" size="3" who="Michael Hasenstein " />
<person posts="1" size="3" who="&quot;Serge E. Hallyn&quot; " />
<person posts="1" size="3" who="&quot;Langis, Richard&quot; " />
<person posts="1" size="3" who="Tim Waugh " />
<person posts="1" size="3" who="Martin Murray " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Martin Mares " />
<person posts="1" size="3" who="&quot;Nicholas Waltham&quot; " />
<person posts="1" size="3" who="Greg Whalin " />
<person posts="1" size="3" who="&quot;Petr Vandrovec Ing. VTEI&quot; " />
<person posts="1" size="3" who="Hans de Goede " />
<person posts="1" size="3" who="Jeremy Katz " />
<person posts="1" size="3" who="Nomad the Wanderer " />
<person posts="1" size="3" who="David Hinds " />
<person posts="1" size="3" who="Steve Dunham " />
<person posts="1" size="3" who="&quot;Yann Bizeul&quot; " />
<person posts="1" size="3" who="&quot;Albert D. Cahalan&quot; " />
<person posts="1" size="3" who="Nathan Hand " />
<person posts="1" size="3" who="&quot;vicente aceituno&quot; " />
<person posts="1" size="3" who="Janos Farkas " />
<person posts="1" size="3" who="Thomas Biege " />
<person posts="1" size="3" who="Martin Kacer " />
<person posts="1" size="3" who="Chris Chiappa " />
<person posts="1" size="3" who="David Ford " />
<person posts="1" size="3" who="&quot;Alan Olsen&quot; " />
<person posts="1" size="3" who="Troy Benjegerdes " />
<person posts="1" size="3" who="Majdi Abbas " />
<person posts="1" size="3" who="David Luyer " />
<person posts="1" size="3" who="=?iso-8859-1?Q?Jean=2DFran=E7ois?= GOBBERS " />
<person posts="1" size="3" who="Sadaaki KATO " />
<person posts="1" size="3" who="a sun " />
<person posts="1" size="3" who="Johan =?iso-8859-1?Q?Myr=E9en?= " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Tuan Hoang " />
<person posts="1" size="2" who="Antonio Flores Gil " />
<person posts="1" size="2" who="Jochen Friedrich " />
<person posts="1" size="2" who="a sun " />
<person posts="1" size="2" who="Kev " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Majdi Abbas " />
<person posts="1" size="2" who="&quot;Alex Buell (Home)&quot; " />
<person posts="1" size="2" who="Jon Mitchell " />
<person posts="1" size="2" who="Olaf Meyer " />
<person posts="1" size="2" who="Andrew Huntwork " />
<person posts="1" size="2" who="Tomasz Przygoda " />
<person posts="1" size="2" who="Anders " />
<person posts="1" size="2" who="Alessandro Suardi " />
<person posts="1" size="2" who="Gerhard Poul " />
<person posts="1" size="2" who="Larry McVoy " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;B. James Phillippe&quot; " />
<person posts="1" size="2" who="Stephen Williams " />
<person posts="1" size="2" who=" (Thierry Danis)" />
<person posts="1" size="2" who="Lenart Gabor " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Project BRAVO " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Guenter L. Wolf&quot; " />
<person posts="1" size="2" who="Mircea Damian " />
<person posts="1" size="2" who="Martijn van Oosterhout " />
<person posts="1" size="2" who="Shane Shrybman " />
<person posts="1" size="2" who="degs " />
<person posts="1" size="2" who="&quot;Brian K. White&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Olivier Fourdan " />
<person posts="1" size="2" who="Koblinger Egmont " />
<person posts="1" size="2" who="&quot;Dave Jones.&quot; " />
<person posts="1" size="2" who="Teunis Peters " />
<person posts="1" size="2" who="&quot;Steven N. Hirsch&quot; " />
<person posts="1" size="2" who="&quot;Roeland Th. Jansen&quot; " />
<person posts="1" size="2" who="jschlst " />
<person posts="1" size="2" who="&quot;Tati, Kiran&quot; " />
<person posts="1" size="2" who="Edgar Toernig " />
<person posts="1" size="2" who="Phil Brutsche " />
<person posts="1" size="2" who="Mike Galbraith " />
<person posts="1" size="2" who="Roland Schwarz " />
<person posts="1" size="2" who="Jamie Lokier " />
<person posts="1" size="2" who="Andre Johansen " />
<person posts="1" size="2" who="Stefan Laudat " />
<person posts="1" size="2" who="Roman Drahtmueller " />
<person posts="1" size="2" who="Dan Hollis " />
<person posts="1" size="2" who="Nuno Loureiro " />
<person posts="1" size="2" who="Anders Widell " />
<person posts="1" size="2" who="&quot;A. Wik&quot; " />
<person posts="1" size="2" who="Grisha Vasiliev " />
<person posts="1" size="2" who=" (Miquel van Smoorenburg)" />
<person posts="1" size="2" who="&quot;Shawn Starr&quot; " />
<person posts="1" size="2" who="Kenneth Stephen " />
<person posts="1" size="2" who="Giuliano Procida " />
<person posts="1" size="2" who="&quot;David B. Rees&quot; " />
<person posts="1" size="2" who="Andrzej Krzysztofowicz " />
<person posts="1" size="2" who=" (H.J. Lu)" />
<person posts="1" size="2" who=" (Stadt- und Schulbuecherei Gunzenhausen)" />
<person posts="1" size="2" who="Ian Hall-Beyer " />
<person posts="1" size="2" who="pennywis " />
<person posts="1" size="2" who="Prasad Hebbar " />
<person posts="1" size="2" who="&quot;Alexandre Hautequest&quot; " />
<person posts="1" size="2" who="Tim Smith " />
<person posts="1" size="2" who="&quot;A.Kamalov&quot; " />
<person posts="1" size="2" who="&quot;Douglas W. St.Clair&quot; " />
<person posts="1" size="2" who="Matthew Brown " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Lauri Jesmin " />
<person posts="1" size="2" who="Rivalino Matias Junior " />
<person posts="1" size="2" who="G Jalaja Devi " />
<person posts="1" size="2" who="Jan-Benedict Glaw " />
<person posts="1" size="2" who="&quot;Marc G. Glade&quot; " />
<person posts="1" size="2" who="rewt " />
<person posts="1" size="2" who="&quot;Michael D. Godfrey&quot; " />
<person posts="1" size="2" who="Ben Rockwood " />
<person posts="1" size="2" who="Alan Cox " />
<person posts="1" size="2" who="Frode Vatvedt Fjeld " />
<person posts="1" size="2" who="Simon Elbaz " />
<person posts="1" size="2" who="&quot;Mr. James W. Laferriere&quot; " />

</stats>

<section
  title="Kernel Accounting"
  subject="[patch] kstat change to see how much Linux SMP really scale well"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9903_02/msg00666.html"
  posts="56"
  startdate="11 Mar 1999 00:00:00 -0800"
  enddate="17 Mar 1999 00:00:00 -0800"
>
<topic>SMP</topic>

<mention>Vojtech Pavlik</mention>
<mention>Philip Gladstone</mention>
<mention>David S. Miller</mention>
<mention>Brian Gerst</mention>
<mention>Ingo Molnar</mention>
<mention>Linus Torvalds</mention>

<p>This was one of the largest threads of the week, starring a lot of important
folks (not Linus Torvalds though). My impression was that they started off
just having fun trying to eke the most out of the kernel, killing time until
the 2.3 series. Toward the end things got pretty serious, though.</p>

<p>Andrea Arcangeli started things off with an interesting objection.
Apparently in a spinlock, while one thread is waiting for access to the
locked code, the time it spends mindlessly looping is reported as useful
activity, which can be misleading if you're trying to get a profile on how
much useful activity really is taking place. So he posted a patch against
2.2.3 to discard lock-time. He figured it wasn't perfect, and could probably
be confused by some kinds of cpu usage, but was at least no worse than what
there was before.</p>

<p>A couple days later Andi Kleen had tried and liked Andrea's patch, and
posted an extention of it to the list, to do lock-time accounting
separately, for folks who want to do spin-lock profiling. But he was running
into the problem that the i386 SMP timer interrupt did not handle lost ticks
he observed, which he felt might have adverse effects on scheduling.</p>

<p>He said that ideally there could be detailed per-spinlock accounting, but he
said implementing them wouldn't be easy. The problem is how to refer to an
individual spinlock: <quote who="Andi Kleen">the
current spinlock declaration syntax makes it hard to name them (and for
dynamic spinlocks embedded in other structures a different way would be
needed anyways than to statically name the spinlocks - for them reading
System.map doesn't work well neither). This means for named spinlock
profiling it is needed to change all spinlock users :(:(.</quote> But he
added, <quote who="Andi Kleen">I believe for
effective SMP tuning in 2.3 they are definitely needed though.</quote></p>

<p>(David S. Miller suggested that some of this was already partially done in
the debugging code of some ports. Andrea replied that since the whole issue
is really for hackers only, it should be developed in his <a
href="ftp://e-mind.com/pub/linux/patch-ikd-arca/">ftp://e-mind.com/pub/linux/patch-ikd-arca/</a>
patch instead of the main kernel. Andi agreed, as long as they were only
talking about 2.2.x; but for 2.3, he felt the patches should go into the
Linus tree.)</p>

<p>Andrea replied to Andi's lock-time accounting patch, explaining that he had
wanted to add that functionality himself, but felt it would break
/proc/stat, which would in turn break a ton of user-space software. So he'd
held back. But he liked the patch, and felt he could solve the "lost ticks"
problem by always calculating the difference <quote who="Andrea
Arcangeli">between rdtsc inside the smp timer
irq</quote>.</p>

<p>Andi disagreed that his patch broke /proc/stat, since all it did was add
fields. He said any program that couldn't handle extra fields in /proc/stat
was broken anyway. But he had no objections to putting the added data in a
new /proc file if that would be easier. He also liked Andrea's solution to
the "lost ticks" problem, and added that he'd had the same idea in mind.</p>

<p>Ingo Molnar also replied to Andi's lock-time accounting patch, regarding the
"lost ticks" problem, which he asserted was not a problem at all. He said
that if the timer interrupt was locked out for more than 10 msecs (i.e. long
enough to lose a tick) on an SMP system, then there were bigger problems to
worry about. Andrea came back with a report that people were actually
starting to suffer from that, adding that he was working on a new patch. He
added, <quote who="Andrea Arcangeli">I think the
main irq bottleneck right now is the scsi subsystem locking that according
to me has to be rewritten using failsafe mechanizm (not spinning
spinlocks).</quote></p>

<p>Andrea posted again 9 hours later (4 in the morning his time) with a patch
to recover the lost time. He added, <quote who="Andrea
Arcangeli">PS. Time to sleep for me.</quote></p>

<p>Ingo replied, saying it was better to prevent the delays in the first place
rather than recover the time once its been lost. He offered a patch
(Linus-friendly -- it removed 13 lines of code) to simply report such lost
time as a bug, since it shouldn't be happening.</p>

<p>At <a
href="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9903_03/msg00021.html">this
point in the thread</a>, Ingo and Andrea had a short, friendly, rather
technical dispute over implementation. Essentially, Ingo felt Andrea was
missing the point and that the problem should be fixed at the source, rather
than having its effects compensated for; while Andrea felt that there was no
fundamental disagreement between them, and they were really just approaching
the problem from different angles.</p>

<p>Vojtech Pavlik came in around now, pointing out that Ingo's idea of fixing
the delays was simply impossible for certain hardware like the MS SideWinder
joystick and the Logitech joystick. Ingo was impressed with the examples,
and Brian Gerst observed that the Sidewinder digital protocol was uglier
than sin.</p>

<p>Philip Gladstone also came in about the lost ticks, saying that printk()
runs with interrupts disabled, and can cause lots of lost ticks. Ingo was
surprised by this, and said the problem was starting to feel like a 2.3
issue, because of how complex it was getting. But Oliver Xymoron said he
felt the problem could be fixed. He said, <quote who="Oliver
Xymoron">we can dynamically decide to buffer based
on string length, baud rate, and message priority, trying to always stay
below a timer tick.</quote> He also added, <quote who="Oliver
Xymoron">People running serial may in fact be
mostly doing embedded development and might actually care to know that
serial console is destroying their latency.</quote></p>

<p>For now, the thread seems over. I guess the various folks are re-examining
the code.</p>

</section>

<section
  title="System Accounting"
  subject="SAR for Linux?"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9903_02/msg00885.html"
  posts="11"
  startdate="12 Mar 1999 00:00:00 -0800"
  enddate="19 Mar 1999 00:00:00 -0800"
>

<mention>Larry McVoy</mention>
<mention>Martin Pool</mention>
<mention>Chuck Lever</mention>
<mention>Dominik Kubla</mention>
<mention>Stephen Tweedie</mention>

<p>Matthew Brown announced his intention to start work on a Linux version of
the 'sar' system performance monitor, but was having trouble finding the
stats so he could monitor them. Greg Franks mournfully commented that disk
data in particular had very poor accounting under Linux, and that he
intended to get something going on it pretty soon; but Martin Poole saved
him the effort, pointing out that Stephen Tweedie had already been working
on something along those lines for 2.3 since late '98, and patches were
available at <a
href="ftp://ftp.uk.linux.org/pub/linux/sct/fs/">ftp://ftp.uk.linux.org/pub/linux/sct/fs/</a>.</p>

<p>Larry McVoy saved Matthew the effort too, pointing out that someone was
already working on a system performance monitor. Chuck Lever also posted,
saying he was busily porting Solaris' /usr/proc/bin tools to Linux, and had
been posting relevant patches to linux-kernel.</p>

<p>Larry also went on to say he thought there was a mailing list somewhere. He
and several other people offered to host it if there was interest, and
Dominik Kubla said sadly that he was already hosting a (very quiet) mailing
list at linux-perf@www-klinik.uni-mainz.de and
linux-perf-digest@www-klinik.uni-mainz.de using majordomo with all the <a
href="http://www.python.org/sigs/md_cmds.html">usual commands</a>.</p>

</section>

<section
  title="Out Of Memory Errors With Plenty Of Unused Swap In 2.2.x"
  subject="vfork: out of memory, when there's plenty of swap free"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9903_02/msg01006.html"
  posts="25"
  startdate="13 Mar 1999 00:00:00 -0800"
  enddate="17 Mar 1999 00:00:00 -0800"
>
<topic>FS: NFS</topic>
<topic>Virtual Memory</topic>

<mention>Alan Cox</mention>
<mention>Pavel Machek</mention>
<mention>Rik van Riel</mention>

<p>Pavel Machek was trying to crash his computer by using up resources -- and
nearly succeeded! He ran a 'make -j' under 2.2.3 and started getting "vfork:
out of memory" errors before swap was even half used up. Alan Cox confirmed
the exploit and explained that the machine was running out of 8K blocks
because 2.2 didn't defragment its virtual memory properly. He added that the
same problem was causing sound skips and NFS hangs.</p>

<p>Rik van Riel was alarmed by this news, and Andrea Arcangeli said, <quote
who="Andrea Arcangeli">It's not the lack of
defragmentation but bad allocation of memory. Just to make an example look
at the inode cache. It uses a _bad_ way to alloc memory. That's the _best_
way to generate _persistent_ fragmentation all over the place.</quote></p>

<p>Linus Torvalds replied regarding the inode cache, saying the allocators weren't the
problem, but that <quote who="Linus Torvalds">inodes have very difficult lifetime
behaviour (some very short-lived, some _extremely_ long-lived), and that
makes it hard to allocate them well using _any_ allocator scheme.</quote> He
suggested, <quote who="Linus Torvalds">it might certainly be an option to allocate
inodes in bigger chunks at a time. That would at least make the problem
become less,</quote> to which Andrea replied, <quote who="Andrea
Arcangeli">it would make the problem to go away completly according to
me.</quote> He went on, <quote who="Andrea Arcangeli">we simply need to
alloc 32pages at time instead of 1 page at time. This will probably improve
allocating performances and will avoid us to leave bomb on the VM over the
time. Low memory machines could complain because the minimal granularity of
inode-nr will be a 32pagechunk, but I don't think this is an issue.</quote></p>

<p>Linus was skeptical, replying that allocating inodes in bigger chunks would
fix the problem for inodes but not for other things. He also added,
<quote who="Linus Torvalds">I don't think we want to go quite
that aggressively up to 32 pages, it's just too likely to fail. Going to 2
or 4 is probably fine.</quote> He suggested Andrea try it and see how it
worked.</p>

<p>Andrea did, it worked, and he posted his patch. (He also added that he
hadn't meant it would solve the problem in other places, but had only been
talking about inodes)</p>

</section>

<section
  title="Storing Kernel .config In The Kernel Itself"
  subject="[patch] v1.01 of /proc/.config (ready to eat)"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9903_02/msg00938.html"
  posts="37"
  startdate="13 Mar 1999 00:00:00 -0800"
  enddate="18 Mar 1999 00:00:00 -0800"
>
<topic>Compression</topic>

Tigran Aivazian had been working on a patch to store the kernel config file
in the kernel itself and make it accessible through /proc/.config; he posted
his patch and there were some bug fixes and suggestions from Alan Cox.
Oliver Xymoron also indicated that he'd done a similar patch just before
2.2.0; and Alan indicated that in his opinion Oliver's approach was the best
so far.

Tigran objected to the complexity of Oliver's approach, and tried to clarify
things with a discussion of the possible implementations:

<quote who="Tigran Aivazian">

<p>I can see the following
alternatives:</p>

<p>

<ol>

<li>Appending stuff to zImage. This is bad because being not
.config-specific forces a (user-space) reader to validate info. An app has
to seek and find it first too.</li>

<li>/proc/.config.gz This is bad because a reader must decompress it
himself. That is *every* reader (unless he uses some shared library to do it
transparently).</li>

<li>decompress-on-the-fly /proc/.config (not the same as /proc/.config.gz!)
This is the case where the kernel presents data in such a way that the user
can lseek()/read() at any position without knowing that internally it is
actually compressed. This (and not .config.gz) is what I meant by
decompress-on-the-fly approach and believed it to be wrong because I have
not seen a piece of code which can provide such elegant abstraction for a
10K buffer which itself (including data) would fit in 10K.</li>

<li>plain text /proc/.config (as per my patches) This is bad because we
unconditionally use up a couple of pages of physical memory. But we don't do
much else other than provide user space with data correctly positioned for
them to lseek() and get at it.</li>

</ol>

</p>

<p>As we see, everything is bad, in which case, we choose the least evil, which
is 4.</p>

</quote>

<p>Alan preferred #2, and explained, <quote who="Alan Cox">This is very good
because it keeps the kernel space small and the standard gzip tool can
handle it as well as the standard zlib library.</quote> He added, <quote
who="Alan Cox">Analogy: A database reader has to do its own ISAM in Unix,
this is seen as good because it keeps ISAM file support out of the
kernel.</quote></p>

<p>Oliver updated his patch to go cleanly into 2.2.3; and also added a couple
of other features such as a bin2hex replacement called bin2c, as well as
<quote who="Oliver Xymoron">an updated version of my
little "patch names" Makefile hack. When you build the kernel, it looks for
files of the form patchdesc.foo and the resulting kernel will report itself
as 2.2.x+foo. So, for instance, Alan could distribute his -ac series with
files like patchdesc.ac2 and the resulting kernel would be easily
distinguishable from the standard Linux kernel both at boot time and when
using uname. Also extremely useful is that it puts modules in 2.2.x+foo as
well so you can have a standard kernel and several patched kernels co-exist
comfortably on the same machine. The patchdesc files also provide a
convenient place to put changelog info, documentation, credits, etc.</quote>
He added, <quote who="Oliver Xymoron">The only
objection I've gotten to this so far is from Ingo, who claimed it would
encourage forking.</quote></p>

<p>Alan put in, <quote who="Alan Cox">I don't think its
a big issue. In terms of -ac certainly the ultimate aim is to have -ac
contain nothing exciting enough to make anyone download it over the Linus
tree.</quote> Oliver agreed, but in a different part of the thread added,
<quote who="Oliver Xymoron">Anyway, unless someone
with an inside line feels like advocating for either of these patches, I'm
going to drop it until the next time it's brought up.</quote></p>

</section>

<section
  title="Hunt For A linux-kernel Mailbomber"
  subject="TICAL OwnZ JoO 6412x"
  archive="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9903_03/msg00389.html"
  posts="22"
  startdate="17 Mar 1999 00:00:00 -0800"
  enddate="18 Mar 1999 00:00:00 -0800"
>
<topic>Mailing List Administration</topic>
<topic>Spam</topic>

<p>The list was bombed with many 80K messages consisting of random data. Other
lists at vger.rutgers.edu were bombed as well. The address used was
root@tical.net and the fellow seems to have covered his tracks fairly well.
Once the crises had passed, Matti Aarnio posted this to the list (under the
Subject: <a
href="http://www.kernelnotes.org/lnxlists/linux-kernel/lk_9903_03/msg00474.html">ADMIN:
Thank you for *not* responding to spam...</a>):</p>

<quote who="Matti Aarnio">

<p>I have just cleaned out
about 4000 messages from VGER's queue which were related to that moronic
bandwidth wastage spam from TICAL.NET's shell account machine (it seems).</p>

<p>Any new bogon coming from that particular machine with exact same
characteristics is blocked, but nothing prevents changeing those parameters
a bit, and another such will be seen...</p>

<p>As a result, nearly all messages with size exceeding about 20 kB are now in
"freezer", and if in the set there is some real thing, that will hopefully
be released once I go over that area.</p>

<p>Oh yes, I "froze" quite a few "stop spamming linux-kernel!" responses with
the entire original message in them. Lets not be stupid ourselves
folks!</p>

</quote>

<p>Gerhard Mack tried to hunt the guy down, and posted:</p>

<quote who="Gerhard Mack">

<p>Administrative Contact, Technical
Contact, Zone Contact:<br /> Barnes, Ray (RB8415) DjCorrupt@HOTMAIL.COM<br />
(904) 816-8461</p>

<p>Internic registration for that site is a joke, apperantly tical.net doesn't
wish to be contacted.</p>

<p>but...</p>

<p>12  e1c-atl-ad-2-0.espire.net (206.222.97.24)  269.795 ms  258.174 ms  309.787 ms<br />
13  206.222.97.27 (206.222.97.27)  259.740 ms  248.603 ms  249.826 ms<br />
14  ptc.jackso-fl-1.espire.net (206.222.105.126)  249.766 ms  268.404 ms 249.833 ms<br />
15  shellx.tical.net (209.12.5.135)  309.754 ms  308.447 ms  279.809 ms</p>

<p>We can all complain to their uplink.</p>

<p>Administrative Contact, Technical Contact, Zone Contact:<br />
ACSI-ADS  (AC323-ORG)  hostmaster@ACSI.NET<br />
800-291-7889</p>

</quote>

<p>Majdi Abbas added:</p>

<quote who="Majdi Abbas">

<p>Uplink_s_:</p>

<p>1740 4200 6467, (aggregated by 6467 206.222.97.239)<br />
198.32.176.25 from 198.32.176.25 (134.24.127.35)<br />
Origin IGP, valid, external, atomic-aggregate</p>

<p>Apex Global Information Services, Inc. (ASN-AGIS-NET)<br />
3601 Pelham<br />
Dearborn, MI 48124<br />
USA</p>

<p>Autonomous System Name: AGIS-NET<br />
Autonomous System Number: 4200</p>

<p>Coordinator:<br />
AGIS DNS Administrator  (ADA2-ORG-ARIN)  dns-admin@AGIS.NET<br />
(313) 730-5151<br />
Fax- (313) 730-9886</p>

</quote>

</section>

</kc>


