Performance dropout in recent 2.1.x kernels

Zlatko Calusic (Zlatko.Calusic@CARNet.hr)
27 Jan 1998 21:05:01 +0100


I have a strong belief that development kernels started losing in
performance recently. Where recently is >= 2.1.79.

2.1.78 is last, completely compilable and functional kernel.

I'm running 2.1.82 currently, for testing purposes.
I'll _just mention_ that my network speed dropped from 4MB/s to
50KB/s, since I know people is working on that (thanks, Andi).

But what happened to memory management? Looks like somebody have put
code in kernel to do memory defragmentation which behaves very
similarly like one of mine defrag patches. Thing they obviously have
in common is that they kill the performance a big time.

I didn't investigate what happened in >= 79, but I'll try to guess
that we have something that blindly throws pages out in order to have
enough bigger chunks of free memory. For example, system sometimes
decides to swap out 70% of my physical memory which is completely
being used at the time!?!

How does *that* affects performance, well I don't have to tell you. :(

My opinion is that this is not the right way to go, speaking of
defragmentation.

Second thing I don't like is reintroduction of "eth0: Insufficient
memory; nuking packet" messages.

I have my own 'lil workaround for this type of problems, and it worked
great till now. In case somebody's interested it's (in mm/slab.c):

-#define SLAB_MIN_OBJS_PER_SLAB 4
+#define SLAB_MIN_OBJS_PER_SLAB 1

-#define SLAB_BREAK_GFP_ORDER 2
+#define SLAB_BREAK_GFP_ORDER 1

That helped much in few dozens of (devel) kernels, and right now I'm
supposed to be happy with 50KB/s network speed and logs full of nuked
packets? :)

I'm sorry if this message leaves a thought that I'm completely
unsatisfied, it's just I hate going backwards (to 2.1.78) for the
third time.

Since, a picture speaks more than 10.000 words, I'm attaching xmem
snapshot, so you can see what the hell I'm talking about. Three little
black arrows point to situations where my machine stopped responding
due to the heavy swapouts. These are not the biggest ones, just the
ones I decided to grab. The biggest one is coming out of sight right
now, scrolling in xmem. :)

The picture is only a few KBs, so please forgive me for posting a
binary to the list.

Regards and keep rollin'...

begin 644 xmem.gif
M1TE&.#EAF`"C`.<`````````^`#\`#!@4&#`H(C\Z,C,R/@``/BD`/C\`!7_
M%0B_"*PU;,9J\!4"_PA`O^2`3`K(\`L5_T`(OVM(;S[Q;1C_`D"_0(0$J-T`
MOQT`%4``"#3D^/`*S1$+%0A`"+RHI/*_QO\5%;\("&BHSF0,^$K.S1@5%4`(
M"+P;#O*V=_\``K\`0#0$//```!$```@``#.H#?"_`!$5``P(``#X.0#Q``#_
M``"_`(0$Y-T`QN2HJ`J_\+0$"++RFP7_!T"_"`,$#@``=P```@``0/"H/,6_
M`!45``@(`%P$#0(``.2H.0J_``L5`$`(`)`8[/+RQO__%;^_"-0UJ+UJ\`4"
M_T!`OVBX.L7&FQ45!P@("/"8J,7QOUP$@P``@````^3D^`H*S0L+%4!`"+RH
M$/*_`/\5`+\(`#8,.@'.``05`&@;$L6V`!4``/`$#<4``/BHN/*_\/\5_[\(
MOW=(+G[RHPC_!R@US`]J[@P"%`#L`0#&```5```(`&S(9O/Q`/__`+^_`+@$
M.%X`01<`$@@`"`#DS``*\``+_P!`O]"HQ?*_E?\5!VBH@/._[/\5%&P,A//.
M]K@`YEX`AA<`!0!OS`!M\P`"_P"HG@"_B0`5!0`("(#X9K7-``<5`+ATA%[(
M]A<5_P@(OP'DA``*]@#>``!Y```"``!```!2/`$!\P``_P``OP#X``#(`.3X
M``K-```@``#R``#5``#4`/\#`+]``+3NA++(]@45_P.0%`#RZP#_'0"_0``(
M!/!NJ,4`OP"`%0`#"!60!`CR`"B;`0'R```P`P!O!`!M`.0XJ`KROPO_%0``
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````"'^#DUA9&4@=VET:"!'24U0`"P`````F`"C```(
M_@`+"!Q(L*#!`083*ES(L*'#AQ`C#D0HL6+"`10M:MS(L6-!C!LI8AQ)LJ3)
M`B93JES)LJ7+ES!CCD0I$Z'(FCASZMS)L^=)E`)!2LSHL:C1B$0?)G4H,NA2
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
7F;K5M[YUK`Q%2S$!^]/'SB6QNR0@`#L`
`
end

-- 
Posted by Zlatko Calusic           E-mail: <Zlatko.Calusic@CARNet.hr>
---------------------------------------------------------------------
RTFM in Unix: read the fine manual; RTFM in Win32: reboot the fine machine.