sched_ule performance on single CPU

Unga unga888 at yahoo.com
Sun Apr 20 17:20:23 UTC 2008


--- Jeremy Chadwick <koitsu at freebsd.org> wrote:

> There was a commit to the ULE code in RELENG_7
> approximately 6 hours ago
> by Jeff, indicating some speed improvements in ULE
> when there's heavy
> IRQ activity, and adjustments in the timeslicing
> code for threads which
> don't utilise timesharing:
> 
>
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/sched_ule.c
> 
> Can you update your src-all tree to pull this in,
> rebuild the kernel,
> and tell us if it behaves better for you?
> 

Thanks Jeff for updates and thanks Jeremy for
notifying the list.

I did following test on the new update of sched_ule.c
on RELENG_7.

I ran the amarok music player as realtime, and another
application named count as a normal process. When the
normal process showing the value of i > 20, the amarok
crashes as it cannot keep up the required audio
supply.

That is, normal process starved the realtime process!


  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C 
 TIME   WCPU COMMAND
 1100 root          1 118    0  3120K   720K CPU0   0 
 1:42 100.00% count
  963 root          1  46    0   163M 27368K select 0 
 0:18  5.96% Xorg
 1060 test          6  44    0 68380K 51568K ucond  1 
 0:00  5.47% amarokapp

rtprio 963
rtprio: normal priority

rtprio 1060
rtprio: realtime priority 0

rtprio 1100
rtprio: normal priority



/* Count */

#include <stdio.h>

main()
{
 double nc;
 int i;

 for (i=0; i < 100; i++)
 {
  for (nc=0; nc < 2000000000; nc++)
     ;
  printf("%d : %.0f\n", i, nc);
 }

}

Kind Regards
Unga



      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ


More information about the freebsd-stable mailing list