Re: Linux 2.4.19-pre5

Ed Sweetman
2002-03-30T23:49:27Z

[-- Attachment #1: Type: text/plain, Size: 1928 bytes --]

Due to evolution's really cool way of wrapping my emails. . i'll attach
the results.

In this test I wanted to see this lag. So i switched between virtual
desktops (i have 5) and used irc (eterm + epic). What i saw was lower
priority (meaning processes with bigger nice values) at one specific
spot in the test would stop responding but all processes at the same
priority level would continue merrily. I'd say about 5/6 of the way
through the test is where the lower priority processes would stop
responding for a couple seconds. But they revived pretty quickly, only
paused my typing for a couple moments. I failed to see any lag at all
during the entire test on like-wise prioritized processes. I wouldn't
have even known i was running the test if my cpu temp wasn't climbing so
high and the load wasn't 256 on procmeter3.

As for the throughput debate that always follows the preempt kernel. I
think it really depends on the kind of io you're doing. It really
depends on what the program is trying to do with it's io.
Programs that want to throttle and like to do that sequentially,
probably wont appretiate you stopping it and reading some other part of
the disk for a bit and have it have to go back to where it stopped.
Almost no userland non-monolithic database apps actually do something
like that. None that i've come into contact with. But you choose what
works for your workload. if i'm running a app that wants control over
the io to itself, i run it with a higher priority than other processes
and you've basically taken away the "preemptiveness" factor and you get
normal kernel performance (theoretically). seems logical.

Anyway I digress. I mean to get into the latency aspect. Sequential
writes is scary but that's to be expected on ext3. Random reads is a
concern though. It shouldn't be that high. although it was high in
all the tests i ran compared to the other three.

[-- Attachment #2: ed_tiotest.text --]
[-- Type: text/plain, Size: 2057 bytes --]

Run #2: /usr/bin/tiotest -t 256 -f 8 -r 15 -b 4096 -d . -T

File size in megabytes, Blk Size in bytes.
Read, write, and seek rates in MB/sec.
Latency in milliseconds.
Percent of requests that took longer than 2 and 10 seconds.

Sequential Reads
File Blk Num Avg Maximum Lat% Lat% CPU
Kernel Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------------------------------------------------------------
2.4.19-pre4-ac3-preempt 2048 4096 256 9.46 5.271% 181.668 30992.77 3.60280 0.05836 179

Random Reads
File Blk Num Avg Maximum Lat% Lat% CPU
Kernel Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------------------------------------------------------------
2.4.19-pre4-ac3-preempt 2048 4096 256 0.67 0.980% 2446.793 14462.86 39.66145 0.00000 68

Sequential Writes
File Blk Num Avg Maximum Lat% Lat% CPU
Kernel Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------------------------------------------------------------
2.4.19-pre4-ac3-preempt 2048 4096 256 5.36 5.029% 160.584 209853.98 0.42915 0.37536 107

Random Writes
File Blk Num Avg Maximum Lat% Lat% CPU
Kernel Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------------------------------------------------------------
2.4.19-pre4-ac3-preempt 2048 4096 256 0.67 0.533% 0.047 4.50 0.00000 0.00000 125