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