linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).