All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] Cast a double value fails
@ 2012-03-07 11:46 Bertram Stemer
  2012-03-07 12:01 ` Philippe Gerum
  0 siblings, 1 reply; 2+ messages in thread
From: Bertram Stemer @ 2012-03-07 11:46 UTC (permalink / raw)
  To: 'xenomai@xenomai.org'

Hi,
I'm using Xenomai 2.5.6 with Linux 2.6.36 on a PowerPC and 
have written a real-time application that runs on an isolated
CPU (Kernel option isolcpus). When I start this application on 
another core, where a plain Linux application runs I get 
sporadically unexpected results in the non real-time application, 
when casting a double to an integer?!

To reproduce this behavior I have a small non real-time test
application that runs in parallel to the RT application:
...
while (1) {
	int z = 4.0;
	if (z != 4)
		printf("cast error detected!");
	/* sleep some microseconds */
}
...
 
Does anyone know how this can happen? Is there a CPU utilization
bound for real-time applications that run on the same CPU with 
plain Linux tasks?

Thanks in advance,
Bertram


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Xenomai-help] Cast a double value fails
  2012-03-07 11:46 [Xenomai-help] Cast a double value fails Bertram Stemer
@ 2012-03-07 12:01 ` Philippe Gerum
  0 siblings, 0 replies; 2+ messages in thread
From: Philippe Gerum @ 2012-03-07 12:01 UTC (permalink / raw)
  To: Bertram Stemer; +Cc: 'xenomai@xenomai.org'

On 03/07/2012 12:46 PM, Bertram Stemer wrote:
> Hi,
> I'm using Xenomai 2.5.6 with Linux 2.6.36 on a PowerPC and
> have written a real-time application that runs on an isolated
> CPU (Kernel option isolcpus). When I start this application on
> another core, where a plain Linux application runs I get
> sporadically unexpected results in the non real-time application,
> when casting a double to an integer?!
>
> To reproduce this behavior I have a small non real-time test
> application that runs in parallel to the RT application:
> ...
> while (1) {
> 	int z = 4.0;
> 	if (z != 4)
> 		printf("cast error detected!");
> 	/* sleep some microseconds */
> }
> ...
>
> Does anyone know how this can happen? Is there a CPU utilization
> bound for real-time applications that run on the same CPU with
> plain Linux tasks?

isolcpus does not actually fully isolates CPU from non-rt activity. What 
you see is likely a bug in the Xenomai core, leaking fpu context bits 
spuriously between -rt and non-rt. Adding this to the todo list.

>
> Thanks in advance,
> Bertram
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
>


-- 
Philippe.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-03-07 12:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-07 11:46 [Xenomai-help] Cast a double value fails Bertram Stemer
2012-03-07 12:01 ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.