cvs commit: src/sys/kern sched_ule.c

Jeff Roberson jroberson at chesapeake.net
Thu Apr 10 20:51:47 PDT 2003


On Thu, 10 Apr 2003, Jeff Roberson wrote:

> jeff        2003/04/10 20:47:14 PDT
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/kern             sched_ule.c
>   Log:

These changes were done while I was on vacation which is why there were so
many.  To give you an idea of the result I have done some benchmarks that
show how the schedulers deal with niced processes.

In this benchmark I have many processes that each run for 10ms and then
sleep for 10ms.  Each of them has a different nice value.  I record many
statistics, but below is the amount of cpu time given to each.

         -20      -15      -10      -5       -1       0
ULE      5.753623 5.282634 4.856530 3.450129 3.126798 2.423626
4BSD     5.737184 4.694133 4.185013 3.363824 2.711405 2.260881

         1        5        10       15       20
ULE      2.105255 0.657852 0.429098 0.411582 0.501759
4BSD     2.452399 1.506065 0.859527 0.681111 0.427333


You can see that ule is quite regular until it gets to the positive nice
values where it is not as smooth as 4bsd.  I'll fix this.

This commit does fix the bug where nice +20 processes were still getting
CPU when 0 and negative nice processes were runnable.  This should fix
most of the interactivity complaints with niced processes.

Cheers,
Jeff



More information about the cvs-src mailing list