Re: Scheduler latency : more precisions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Eric,

I have some more interesting tests showing that it's not a matter
of hard real-time latency. Everyone here knows the vmstat program.

If I only start 2 'lat3 4000' programs in parallel, it literally
freezes vmstat for up to 7.7 seconds. That is, the simple program
designed to observe system activity becomes unusable, as shown
below. Starting 4 processes gets worse, pauses reach 8.3-11 seconds,
and it's very hard to stop them because the console responds at
the same speed.

What's more interesting is that vmstat sees more processes in the
runqueue than there really are : with 2 'lat3', we often see 4
processes. With 4 'lat3', we see between 0 and 7 processes. It's
just as if vmstat sees several times the same processes, or as if
the processes really appeared several times in the queue.

$ ./lat3 4000 >/dev/null & ./lat3 4000 >/dev/null &
$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0      0 235224 109020  57916    0    0     0     0 1036    52  0  0 100  0
 0  0      0 235224 109020  57916    0    0     0     0 1035    54  0  0 100  0
 0  0      0 235224 109020  57916    0    0     0     0 1025    46  0  0 100  0
 0  0      0 235224 109032  57916    0    0     0    16 1047    76  0  0 100  0
 0  0      0 235224 109032  57916    0    0     0     4 1043    69  0  0 100  0
 0  0      0 235224 109032  57916    0    0     0     0 1018    29  0  1 99  0
 0  0      0 235240 109032  57916    0    0     0     0 1016    27  0  1 99  0
 0  0      0 235240 109032  57916    0    0     0     0 1016    27  0  1 99  0
 2  0      0 235232 109032  57916    0    0     0     0 7674  2727 42 57  1  0
>4< 0      0 235040 109044  57916    0    0     0    20 7530  2750 44 56  0  0
 1  0      0 235040 109044  57916    0    0     0     0 4246  1536 39 61  0  0
 1  0      0 235040 109044  57916    0    0     0     0 6511  2367 43 57  0  0
>4< 0      0 235040 109044  57916    0    0     0     0 7766  2854 43 56  1  0
 1  0      0 235040 109044  57916    0    0     0     0 4485  1647 42 57  1  0
 1  0      0 235040 109044  57916    0    0     0     0 4932  1860 45 53  1  0

The 'in' column shows the number of interrupts since the previous line. As the
system timer is at 1 kHz, it shows that when the system does nothing, vmstat
sleeps 1 second between each line. When I start the two processes above, I get
long pauses, up to 7.7 seconds.

I will not copy the 4 process output, I will not be able to get access to
the machine and will have to sysrq-k it.

Cheers,
Willy

On Mon, Mar 28, 2005 at 09:21:03AM -0600, Eric Bambach wrote:
> No-where in your mail, unless I missed it because i've been awake for 15 
> minutes now, do you mention pre-emption. One of the major latency affecting 
> differences between 2.4 and 2.6 is the introduction of pre-emption and with 
> 2.6.10(ish?) you can pre-empt the big kernel lock.
> 
> Since you are experiencing odd latencies w.r.t. syscalls, pre-emption is a 
> major point to look at. In fact, the JACK and RT Linux people are working on 
> problems similiar to this right now. If your program for whatever reason has 
> *hard-time* latency requirements then I suggest you look at the Realtime 
> Patches for Linux 2.6.
> 
> I would suggest you try a few more test with various combinations of 
> pre-emption. The consesus in the documentation seems to be that pre-emption  
> make desktops only feel snappier and "real" workloads will suffer as a 
> result.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux