Re: [Xenomai-core] Xenomai/SOLO - RTOS emulation for standard Linux

2008-03-26 Thread Roland Stigge
Hi,

Wolfgang Denk wrote:
 Is it worth providing a separate xenomai-solo package in Debian right
 now (considering it being propagated to Debian 5.0 and supported there
 in this form until ca. 2010), or should we wait until Xenomai/SOLO is
 integrated into Xenomai mainline?
 
 Integration into Xenomai mainline means waiting for Xenomai 3, which
 seems still a pretty long way to go.
 
 On the other hand, you need a PREEMPT_RT enhanced  Linux  kernel  for
 Xenomai/SOLO  to provide real-time behaviour which is probably needed
 in most cases when you try and emulate a RTOS.  This  is  probably  a
 bigger hurdle?

I think an RT-patched kernel is quite common, at least if I consider the
realtime conscious Debian user community. For other realtime
applications such as JACK (though in a completely different application
domain), the respective kernels are also often presumed.

So if we are talking about Xenomai 3 in the order of years, Xenomai/SOLO
as a separate package seems worth considering if it matures reasonably.

The other desktop suitable approach is the simulator. Both
Xenomai/SOLO and the simulator are good candidates for inclusion in the
OS distribution since (apart from certain kernel requirements) they can
be provided as universal binary packages in userspace.

The problem with xenosim is its dependency upon gcc-2.95.6 sources.
Since Debian packages must provide the complete sources for building the
binary packages or alternatively/additionally have build dependencies
satisfied by other (binary) Debian packages in the distribution, this is
not an easy task (without gcc 2.95.x being in Debian anymore). One way
to go could be utilizing a newer GCC (4.x) instead of 2.95.x, but that
doesn't work with current xenosim. Is it worth it to put porting effort
into this spot?

Thanks!

bye,
  Roland

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Xenomai/SOLO - RTOS emulation for standard Linux

2008-03-26 Thread Steven A. Falco
I'll of course have to make my own tests, but I am curious - do folks
expect that Xenomai/SOLO will be able to equal the interrupt performance
of Xenomai/IPIPE?  I guess my intuition says that the IPIPE approach
would guarantee better interrupt response, but maybe my intuition is
completely wrong.  I'll try to post some results in a few weeks...

Steve Falco


___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


[Xenomai-core] [SOLO] Build fail due to lack file(s)

2008-03-26 Thread jserv
Hello list,

After git pull, I found that pSOS(*) emulation interface on top of the
Xenomai/SOLO framework was checked in.  However, it fails to build due
to lack file(s) in repository.  Here are the compilation results:

%
make[1]: Entering directory `/tmp/xenomai-solo/psos'
/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I../include  -g -O0 -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -fstrict-aliasing 
-Wno-strict-aliasing -D__SOLO_DEBUG__ -D__XENO__ -D__SOLO__ -Wstrict-prototypes 
-include xeno_config.h -I../include-MT libpsos_la-init.lo -MD -MP -MF 
.deps/libpsos_la-init.Tpo -c -o libpsos_la-init.lo `test -f 'init.c' || echo 
'./'`init.c
 gcc -DHAVE_CONFIG_H -I. -I../include -g -O0 -D_GNU_SOURCE -D_REENTRANT -Wall 
-pipe -fstrict-aliasing -Wno-strict-aliasing -D__SOLO_DEBUG__ -D__XENO__ 
-D__SOLO__ -Wstrict-prototypes -include xeno_config.h -I../include -MT 
libpsos_la-init.lo -MD -MP -MF .deps/libpsos_la-init.Tpo -c init.c -o 
libpsos_la-init.o
init.c:30:19: error: queue.h: No such file or directory
init.c: In function 'PSOS_INIT':
init.c:46: error: 'psos_queue_table' undeclared (first use in this function)
init.c:46: error: (Each undeclared identifier is reported only once
init.c:46: error: for each function it appears in.)
make[1]: *** [libpsos_la-init.lo] Error 1
 %

Thanks,
-jserv

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] [SOLO] Build fail due to lack file(s)

2008-03-26 Thread Philippe Gerum
[EMAIL PROTECTED] wrote:
 Hello list,
 
 After git pull, I found that pSOS(*) emulation interface on top of the
 Xenomai/SOLO framework was checked in.  However, it fails to build due
 to lack file(s) in repository.  Here are the compilation results:
 
 %
 make[1]: Entering directory `/tmp/xenomai-solo/psos'
 /bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
 -I../include  -g -O0 -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -fstrict-aliasing 
 -Wno-strict-aliasing -D__SOLO_DEBUG__ -D__XENO__ -D__SOLO__ 
 -Wstrict-prototypes -include xeno_config.h -I../include-MT 
 libpsos_la-init.lo -MD -MP -MF .deps/libpsos_la-init.Tpo -c -o 
 libpsos_la-init.lo `test -f 'init.c' || echo './'`init.c
  gcc -DHAVE_CONFIG_H -I. -I../include -g -O0 -D_GNU_SOURCE -D_REENTRANT -Wall 
 -pipe -fstrict-aliasing -Wno-strict-aliasing -D__SOLO_DEBUG__ -D__XENO__ 
 -D__SOLO__ -Wstrict-prototypes -include xeno_config.h -I../include -MT 
 libpsos_la-init.lo -MD -MP -MF .deps/libpsos_la-init.Tpo -c init.c -o 
 libpsos_la-init.o
 init.c:30:19: error: queue.h: No such file or directory
 init.c: In function 'PSOS_INIT':
 init.c:46: error: 'psos_queue_table' undeclared (first use in this function)
 init.c:46: error: (Each undeclared identifier is reported only once
 init.c:46: error: for each function it appears in.)
 make[1]: *** [libpsos_la-init.lo] Error 1
  %


I will commit them later today, and they should appear in the public GIT tree
tonight (CET).

 Thanks,
 -jserv
 


-- 
Philippe.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] [SOLO] Build fail due to lack file(s)

2008-03-26 Thread Wolfgang Denk
In message [EMAIL PROTECTED] you wrote:
 
 After git pull, I found that pSOS(*) emulation interface on top of the
 Xenomai/SOLO framework was checked in.  However, it fails to build due
 to lack file(s) in repository.  Here are the compilation results:

That is to be expected. The README  file  has  a  section  Available
emulators/APIs  which  only  lists VxWorks so far - nothing else has
been ported yet.

Patches are welcome, of course :-)

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
Just because your doctor has a name for your condition  doesn't  mean
he knows what it is.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


[Xenomai-core] [SOLO] [PATCH] Obtain proper prefix for testsuite build

2008-03-26 Thread jserv
Hello list,

  Currently, Xenomai/SOLO comes with testsuite for VxWorks emulation.
The path to Xenomai/SOLO installation is fixed.  The patch attempts to
obtain the proper prefix during build process.

Regards,
-jserv

diff --git a/vxworks/testsuite/Makefile b/vxworks/testsuite/Makefile
index 62430ff..13ca9a0 100644
--- a/vxworks/testsuite/Makefile
+++ b/vxworks/testsuite/Makefile
@@ -1,4 +1,4 @@
-SOLO := /usr/local/solo
+SOLO := $(shell sed -n '/^prefix/'p ../Makefile | cut -c 9-)
 XENO_CONFIG=$(SOLO)/bin/xeno-config
 prefix := $(shell $(XENO_CONFIG) --prefix)

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Xenomai/SOLO - RTOS emulation for standard Linux

2008-03-26 Thread Wolfgang Denk
In message [EMAIL PROTECTED] you wrote:
 I'll of course have to make my own tests, but I am curious - do folks
 expect that Xenomai/SOLO will be able to equal the interrupt performance
 of Xenomai/IPIPE?  I guess my intuition says that the IPIPE approach
 would guarantee better interrupt response, but maybe my intuition is
 completely wrong.  I'll try to post some results in a few weeks...

Well, interrupt performance is just one thing.  The  whole  real-time
behaviour  depends on the underlying OS. And frankly, what we've seen
so far means that PREEMPT_RT can deliver probabilistic real-time at
best. Take a test case that has been running fine  and  just  put  it
into  a  new environment (like attach it to a different network), and
it will behave differently. Just plug in a new USB device that hasn't
been tested before, and nobody can tell what will happen.

If it comes to  hard,  reliable  real-time  behaviour,  we  recommend
Xenomai/ipipe to all our customers. However, there are some who think
it  is  important  to have an original, unpatched kernel.org source
tree. These obviously run for PREEMPT_RT, and SOLO.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
You know, after a woman's raised a family and so on,  she  wants  to
start living her own life.   Whose life she's _been_ living, then?
  - Terry Pratchett, _Witches Abroad_

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Xenomai/SOLO - RTOS emulation for standard Linux

2008-03-26 Thread Roland Stigge
Wolfgang Denk wrote:
 If it comes to  hard,  reliable  real-time  behaviour,  we  recommend
 Xenomai/ipipe to all our customers. However, there are some who think
 it  is  important  to have an original, unpatched kernel.org source
 tree. These obviously run for PREEMPT_RT, and SOLO.

Please remember that PREEMPT_RT currently doesn't mean unpatched, so
you could theoretically patch every PREEMPT_RT enhanced kernel with
ipipe instead... ;-

(Feelings of customers are a completely different thing, though...)

Roland

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Xenomai/SOLO - RTOS emulation for standard Linux

2008-03-26 Thread Philippe Gerum
Steven A. Falco wrote:
 I'll of course have to make my own tests, but I am curious - do folks
 expect that Xenomai/SOLO will be able to equal the interrupt performance
 of Xenomai/IPIPE?  I guess my intuition says that the IPIPE approach
 would guarantee better interrupt response, but maybe my intuition is
 completely wrong.  I'll try to post some results in a few weeks...


SOLO is not about pretending that native preemption should now be the one and
only solution to real-time requirements. The point is that there are different
levels of real-time requirements, different real-time applications, different
real-time environments. Since I just don't believe in the one-fits-it-all
marketroïd message, SOLO is there to bring the Xenomai emulators to the native
preemption world, because a significant portion of the application base to be
migrated to Linux will be just fine in that environment.

FWIW, I like the co-kernel approach for the principle of least surprise it
brings with respect to latency; if the latency tests run fine, it is extremely
likely that deadlines will always be met within the application, provided the
latter behaves properly, even if you upgrade your target kernel. But on the
other hand, I like the native preemption as well, for its ability to keep things
reasonably simple when it comes to port large legacy applications, which used to
rely on zillions of libraries; in that case, the necessary co-kernel/Linux
programming model split is just a massive pain in the neck (i.e. primary 
secondary runtime modes, restriction on using the glibc in real-time mode and so
on).

But obviously, the co-kernel mode based on the I-pipe is here to stay, and the
purpose of Xenomai 3 is to allow the emulators to be usable on top of both
real-time cores (i.e. PREEMPT_RT, or I-pipe + nucleus), using a simple
recompilation. SOLO is an intermediate step, before both approaches are
reconciled with a common emulator code base in Xenomai 3. In other words: two
real-time cores, one set of emulators. Well, that's the plan.

I will send a roadmap to Xenomai 3 asap (take this literally, because of hectic
schedule here), to explain where we are heading to.

 Steve Falco
 
 
 ___
 Xenomai-core mailing list
 Xenomai-core@gna.org
 https://mail.gna.org/listinfo/xenomai-core
 


-- 
Philippe.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Xenomai/SOLO - RTOS emulation for standard Linux

2008-03-26 Thread Steven A. Falco
Philippe Gerum wrote:
 But obviously, the co-kernel mode based on the I-pipe is here to stay, and the
 purpose of Xenomai 3 is to allow the emulators to be usable on top of both
 real-time cores (i.e. PREEMPT_RT, or I-pipe + nucleus), using a simple
 recompilation. SOLO is an intermediate step, before both approaches are
 reconciled with a common emulator code base in Xenomai 3. In other words: two
 real-time cores, one set of emulators. Well, that's the plan.

 I will send a roadmap to Xenomai 3 asap (take this literally, because of 
 hectic
 schedule here), to explain where we are heading to.

   
Thanks for the clarification - I was not sure of the intent for SOLO,
but now it makes sense.  I'm glad that IPIPE is not going away, as my
application will need hard real time.

Steve


___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] [SOLO] [PATCH] Obtain proper prefix for testsuite build

2008-03-26 Thread Philippe Gerum
[EMAIL PROTECTED] wrote:
 Hello list,
 
   Currently, Xenomai/SOLO comes with testsuite for VxWorks emulation.
 The path to Xenomai/SOLO installation is fixed.  The patch attempts to
 obtain the proper prefix during build process.
 
 Regards,
 -jserv
 
 diff --git a/vxworks/testsuite/Makefile b/vxworks/testsuite/Makefile
 index 62430ff..13ca9a0 100644
 --- a/vxworks/testsuite/Makefile
 +++ b/vxworks/testsuite/Makefile
 @@ -1,4 +1,4 @@
 -SOLO := /usr/local/solo
 +SOLO := $(shell sed -n '/^prefix/'p ../Makefile | cut -c 9-)
  XENO_CONFIG=$(SOLO)/bin/xeno-config
  prefix := $(shell $(XENO_CONFIG) --prefix)


This won't work if you build out of the source tree like autoconf/automake
recommend, since it won't find the instantiated Makefile in the upper directory.
We could use an autoconf template to patch the prefix into
testsuite/Makefile.in, but the testsuite/ directory is meant to be movable and
compilable anywhere the user sees fit. This is basically why the Makefile has
not been autoconfiscated in the first place.

I guess we will have to leave with the set your Xenomai install directory for
scripts and binaries in your PATH variable rule. I have removed the absolute
SOLO prefix from the Makefile though, it was a left over from my development
environment.

Thanks for spotting this.

-- 
Philippe.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] [SOLO] Build fail due to lack file(s)

2008-03-26 Thread Philippe Gerum
Philippe Gerum wrote:
 [EMAIL PROTECTED] wrote:
 Hello list,

 After git pull, I found that pSOS(*) emulation interface on top of the
 Xenomai/SOLO framework was checked in.  However, it fails to build due
 to lack file(s) in repository.  Here are the compilation results:

 %
 make[1]: Entering directory `/tmp/xenomai-solo/psos'
 /bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
 -I../include  -g -O0 -D_GNU_SOURCE -D_REENTRANT -Wall -pipe 
 -fstrict-aliasing -Wno-strict-aliasing -D__SOLO_DEBUG__ -D__XENO__ 
 -D__SOLO__ -Wstrict-prototypes -include xeno_config.h -I../include-MT 
 libpsos_la-init.lo -MD -MP -MF .deps/libpsos_la-init.Tpo -c -o 
 libpsos_la-init.lo `test -f 'init.c' || echo './'`init.c
  gcc -DHAVE_CONFIG_H -I. -I../include -g -O0 -D_GNU_SOURCE -D_REENTRANT 
 -Wall -pipe -fstrict-aliasing -Wno-strict-aliasing -D__SOLO_DEBUG__ 
 -D__XENO__ -D__SOLO__ -Wstrict-prototypes -include xeno_config.h 
 -I../include -MT libpsos_la-init.lo -MD -MP -MF .deps/libpsos_la-init.Tpo -c 
 init.c -o libpsos_la-init.o
 init.c:30:19: error: queue.h: No such file or directory
 init.c: In function 'PSOS_INIT':
 init.c:46: error: 'psos_queue_table' undeclared (first use in this function)
 init.c:46: error: (Each undeclared identifier is reported only once
 init.c:46: error: for each function it appears in.)
 make[1]: *** [libpsos_la-init.lo] Error 1
  %

 
 I will commit them later today, and they should appear in the public GIT tree
 tonight (CET).
 

The missing files have been committed, so they should be mirrored to the public
GIT tree in a few hours from now.

BIG FAT WARNING: The pSOS emulator is in its early development stage, really,
badly early. It compiles, but is incomplete, and can't reasonably work properly
yet. If you just want to play with SOLO, you should stick to the VxWorks
emulator, which is the only one that has been officially announced so far. Of
course, if you want to help debugging the new pSOS emulator, you are welcome as
well (but it's still a bit early, though).

-- 
Philippe.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core