Re: scheduler/SCHED_FIFO behaviour

From: Florian Schmidt
Date: Mon May 02 2005 - 05:39:39 EST


On Mon, 02 May 2005 10:57:29 +0530
"Arun Srinivas" <getarunsri@xxxxxxxxxxx> wrote:

> 1) From main(i.e., parent) create a shared memory seg. using shmget() and
> shmat(). This is for communication between parent and child. I am trying to
> use this as a locking mechanism to make them tightly coupled so that one
> does not race before the other.
> 2) create child by fork() and call shmat() to attach this segment to child
> too
> 3) In parent and child call ioctl() to pass their PID's from user space to
> kernel space...so that I can measure when the particular PID's are scheduled
> in the scheduler
>
> I suppose shmget() dosent use a system call.So still confused about the
> occasional resechedule behavior.

You might try the user triggered tracing which is available with Ingo's
realtime preemption patches.

Enable the latency tracing in the kernel confgig and

echo 1 > /proc/sys/kernel/user_triggered_tracing

then in your code you want to be checked do this before the section:

gettimeofday (1, 1)

and

gettimeofday (1, 0)

after the section you want to be checked.. Every reschedule of the task
will result in a signal SIGUSR2 sent to your program and a latency trace
in the syslog..

..i think

Flo


--
Palimm Palimm!
http://affenbande.org/~tapas/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/