* [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 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 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 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 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 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.