* 2.6.15-rt3 + Open Posix Test Suite
@ 2006-01-10 23:03 Daniel Walker
2006-01-11 3:53 ` Steven Rostedt
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Walker @ 2006-01-10 23:03 UTC (permalink / raw)
To: linux-kernel; +Cc: mingo
It's worth noting that a few tests in the current Open Posix Test Suite
hang RT systems.
Specifically this test (hope this url comes through),
http://cvs.sourceforge.net/viewcvs.py/*checkout*/posixtest/posixtestsuite/conformance/interfaces/sched_setparam/10-1.c?rev=1.2
sched_setparam test 10-1.c and I think 9-1.c .
The 10-1 test spawns some children at SCHED_FIFO priority 99 , then runs
the following,
void child_process(){
alarm(2);
while(1) {
(*shmptr)++;
sched_yield();
}
}
I'm sure this is what's hanging the system, the yield() is one issue.
Another is why the alarm() is never delivered .
Daniel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: 2.6.15-rt3 + Open Posix Test Suite
2006-01-10 23:03 2.6.15-rt3 + Open Posix Test Suite Daniel Walker
@ 2006-01-11 3:53 ` Steven Rostedt
2006-01-11 14:41 ` Daniel Walker
0 siblings, 1 reply; 3+ messages in thread
From: Steven Rostedt @ 2006-01-11 3:53 UTC (permalink / raw)
To: Daniel Walker; +Cc: Thomas Gleixner, mingo, linux-kernel
On Tue, 2006-01-10 at 15:03 -0800, Daniel Walker wrote:
> It's worth noting that a few tests in the current Open Posix Test Suite
> hang RT systems.
>
> Specifically this test (hope this url comes through),
>
> http://cvs.sourceforge.net/viewcvs.py/*checkout*/posixtest/posixtestsuite/conformance/interfaces/sched_setparam/10-1.c?rev=1.2
>
> sched_setparam test 10-1.c and I think 9-1.c .
>
> The 10-1 test spawns some children at SCHED_FIFO priority 99 , then runs
> the following,
>
> void child_process(){
> alarm(2);
>
> while(1) {
> (*shmptr)++;
> sched_yield();
> }
> }
>
> I'm sure this is what's hanging the system, the yield() is one issue.
> Another is why the alarm() is never delivered .
This runs a while loop at SCHED_FIFO prio 99? And alarm never happens.
Doesn't the alarm get activated by the softirqd that is running at a
lower priority? Seems that this is starving out the softirq from
getting the alarm.
I believe that Thomas once had priorities attached to the timers. I'd
like to see that again, and may even start adding them myself, such that
when a process activates a timer, when that timer goes off, the softirq
will get the priority of the timer. But this has some complications to
be sorted out.
-- Steve
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: 2.6.15-rt3 + Open Posix Test Suite
2006-01-11 3:53 ` Steven Rostedt
@ 2006-01-11 14:41 ` Daniel Walker
0 siblings, 0 replies; 3+ messages in thread
From: Daniel Walker @ 2006-01-11 14:41 UTC (permalink / raw)
To: Steven Rostedt; +Cc: Thomas Gleixner, mingo, linux-kernel
On Tue, 2006-01-10 at 22:53 -0500, Steven Rostedt wrote:
>
> This runs a while loop at SCHED_FIFO prio 99? And alarm never happens.
> Doesn't the alarm get activated by the softirqd that is running at a
> lower priority? Seems that this is starving out the softirq from
> getting the alarm.
I thought alarm was a signal (SIGALRM) ? If it's delivered by softirqd
then this makes sense. Your right , it's softirqd related.
The processes also calls yield() inside it's while loop . We have
warnings about yield() and RT tasks.
> I believe that Thomas once had priorities attached to the timers. I'd
> like to see that again, and may even start adding them myself, such that
> when a process activates a timer, when that timer goes off, the softirq
> will get the priority of the timer. But this has some complications to
> be sorted out.
Yes, I remember . Do we fix the test in this case, or the kernel ?
Daniel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-01-11 14:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-10 23:03 2.6.15-rt3 + Open Posix Test Suite Daniel Walker
2006-01-11 3:53 ` Steven Rostedt
2006-01-11 14:41 ` Daniel Walker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).