2004-03-17 14:22:12

by Emmanuel Fleury

[permalink] [raw]
Subject: Scheduler Problem ????

Hi all,

I am running a 2.6.4 (with preemptible kernel activated).
What I did is the following:

1) Compile the sched_test.c program (at the end of the mail):

[root@hermes sched]$ gcc -o sched_test sched_test.c

2) Set the priority of the root shell as the highest:
[root@hermes sched]$ ps
PID TTY TIME CMD
1519 pts/0 00:00:00 bash
2020 pts/0 00:00:00 ps
[root@hermes sched]$ chrt -f -p 99 1519

3) Run sched_test:
[root@hermes sched]$ chrt -f 10 ./sched_test 100
bye now.



Here during the execution of sched_test everything is frozen.


Did I do something wrong ????

sched_test.c
=============
#include <sys/time.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
int end_time;
struct timeval now;

if (argc < 2)
{
end_time = 1;
}
else
{
end_time = atoi(argv[1]);
}

gettimeofday(&now, NULL);

end_time += now.tv_sec + 1;

do{
gettimeofday(&now, NULL);

}while (now.tv_sec < end_time);

printf("bye now.\n");
return 0;
}
==========

Regards
--
Emmanuel Fleury

Computer Science Department, | Office: B1-201
Aalborg University, | Phone: +45 96 35 72 23
Fredriks Bajersvej 7E, | Fax: +45 98 15 98 89
9220 Aalborg East, Denmark | Email: [email protected]


2004-03-17 23:00:55

by Nick Piggin

[permalink] [raw]
Subject: Re: Scheduler Problem ????



Emmanuel Fleury wrote:

>Hi all,
>
>I am running a 2.6.4 (with preemptible kernel activated).
>What I did is the following:
>
>1) Compile the sched_test.c program (at the end of the mail):
>
>[root@hermes sched]$ gcc -o sched_test sched_test.c
>
>2) Set the priority of the root shell as the highest:
>[root@hermes sched]$ ps
> PID TTY TIME CMD
> 1519 pts/0 00:00:00 bash
> 2020 pts/0 00:00:00 ps
>[root@hermes sched]$ chrt -f -p 99 1519
>
>3) Run sched_test:
>[root@hermes sched]$ chrt -f 10 ./sched_test 100
>bye now.
>
>
>
>Here during the execution of sched_test everything is frozen.
>
>
>Did I do something wrong ????
>
>

Realtime processes aren't preemptible at all by non realtime
processes or realtime processes of a lesser priority.