All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] Future of fusion
@ 2005-10-13  7:55 Marco Cavallini
  2005-10-13  8:15 ` Jan Kiszka
  2005-10-13  8:24 ` Philippe Gerum
  0 siblings, 2 replies; 21+ messages in thread
From: Marco Cavallini @ 2005-10-13  7:55 UTC (permalink / raw)
  To: xenomai

Hello,
I'd like to know (if is possible) the future plans and task schedule of 
fusion into xenomai project.
TIA

Marco Cavallini
=====================================================
Koan s.a.s. - Software Engineering
Linux and WinCE solutions for Embedded and Real-Time Software
Klinux : the embedded distribution for industrial applications
  - Atmel AT91 ARM Third Party Consultant
  - Intel PCA Developer Network Member
  - Microsoft Windows Embedded Partner
Via Pascoli, 3  - 24121 Bergamo - ITALIA
Tel. (++39) 035-255.235 - Fax (++39) 178-223.9748
http://www.koansoftware.com  -  http://www.klinux.org
===================================================== 



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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  7:55 [Xenomai-core] Future of fusion Marco Cavallini
@ 2005-10-13  8:15 ` Jan Kiszka
  2005-10-13  8:24 ` Philippe Gerum
  1 sibling, 0 replies; 21+ messages in thread
From: Jan Kiszka @ 2005-10-13  8:15 UTC (permalink / raw)
  To: Marco Cavallini; +Cc: xenomai-core

[-- Attachment #1: Type: text/plain, Size: 480 bytes --]

Marco Cavallini wrote:
> Hello,
> I'd like to know (if is possible) the future plans and task schedule of
> fusion into xenomai project.

Unless I don't misunderstand your question: Xenomai _is_ fusion. Take a
look at the code base, the main difference between fusion-0.9.1 and
current Xenomai SVN is the renaming (besides a lot of bug fixes).

Regarding the roadmap: browse the xenomai-core archive, there were
already a few postings about potential future directions.

HTH

Jan

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]

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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  7:55 [Xenomai-core] Future of fusion Marco Cavallini
  2005-10-13  8:15 ` Jan Kiszka
@ 2005-10-13  8:24 ` Philippe Gerum
  2005-10-13  8:37   ` Herman Bruyninckx
  2005-10-13 10:46   ` Paul
  1 sibling, 2 replies; 21+ messages in thread
From: Philippe Gerum @ 2005-10-13  8:24 UTC (permalink / raw)
  To: Marco Cavallini; +Cc: xenomai

Marco Cavallini wrote:
> Hello,
> I'd like to know (if is possible) the future plans and task schedule of 
> fusion into xenomai project.
> TIA

There are things already going on "under the surface" right now, and others that 
would depend on everyone's input in order to start them or not. The roadmap will 
clearly depend on the combination of both aspects. I will give some details 
shortly about the current or next-to-be-started efforts, but the feedback part 
is important too, so here is the call for discussion once posted to this list:

--

I propose that we start discussing along the following lines, going into deeper 
detail as needed, but in any case, please remember that we don't have infinite 
resources to do everything at once, and that we need to keep an organisation 
that fits our abilities to manage it, so let's keep it modest and efficient. If 
I missed some important issues, please jump in. After that initial work, we 
should be able to define a sensible roadmap.

- Regular automated benchmarking: What is Xenomai currently capable of, how 
stable is it, do we progress or regress over time and releases, arch by arch?

- Documentation effort, dissemination: I'm a potential new user, do I have some 
unambiguous source of information available to get my feet wet with Xenomai?

- Architecture ports: There is life beyond x86.

- Kernel ports: Is there still room for a 2.4 port?

- Configuration, building and packaging issues: Could we make this easier?

- Linux integration issues: Tools we should interface with, features we should 
make more seamless.

- Scalability: Is Xenomai scalable enough? What's missing?

- Drivers: Now that we have a deeply integrated port of RTDM, what's next? Field 
busses and other industrial gizmos anyone?

- Current interfaces: Are we happy with them?

- New skins: Any new colors for the "chameleon"?

-- 

Philippe.


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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  8:24 ` Philippe Gerum
@ 2005-10-13  8:37   ` Herman Bruyninckx
  2005-10-13  8:50     ` Gilles Chanteperdrix
  2005-10-13  9:46     ` Jan Kiszka
  2005-10-13 10:46   ` Paul
  1 sibling, 2 replies; 21+ messages in thread
From: Herman Bruyninckx @ 2005-10-13  8:37 UTC (permalink / raw)
  Cc: xenomai

On Thu, 13 Oct 2005, Philippe Gerum wrote:

> Marco Cavallini wrote:
>> I'd like to know (if is possible) the future plans and task schedule of 
>> fusion into xenomai project.
>
> There are things already going on "under the surface" right now, and others 
> that would depend on everyone's input in order to start them or not. The 
> roadmap will clearly depend on the combination of both aspects. I will give 
> some details shortly about the current or next-to-be-started efforts, but the 
> feedback part is important too, so here is the call for discussion once 
> posted to this list:
>
[...]
> I propose that we start discussing along the following lines, going into 
> deeper detail as needed,

[...]
> - Drivers: Now that we have a deeply integrated port of RTDM, what's next? 
> Field busses and other industrial gizmos anyone?

That's an interesting avenue for all our machine control oriented realtime
applications. But this avenue is full of incomplete or non-free
specifications and interfaces...

[...]
> - New skins: Any new colors for the "chameleon"?
"Perfect POSIX" is, to me, more important than new skins. "Perfect" means,
among other things, that the interference problem with the Posix thread
library (libraries) under Linux is solved.

Herman

--
   K.U.Leuven, Mechanical Eng.,  Mechatronics & Robotics Research Group
     <http://people.mech.kuleuven.be/~bruyninc> Tel: +32 16 322480

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  8:37   ` Herman Bruyninckx
@ 2005-10-13  8:50     ` Gilles Chanteperdrix
  2005-10-13  8:54       ` Herman Bruyninckx
  2005-10-13  9:46     ` Jan Kiszka
  1 sibling, 1 reply; 21+ messages in thread
From: Gilles Chanteperdrix @ 2005-10-13  8:50 UTC (permalink / raw)
  To: Herman Bruyninckx; +Cc: xenomai

Herman Bruyninckx wrote:
 > On Thu, 13 Oct 2005, Philippe Gerum wrote:
 > 
 > [...]
 > > - New skins: Any new colors for the "chameleon"?
 > "Perfect POSIX" is, to me, more important than new skins. "Perfect" means,
 > among other things, that the interference problem with the Posix thread
 > library (libraries) under Linux is solved.

What is wrong with the current implementation ? For me, the current
POSIX skin is close to final, in term of functionalities (on my todo
list, remain shared memories, implementation of mq_notify, and maybe
barriers, rwlocks and spinlocks, which are not a big deal). Of course,
some improvements are needed, such as a "process level" cleanup, which
would allow to reclaim automatically the memory used by anonymous
objects at the process death, or real-time signals, since for the
moments signals are handled in secondary mode, and an implementation of
message queues using shared memory, to avoid copies. But I assumed the
interference with the posix thread library was solved. Could you
elaborate a bit more on the issues you observed ?

-- 


					    Gilles Chanteperdrix.


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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  8:50     ` Gilles Chanteperdrix
@ 2005-10-13  8:54       ` Herman Bruyninckx
  2005-10-13  9:12         ` Philippe Gerum
  0 siblings, 1 reply; 21+ messages in thread
From: Herman Bruyninckx @ 2005-10-13  8:54 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: xenomai

On Thu, 13 Oct 2005, Gilles Chanteperdrix wrote:

> Herman Bruyninckx wrote:
> > On Thu, 13 Oct 2005, Philippe Gerum wrote:
> >
> > [...]
> > > - New skins: Any new colors for the "chameleon"?
> > "Perfect POSIX" is, to me, more important than new skins. "Perfect" means,
> > among other things, that the interference problem with the Posix thread
> > library (libraries) under Linux is solved.
>
> What is wrong with the current implementation ? 
[...]
> But I assumed the
> interference with the posix thread library was solved. Could you
> elaborate a bit more on the issues you observed ?

Well, if this problem is solved, I'm very happy :-) And maybe I look at the
wrong places, but where do I find a succint explanation of the solution?

Herman
--
   K.U.Leuven, Mechanical Eng.,  Mechatronics & Robotics Research Group
     <http://people.mech.kuleuven.be/~bruyninc> Tel: +32 16 322480

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  8:54       ` Herman Bruyninckx
@ 2005-10-13  9:12         ` Philippe Gerum
  2005-10-13  9:34           ` Herman Bruyninckx
  0 siblings, 1 reply; 21+ messages in thread
From: Philippe Gerum @ 2005-10-13  9:12 UTC (permalink / raw)
  To: Herman Bruyninckx; +Cc: xenomai

Herman Bruyninckx wrote:
> On Thu, 13 Oct 2005, Gilles Chanteperdrix wrote:
> 
>> Herman Bruyninckx wrote:
>> > On Thu, 13 Oct 2005, Philippe Gerum wrote:
>> >
>> > [...]
>> > > - New skins: Any new colors for the "chameleon"?
>> > "Perfect POSIX" is, to me, more important than new skins. "Perfect" 
>> means,
>> > among other things, that the interference problem with the Posix thread
>> > library (libraries) under Linux is solved.
>>
>> What is wrong with the current implementation ? 
> 
> [...]
> 
>> But I assumed the
>> interference with the posix thread library was solved. Could you
>> elaborate a bit more on the issues you observed ?
> 
> 
> Well, if this problem is solved, I'm very happy :-) And maybe I look at the
> wrong places, but where do I find a succint explanation of the solution?
> 

Well, what's your question first? :o>

-- 

Philippe.


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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  9:12         ` Philippe Gerum
@ 2005-10-13  9:34           ` Herman Bruyninckx
  2005-10-13 13:57             ` Jan Kiszka
  2005-10-13 19:57             ` Gilles Chanteperdrix
  0 siblings, 2 replies; 21+ messages in thread
From: Herman Bruyninckx @ 2005-10-13  9:34 UTC (permalink / raw)
  Cc: xenomai

On Thu, 13 Oct 2005, Philippe Gerum wrote:

> Herman Bruyninckx wrote:
>> On Thu, 13 Oct 2005, Gilles Chanteperdrix wrote:
>> 
>>> Herman Bruyninckx wrote:
>>> > On Thu, 13 Oct 2005, Philippe Gerum wrote:
>>> >
>>> > [...]
>>> > > - New skins: Any new colors for the "chameleon"?
>>> > "Perfect POSIX" is, to me, more important than new skins. "Perfect" 
>>> means,
>>> > among other things, that the interference problem with the Posix thread
>>> > library (libraries) under Linux is solved.
>>> 
>>> What is wrong with the current implementation ? 
>> 
>> [...]
>> 
>>> But I assumed the
>>> interference with the posix thread library was solved. Could you
>>> elaborate a bit more on the issues you observed ?
>> 
>> 
>> Well, if this problem is solved, I'm very happy :-) And maybe I look at the
>> wrong places, but where do I find a succint explanation of the solution?
>> 
>
> Well, what's your question first? :o>
>
Sorry if that was not clear.

The question is: how is the following problem solved? Where the problem is
as follows: using Posix threads in realtime requires another library than
the standard NPTL library that Linux uses (at least, I think you require
another library), but how do you make sure to link to the correct library?
Or is NPTL realtime safe?

Herman

--
   K.U.Leuven, Mechanical Eng.,  Mechatronics & Robotics Research Group
     <http://people.mech.kuleuven.be/~bruyninc> Tel: +32 16 322480

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  8:37   ` Herman Bruyninckx
  2005-10-13  8:50     ` Gilles Chanteperdrix
@ 2005-10-13  9:46     ` Jan Kiszka
  1 sibling, 0 replies; 21+ messages in thread
From: Jan Kiszka @ 2005-10-13  9:46 UTC (permalink / raw)
  To: Herman Bruyninckx; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 1509 bytes --]

Herman Bruyninckx wrote:
> On Thu, 13 Oct 2005, Philippe Gerum wrote:
> [...]
> 
>> - Drivers: Now that we have a deeply integrated port of RTDM, what's
>> next? Field busses and other industrial gizmos anyone?
> 
> 
> That's an interesting avenue for all our machine control oriented realtime
> applications. But this avenue is full of incomplete or non-free
> specifications and interfaces...
> 

Indeed, but we cannot solve all problems at once. Let's start with those
devices which are more or less open (and there are already a lot). Let's
also try to propagate the message that RTDM is the prefered way to
provide real-time drivers. And if someone comes up with a new driver,
check if its interface is generic enough to implement it for similar
devices as well (=>generic device profiles).

Far from being perfect, but there are first efforts for such profiles:
Serial (as it comes with Xenomai), process image (see the Hilscher
Interbus driver I once announced), or CAN (yet a bit in flux, but things
slowly stabilises here). Plans exist to go the same way for low level
access to FireWire or USB. And you can even map whole protocol stacks
onto RTDM, like UDP/IP (RTnet) or also CANopen. The enables thrilling
combinations without the need to rewrite your application.

The interest in such progress is there, not yet on the vendor side, but
on the user side - including many industrial users. And they can push
things forward as well, finally making at least some vendors more
cooperative, too.

Jan

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]

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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  8:24 ` Philippe Gerum
  2005-10-13  8:37   ` Herman Bruyninckx
@ 2005-10-13 10:46   ` Paul
  2005-10-13 13:33     ` Philippe Gerum
  2005-10-13 20:28     ` Gilles Chanteperdrix
  1 sibling, 2 replies; 21+ messages in thread
From: Paul @ 2005-10-13 10:46 UTC (permalink / raw)
  To: xenomai


Hi Philippe

On Thursday 13 October 2005 09:24, Philippe Gerum wrote:
> - Regular automated benchmarking: What is Xenomai currently capable of, how
> stable is it, do we progress or regress over time and releases, arch by
> arch?

Have a couple of x86 development boxes running 24/7 - Could set one up as a 
compile farm for running automated builds. Also have a PowerPC thin client 
that I would like to utilise, but could really do with some help in setting 
up the tools for cross-compiling the base system under Debian.

> - Configuration, building and packaging issues: Could we make this easier?

Anything that involves patching/compiling kernels is bound to cause trouble 
for new users. Perhaps some tests for kernel options known to cause trouble 
(such as APM & REGPARM) that print out large warnings during the config stage 
might help..

Gilles already has a tarball of the Debian rules I used for packaging fusion. 
With minor changes, these could be used for a Xenomai package. One 
possibility is to use the rules and the compile farm to produce "ready to 
run" kernel/Xenomai Debian packages.


Regards, Paul.



-- 
From the Klingon book of C:
Klingon function calls do not have 'parameters' - they have 'arguments' - and
they ALWAYS WIN THEM.


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

* Re: [Xenomai-core] Future of fusion
  2005-10-13 10:46   ` Paul
@ 2005-10-13 13:33     ` Philippe Gerum
  2005-10-13 19:47       ` Wolfgang Grandegger
  2005-10-13 20:28     ` Gilles Chanteperdrix
  1 sibling, 1 reply; 21+ messages in thread
From: Philippe Gerum @ 2005-10-13 13:33 UTC (permalink / raw)
  To: Paul; +Cc: xenomai

Paul wrote:
> Hi Philippe
> 
> On Thursday 13 October 2005 09:24, Philippe Gerum wrote:
> 
>>- Regular automated benchmarking: What is Xenomai currently capable of, how
>>stable is it, do we progress or regress over time and releases, arch by
>>arch?
> 
> 
> Have a couple of x86 development boxes running 24/7 - Could set one up as a 
> compile farm for running automated builds.

That would be great, thanks. Let us know if we could help.

  Also have a PowerPC thin client
> that I would like to utilise, but could really do with some help in setting 
> up the tools for cross-compiling the base system under Debian.

What about DENX's ELDK?

> 
> 
>>- Configuration, building and packaging issues: Could we make this easier?
> 
> 
> Anything that involves patching/compiling kernels is bound to cause trouble 
> for new users. Perhaps some tests for kernel options known to cause trouble 
> (such as APM & REGPARM) that print out large warnings during the config stage 
> might help..
> 

Ok, I have something rather highly ranked on my TODO list (which ends up by 2117 
or so), which is about allowing to build all Xenomai's in-kernel support 
statically in the Linux kernel. The rationale behind that is about making more 
straightforward and efficient embedded setups; straightforward because modules 
add more complexity than they would solve in typical embedded systems, and 
efficient since loading modules in a running kernel doesn't come for free.

To do that, portions of the Xeno build system which are currently 
autoconfiscated should move to the target kernel, so that we would only keep the 
autoconf infrastructure for what it's good at, i.e. building the user-space 
support. The basic idea is that we would then have a kernel extension part 
either buildable statically or as modules using Linux's Kconfig/Kbuild 
infrastructure, and a user-space support package providing the various interface 
libraries, headers, tools and scripts, ala glibc.

The immediate advantages would be:

- The core of the Xenomai support would be statically embeddable in the Linux 
kernel;
- No need for a Kconfig duplication like we have now; most of the options 
currently presented by Xeno's Kconfig sub-system concern the kernel portions, 
and very few actually concern the user-space stuff. We would then get rid of the 
former, and rely on the vanilla Linux's one instead.
- Centralizing Xenomai's kernel-related options with Linux's ones would make 
easier defining sanity checks (e.g. APM stuff and so on), since we could use the 
Kconfig language to enforce them in order to obtain sane configurations "by 
construction" (e.g. CONFIG_XENO disables CONFIG_APM). Currently, Xeno's Kconfig 
is not aware of the kernel settings, so the checks are performed afterwise by 
the configure script instead.
- Removing the module compilation logic from the autoconfiscated Makefiles would 
be a significant simplification of the Xeno build system, and would make it less 
dependent on the kernel build system.
- This build process is still fully automatable.
- LKML people among my co-workers (Hi Stelian!) would start talking to me again, 
since I would stop pretending that autoconf is a sane way of controlling builds 
for kernel-based code. :o>

The way I see a typical build process would then be along these lines:

$ tar jxf xenomai-*
$ mkdir xeno-build && cd xeno-build && ../xenomai-*/configure 
--kernel=/usr/src/linux --some-option-only-for-uspace-stuff --prefix=<install-dir>
....
(the configure script would then prepare the autoconf _and_ make the necessary 
links from the target kernel to the Xenomai source tree to connect the modules 
to the kernel's Kbuild/Kconfig infrastructure.
....
$ cd /usr/src/linux
$ make gconfig
....
The user would configure his kernel, and all the kernel-based Xenomai stuff, as 
if they were standard drivers/extensions
....
$ make <the_kernel>
$ cd xeno-build && make install

And we would be done. Well, in a perfect world, I mean.

> Gilles already has a tarball of the Debian rules I used for packaging fusion. 
> With minor changes, these could be used for a Xenomai package. One 
> possibility is to use the rules and the compile farm to produce "ready to 
> run" kernel/Xenomai Debian packages.
>

I think we should be able to work this out will Gilles before 2.0 is out since 
it's a separate build-related issue.

> 
> Regards, Paul.
> 
> 
> 


-- 

Philippe.


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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  9:34           ` Herman Bruyninckx
@ 2005-10-13 13:57             ` Jan Kiszka
  2005-10-13 19:57             ` Gilles Chanteperdrix
  1 sibling, 0 replies; 21+ messages in thread
From: Jan Kiszka @ 2005-10-13 13:57 UTC (permalink / raw)
  To: Herman Bruyninckx; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 1756 bytes --]

Herman Bruyninckx wrote:
> On Thu, 13 Oct 2005, Philippe Gerum wrote:
> 
>> Herman Bruyninckx wrote:
>>
>>> On Thu, 13 Oct 2005, Gilles Chanteperdrix wrote:
>>>
>>>> Herman Bruyninckx wrote:
>>>> > On Thu, 13 Oct 2005, Philippe Gerum wrote:
>>>> >
>>>> > [...]
>>>> > > - New skins: Any new colors for the "chameleon"?
>>>> > "Perfect POSIX" is, to me, more important than new skins.
>>>> "Perfect" means,
>>>> > among other things, that the interference problem with the Posix
>>>> thread
>>>> > library (libraries) under Linux is solved.
>>>>
>>>> What is wrong with the current implementation ? 
>>>
>>>
>>> [...]
>>>
>>>> But I assumed the
>>>> interference with the posix thread library was solved. Could you
>>>> elaborate a bit more on the issues you observed ?
>>>
>>>
>>>
>>> Well, if this problem is solved, I'm very happy :-) And maybe I look
>>> at the
>>> wrong places, but where do I find a succint explanation of the solution?
>>>
>>
>> Well, what's your question first? :o>
>>
> Sorry if that was not clear.
> 
> The question is: how is the following problem solved? Where the problem is
> as follows: using Posix threads in realtime requires another library than
> the standard NPTL library that Linux uses (at least, I think you require
> another library), but how do you make sure to link to the correct library?
> Or is NPTL realtime safe?
> 

Nope, that's why there is RT-NPTL. And that library is still in flux,
especially now with the ongoing work on PREEMPT_RT. Let's wait for the
result and see if it is feasible to reuse this userspace infrastructure.

For now, I'm convinced that it is much more comfortable for the user to
obtain kernel extension and userspace library from one hand with a clear
and consistent versioning.

Jan

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]

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

* Re: [Xenomai-core] Future of fusion
  2005-10-13 13:33     ` Philippe Gerum
@ 2005-10-13 19:47       ` Wolfgang Grandegger
  0 siblings, 0 replies; 21+ messages in thread
From: Wolfgang Grandegger @ 2005-10-13 19:47 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: Paul, xenomai

On 10/13/2005 03:33 PM Philippe Gerum wrote:
> Paul wrote:
>> Hi Philippe
>> 
>> On Thursday 13 October 2005 09:24, Philippe Gerum wrote:
>> 
>>>- Regular automated benchmarking: What is Xenomai currently capable of, how
>>>stable is it, do we progress or regress over time and releases, arch by
>>>arch?
>> 
>> 
>> Have a couple of x86 development boxes running 24/7 - Could set one up as a 
>> compile farm for running automated builds.
> 
> That would be great, thanks. Let us know if we could help.
> 
>   Also have a PowerPC thin client
>> that I would like to utilise, but could really do with some help in setting 
>> up the tools for cross-compiling the base system under Debian.
> 
> What about DENX's ELDK?
> 
>> 
>> 
>>>- Configuration, building and packaging issues: Could we make this easier?
>> 
>> 
>> Anything that involves patching/compiling kernels is bound to cause trouble 
>> for new users. Perhaps some tests for kernel options known to cause trouble 
>> (such as APM & REGPARM) that print out large warnings during the config stage 
>> might help..
>> 
> 
> Ok, I have something rather highly ranked on my TODO list (which ends up by 2117 
> or so), which is about allowing to build all Xenomai's in-kernel support 
> statically in the Linux kernel. The rationale behind that is about making more 
> straightforward and efficient embedded setups; straightforward because modules 
> add more complexity than they would solve in typical embedded systems, and 
> efficient since loading modules in a running kernel doesn't come for free.

That would be great for embedded systems, indeed. Apart from getting rid
of the module infrastructure, it also save TLB misses because modules
are typically placed in vmalloc'ed space. Systems with small TLB entry
tables will benefit, like PowerPC 8xx and 4xx.

> 
> To do that, portions of the Xeno build system which are currently 
> autoconfiscated should move to the target kernel, so that we would only keep the 
> autoconf infrastructure for what it's good at, i.e. building the user-space 
> support. The basic idea is that we would then have a kernel extension part 
> either buildable statically or as modules using Linux's Kconfig/Kbuild 
> infrastructure, and a user-space support package providing the various interface 
> libraries, headers, tools and scripts, ala glibc.
> 
> The immediate advantages would be:
> 
> - The core of the Xenomai support would be statically embeddable in the Linux 
> kernel;
> - No need for a Kconfig duplication like we have now; most of the options 
> currently presented by Xeno's Kconfig sub-system concern the kernel portions, 
> and very few actually concern the user-space stuff. We would then get rid of the 
> former, and rely on the vanilla Linux's one instead.
> - Centralizing Xenomai's kernel-related options with Linux's ones would make 
> easier defining sanity checks (e.g. APM stuff and so on), since we could use the 
> Kconfig language to enforce them in order to obtain sane configurations "by 
> construction" (e.g. CONFIG_XENO disables CONFIG_APM). Currently, Xeno's Kconfig 
> is not aware of the kernel settings, so the checks are performed afterwise by 
> the configure script instead.
> - Removing the module compilation logic from the autoconfiscated Makefiles would 
> be a significant simplification of the Xeno build system, and would make it less 
> dependent on the kernel build system.
> - This build process is still fully automatable.
> - LKML people among my co-workers (Hi Stelian!) would start talking to me again, 
> since I would stop pretending that autoconf is a sane way of controlling builds 
> for kernel-based code. :o>
> 
> The way I see a typical build process would then be along these lines:
> 
> $ tar jxf xenomai-*
> $ mkdir xeno-build && cd xeno-build && ../xenomai-*/configure 
> --kernel=/usr/src/linux --some-option-only-for-uspace-stuff --prefix=<install-dir>
> ....
> (the configure script would then prepare the autoconf _and_ make the necessary 
> links from the target kernel to the Xenomai source tree to connect the modules 
> to the kernel's Kbuild/Kconfig infrastructure.
> ....
> $ cd /usr/src/linux
> $ make gconfig
> ....
> The user would configure his kernel, and all the kernel-based Xenomai stuff, as 
> if they were standard drivers/extensions
> ....
> $ make <the_kernel>
> $ cd xeno-build && make install
> 
> And we would be done. Well, in a perfect world, I mean.
> 
>> Gilles already has a tarball of the Debian rules I used for packaging fusion. 
>> With minor changes, these could be used for a Xenomai package. One 
>> possibility is to use the rules and the compile farm to produce "ready to 
>> run" kernel/Xenomai Debian packages.
>>
> 
> I think we should be able to work this out will Gilles before 2.0 is out since 
> it's a separate build-related issue.
> 
>> 
>> Regards, Paul.
>> 
>> 
>> 
> 
> 



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

* Re: [Xenomai-core] Future of fusion
  2005-10-13  9:34           ` Herman Bruyninckx
  2005-10-13 13:57             ` Jan Kiszka
@ 2005-10-13 19:57             ` Gilles Chanteperdrix
  1 sibling, 0 replies; 21+ messages in thread
From: Gilles Chanteperdrix @ 2005-10-13 19:57 UTC (permalink / raw)
  To: Herman Bruyninckx; +Cc: xenomai

Herman Bruyninckx wrote:
 > The question is: how is the following problem solved? Where the problem is
 > as follows: using Posix threads in realtime requires another library than
 > the standard NPTL library that Linux uses (at least, I think you require
 > another library), but how do you make sure to link to the correct library?

First, Xenomai user-space POSIX library uses the same data structure
definitionss as Linux threading libraries (whether linuxthread or
NPTL). This way, including Xenomai specific headers is not mandatory for
using its POSIX library. Another advantage: Xenomai implementation of
POSIX functions may decide to delegate control to the real ones without
having to touch the user structures.

Of course, if you do not include Xenomai headers, you will not get
declarations of some functions specific to Xenomai, some of these
functions are non portable (such as pthread_make_periodic_np and
pthread_wait_np, which are still the easiest solution to get periodic
tasks in primary mode), other are not yet in all distributions, such as
the message queues API.

Second, Xenomai build a user-space library made for use with the --wrap
option of the GNU linker. Xenomai implementation of the pthread_create
function is called __wrap_pthread_create, and when linking with Xenomai
library, ld replace any call to pthread_create in the user code by
__wrap_pthread_create, so that at run time, Xenomai implementation of
this function gets called.

This solution avoids the unexpected segmentation faults. Users mistake
result either in linker errors (because of the use of a function of
Xenomai which does not exist in Linux threading library without the
--wrap parameters, or conversely because the --wrap option was passed
while trying to link with one of Linux threading libraries). In the
worst case, a user program may run as standard Linux POSIX threads
application if he forgot the --wrap options, but this is easy to see,
since /proc/xenomai/sched shows no real-time thread. Do not get me
wrong, passing the correct arguments to the compiler is as easy as with
any other skin; it is just a matter of calling xeno-config
--posix-cflags andd xeno-config --posix-ldflags. Some examples are
included in skins/posix/demos.

The current implementaion of Xenomai user-space POSIX skin also allow
Linux POSIX threads libraries functions to remain accessible aside
Xenomai calls; for example, you may still create Linux POSIX threads by
calling __real_pthread_create. Actually, now that I think about it,
being able to access easily Linux calls aside Xenomai ones was a
requirement among the most important in our view.


  > Or is NPTL realtime safe? 

the "accuracy" example in skins/posix/demos should help you get an
opinion on that point.

-- 


					    Gilles Chanteperdrix.


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

* Re: [Xenomai-core] Future of fusion
  2005-10-13 10:46   ` Paul
  2005-10-13 13:33     ` Philippe Gerum
@ 2005-10-13 20:28     ` Gilles Chanteperdrix
  2005-10-14  3:42       ` Romain Lenglet
  1 sibling, 1 reply; 21+ messages in thread
From: Gilles Chanteperdrix @ 2005-10-13 20:28 UTC (permalink / raw)
  To: Paul

Paul wrote:
 > 
 > Hi Philippe
 > 
 > On Thursday 13 October 2005 09:24, Philippe Gerum wrote:
 > > - Regular automated benchmarking: What is Xenomai currently capable of, how
 > > stable is it, do we progress or regress over time and releases, arch by
 > > arch?
 > 
 > Have a couple of x86 development boxes running 24/7 - Could set one up as a 
 > compile farm for running automated builds. Also have a PowerPC thin client 
 > that I would like to utilise, but could really do with some help in setting 
 > up the tools for cross-compiling the base system under Debian.

Actually, there are ready made debian cross toolchain packages at
debian.speedblue.org 

 > Gilles already has a tarball of the Debian rules I used for packaging fusion. 
 > With minor changes, these could be used for a Xenomai package. One 
 > possibility is to use the rules and the compile farm to produce "ready to 
 > run" kernel/Xenomai Debian packages.

Well, quite frankly, I do not know much about the debian packages
creation process, in any case not enough to do the work which remains
to be done. The best I can do is add the debian directory to the svn
repository, letting volunteers work on it and submit patches...

-- 


					    Gilles Chanteperdrix.


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

* Re: [Xenomai-core] Future of fusion
  2005-10-13 20:28     ` Gilles Chanteperdrix
@ 2005-10-14  3:42       ` Romain Lenglet
  2005-10-16  7:47         ` [Xenomai-core] Packaging issues and licensing issues Romain Lenglet
  0 siblings, 1 reply; 21+ messages in thread
From: Romain Lenglet @ 2005-10-14  3:42 UTC (permalink / raw)
  To: xenomai

>  > Gilles already has a tarball of the Debian rules I used for
>  > packaging fusion. With minor changes, these could be used
>  > for a Xenomai package. One possibility is to use the rules
>  > and the compile farm to produce "ready to run"
>  > kernel/Xenomai Debian packages.
>
> Well, quite frankly, I do not know much about the debian
> packages creation process, in any case not enough to do the
> work which remains to be done. The best I can do is add the
> debian directory to the svn repository, letting volunteers
> work on it and submit patches...

I have proposed a few improvements for the Debian packaging in 
"wish" #4523:
https://gna.org/bugs/index.php?func=detailitem&item_id=4523

-- 
Romain Lenglet


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

* [Xenomai-core] Packaging issues and licensing issues
  2005-10-14  3:42       ` Romain Lenglet
@ 2005-10-16  7:47         ` Romain Lenglet
  2005-10-16  7:50           ` Gilles Chanteperdrix
  0 siblings, 1 reply; 21+ messages in thread
From: Romain Lenglet @ 2005-10-16  7:47 UTC (permalink / raw)
  To: xenomai

Hi,

I repost here the issues that I have pointed in "wish" #4523 on 
the GNA interface 
https://gna.org/bugs/index.php?func=detailitem&item_id=4523
which, although it is listed in the bug tracker, is *not* a 
bug... ;) but there is no other place to put wishes or todo 
items.

========================================
Debian offers the module-assistant package, that relies on the 
kernel-package tools.
 module-assistant is both a command-line and a dialog-and-menus 
based tool, to make it very easy to build and package kernel 
modules.
 
 For instance, to build a module package from the ipw2100-source 
package (for wireless cards), the single following command is 
sufficient:
 $> m-a build ipw2100
 This downloads the source package, builds the modules and 
packages them.
 $> m-a install ipw2100
 This command does the same and even installs the built package.
 
 However, the current rtai-source in Debian is the only *-source 
package that cannot be built using module-assistant. This should 
be corrected in the next packages.
 
 
 I propose that the package be split into 5 packages, anyway:
 - libxenomai: the libraries,
 - libxenomai-dev: the development libraries, headers and devel 
tools (rtai-config, etc.),
 - libxenomai-tools: the runtime tools (rtai-load, etc.?)
 - libxenomai-doc: the docs,
 - xenomai-source: only the sources of modules; should be usable 
with module-assistant.
 
 And the *-source package should be well integrated: the module 
*.ko files should go into /lib/modules/... so that we can use 
modprobe directly to load the Xenomai modules. But that should 
be OK if it is compatible with module-assistant.
========================================


I have started creating a Debian package mockup (as a week-end 
hobby, do no expect that I finish it ;)), following the above 
remarks, and I have found other issues:

There are three licenses used in the source code:
1- GPL v2 or later:
  ./sim/**
  ./skins/rtai/*
  ./skins/posix/*
  ./skins/native/*
  ./skins/uvm/*
  ...
OK, no problem: the COPYING files are consistent with the license 
headers in files.

2- GPL v2 or later with exceptions:
  ./nucleus/**
  ./include/nucleus/**
  ./skins/psos+/**
  ./skins/uitron/**
  ./skins/vrtx/**
  ./skins/vxworks/**
  ...
The license headers in files do not mention the exceptions, only 
the COPYING files do. -> You should update the license headers 
in files.

3- LGPL v2 or later:
  ./skins/rtai/lib/*
  ./skins/posix/lib/*
  ./skins/native/lib/*
  ./skins/uvm/lib/*
  ...
Problem: only the text for v2.1 is in the COPYING files, not for 
v2 as mentioned in all license headers in files. -> You should 
update the COPYING files to contain LGPL v2, or update headers 
in files.


My other issue is: what are precisely the licences of every 
binaries / docs / modules / ... produced by make install? 
Because the right license files and doc must be provided in 
binary packages.

-- 
Romain Lenglet


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

* Re: [Xenomai-core] Packaging issues and licensing issues
  2005-10-16  7:47         ` [Xenomai-core] Packaging issues and licensing issues Romain Lenglet
@ 2005-10-16  7:50           ` Gilles Chanteperdrix
  2005-10-16 14:00             ` gna-dev
  0 siblings, 1 reply; 21+ messages in thread
From: Gilles Chanteperdrix @ 2005-10-16  7:50 UTC (permalink / raw)
  To: Romain Lenglet; +Cc: xenomai

Romain Lenglet wrote:
 > Hi,
 > 
 > I repost here the issues that I have pointed in "wish" #4523 on 
 > the GNA interface 
 > https://gna.org/bugs/index.php?func=detailitem&item_id=4523
 > which, although it is listed in the bug tracker, is *not* a 
 > bug... ;) but there is no other place to put wishes or todo 
 > items.

Ah, thanks ! The mailing list is the best place for yous wishes, since
it may start a discussion, and we may even found a volunteer for doing
the debian package.

The bug is closed.

-- 


					    Gilles Chanteperdrix.


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

* Re: [Xenomai-core] Packaging issues and licensing issues
  2005-10-16  7:50           ` Gilles Chanteperdrix
@ 2005-10-16 14:00             ` gna-dev
  2005-10-16 14:18               ` Romain Lenglet
  2005-10-17 18:54               ` Gilles Chanteperdrix
  0 siblings, 2 replies; 21+ messages in thread
From: gna-dev @ 2005-10-16 14:00 UTC (permalink / raw)
  To: xenomai

On Sunday 16 October 2005 08:50, Gilles Chanteperdrix wrote:
> Ah, thanks ! The mailing list is the best place for yous wishes, since
> it may start a discussion, and we may even found a volunteer for doing
> the debian package.

Using the debian/rules I did a few weeks ago as a basis for further work, I 
can work with Romain to develop it further. Not sure that having separate 
packages for each skin is a good idea, but certainly m-a is worth persuing.

Somewhere along the way, it would be wise (in my opinion) to appoint a package 
manager with write permissions to svn/cvs and file areas - This would relieve 
the core team of the burden of repository maintenance.


Regards, Paul.


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

* Re: [Xenomai-core] Packaging issues and licensing issues
  2005-10-16 14:00             ` gna-dev
@ 2005-10-16 14:18               ` Romain Lenglet
  2005-10-17 18:54               ` Gilles Chanteperdrix
  1 sibling, 0 replies; 21+ messages in thread
From: Romain Lenglet @ 2005-10-16 14:18 UTC (permalink / raw)
  To: xenomai

[-- Attachment #1: Type: text/plain, Size: 1013 bytes --]

Hi Paul,

> Using the debian/rules I did a few weeks ago as a basis for
> further work, I can work with Romain to develop it further.
> Not sure that having separate packages for each skin is a good
> idea, but certainly m-a is worth persuing.

Yes, finally I think that one set of packages for every skin 
would be overkill.

As my 2 yen contribution, here is a debian/control file (ok, this 
is the easiest task, but someone had to do it...). ;)

As for the rules file, I think that the most difficult will be to 
generate the module source package. There is already a skeleton 
of a source package generating a module source package, in the 
documentation of package module-assistant:
/usr/share/doc/module-assistant/examples/templates-debian-dir.tar.bz2

What I did is to start with dh_make --kmod, then modify the 
control file to define the other packages. Then we should try to 
reuse module-assistant's template, that is apparently used by 
all other module source packages in Debian.

-- 
Romain Lenglet

[-- Attachment #2: control --]
[-- Type: text/plain, Size: 4537 bytes --]

Source: xenomai
Section: devel
Priority: extra
Maintainer: Romain Lenglet <rlenglet@domain.hid>
Build-Depends: debhelper (>= 4.0.0), autotools-dev
Standards-Version: 3.6.2

Package: libxenomai
Architecture: i386 powerpc
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Xenomai real-time framework (libraries)
 Xenomai is a real-time development framework cooperating with the
 Linux kernel, in order to provide a pervasive, interface-agnostic,
 hard real-time support to user-space applications, seamlessly
 integrated into the GNU/Linux environment.
 .
 Xenomai is based on an abstract RTOS core, usable for building any
 kind of real-time interfaces, over a nucleus which exports a set of
 generic RTOS services. Any number of RTOS personalities called
 "skins" can then be built over the nucleus, providing their own
 specific interface to the applications, by using the services of a
 single generic core to implement it.
 .
 This package contains the runtime shared libraries.

Package: libxenomai-dev
Architecture: i386 powerpc
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Xenomai real-time framework (development)
 Xenomai is a real-time development framework cooperating with the
 Linux kernel, in order to provide a pervasive, interface-agnostic,
 hard real-time support to user-space applications, seamlessly
 integrated into the GNU/Linux environment.
 .
 Xenomai is based on an abstract RTOS core, usable for building any
 kind of real-time interfaces, over a nucleus which exports a set of
 generic RTOS services. Any number of RTOS personalities called
 "skins" can then be built over the nucleus, providing their own
 specific interface to the applications, by using the services of a
 single generic core to implement it.
 .
 This package contains the development environment.

Package: libxenomai-tools
Architecture: i386 powerpc
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Xenomai real-time framework (tools)
 Xenomai is a real-time development framework cooperating with the
 Linux kernel, in order to provide a pervasive, interface-agnostic,
 hard real-time support to user-space applications, seamlessly
 integrated into the GNU/Linux environment.
 .
 Xenomai is based on an abstract RTOS core, usable for building any
 kind of real-time interfaces, over a nucleus which exports a set of
 generic RTOS services. Any number of RTOS personalities called
 "skins" can then be built over the nucleus, providing their own
 specific interface to the applications, by using the services of a
 single generic core to implement it.
 .
 This package contains command-line tools for testing Xenomai.

Package: libxenomai-doc
Architecture: i386 powerpc
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Xenomai real-time framework (documentation)
 Xenomai is a real-time development framework cooperating with the
 Linux kernel, in order to provide a pervasive, interface-agnostic,
 hard real-time support to user-space applications, seamlessly
 integrated into the GNU/Linux environment.
 .
 Xenomai is based on an abstract RTOS core, usable for building any
 kind of real-time interfaces, over a nucleus which exports a set of
 generic RTOS services. Any number of RTOS personalities called
 "skins" can then be built over the nucleus, providing their own
 specific interface to the applications, by using the services of a
 single generic core to implement it.
 .
 This package contains documentation on the usage of the libraries.

Package: xenomai-source
Architecture: i386 powerpc
Depends: module-assistant, debhelper (>>4.0.0), make, bzip2
Recommends: kernel-patch-adeos (>=20050809)
Description: Xenomai real-time framework (kernel module source)
 Xenomai is a real-time development framework cooperating with the
 Linux kernel, in order to provide a pervasive, interface-agnostic,
 hard real-time support to user-space applications, seamlessly
 integrated into the GNU/Linux environment.
 .
 Xenomai is based on an abstract RTOS core, usable for building any
 kind of real-time interfaces, over a nucleus which exports a set of
 generic RTOS services. Any number of RTOS personalities called
 "skins" can then be built over the nucleus, providing their own
 specific interface to the applications, by using the services of a
 single generic core to implement it.
 .
 This package provides the source code for the xenomai kernel modules.
 The xenomai package is also required in order to make use of these
 modules. Kernel source or headers are required to compile these modules.

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

* Re: [Xenomai-core] Packaging issues and licensing issues
  2005-10-16 14:00             ` gna-dev
  2005-10-16 14:18               ` Romain Lenglet
@ 2005-10-17 18:54               ` Gilles Chanteperdrix
  1 sibling, 0 replies; 21+ messages in thread
From: Gilles Chanteperdrix @ 2005-10-17 18:54 UTC (permalink / raw)
  To: gna-dev; +Cc: xenomai

gna-dev@domain.hid wrote:
 > On Sunday 16 October 2005 08:50, Gilles Chanteperdrix wrote:
 > > Ah, thanks ! The mailing list is the best place for yous wishes, since
 > > it may start a discussion, and we may even found a volunteer for doing
 > > the debian package.
 > 
 > Using the debian/rules I did a few weeks ago as a basis for further work, I 
 > can work with Romain to develop it further. Not sure that having separate 
 > packages for each skin is a good idea, but certainly m-a is worth persuing.
 > 
 > Somewhere along the way, it would be wise (in my opinion) to appoint a package 
 > manager with write permissions to svn/cvs and file areas - This would relieve 
 > the core team of the burden of repository maintenance.

That is true. Would you volunteer ?
Or maybe Romain, since he seem to have undertaken some part of the
remaining work ?

-- 


					    Gilles Chanteperdrix.


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

end of thread, other threads:[~2005-10-17 18:54 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-13  7:55 [Xenomai-core] Future of fusion Marco Cavallini
2005-10-13  8:15 ` Jan Kiszka
2005-10-13  8:24 ` Philippe Gerum
2005-10-13  8:37   ` Herman Bruyninckx
2005-10-13  8:50     ` Gilles Chanteperdrix
2005-10-13  8:54       ` Herman Bruyninckx
2005-10-13  9:12         ` Philippe Gerum
2005-10-13  9:34           ` Herman Bruyninckx
2005-10-13 13:57             ` Jan Kiszka
2005-10-13 19:57             ` Gilles Chanteperdrix
2005-10-13  9:46     ` Jan Kiszka
2005-10-13 10:46   ` Paul
2005-10-13 13:33     ` Philippe Gerum
2005-10-13 19:47       ` Wolfgang Grandegger
2005-10-13 20:28     ` Gilles Chanteperdrix
2005-10-14  3:42       ` Romain Lenglet
2005-10-16  7:47         ` [Xenomai-core] Packaging issues and licensing issues Romain Lenglet
2005-10-16  7:50           ` Gilles Chanteperdrix
2005-10-16 14:00             ` gna-dev
2005-10-16 14:18               ` Romain Lenglet
2005-10-17 18:54               ` Gilles Chanteperdrix

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.