Re: [Xenomai-core] v2.1 status

2005-11-19 Thread Wolfgang Grandegger

Philippe Gerum wrote:


Here is an update regarding the way things progress on the v2.1 branch:

o The build system has been deeply revamped, so that we now fully leave 
the burden of building Xenomai's kernel support to Linux. To this end, 
the code tree has been reorganized in two major sections, the first one 
contains the kernel-related sources (ksrc/), the other is hosting the 
user-space support (src/). Since the user-space portion does not need to 
know about the kernel sources anymore, several issues have been solved 
in the same move. All in all, things are way simpler than before, which 
seems to indicate that we are heading to the right direction. The 
documentation for the installation process needs to be updated though.


I like it a lot.

o Also as a matter of build system (and a bit more), v2.1 has been 
backported to Linux 2.4, starting with the ppc32 support. We rely on 
Denx's 2_4-devel tree as our 2.4 kernel of reference for this port [1]. 
A second backport to 2.4/x86 will happen when this combo is I-pipe 
ready. We are ahead of schedule regarding this backport, since it was 
initially planned for Q12006, but since we are going to add more 
supported architectures in the next months, it's better to have a stable 
build system for that.


Just tested Xenomai with adeos-ipipe-2.4.25-ppc-denx-0.9-02.patch on a 
recent DENX kernel tree. MPC 8xx support was missing. I have attached
the patch to fix it. Furthermore I have not found the Machine options 
(here from 2.6):


 #
 # Machine
 #
 # CONFIG_XENO_HW_FPU is not set
 CONFIG_XENO_HW_PERIODIC_TIMER=y
 CONFIG_XENO_HW_TIMER_LATENCY=1
 CONFIG_XENO_HW_SCHED_LATENCY=1


The latency figures on my TQM860L board with Xenomai 2.1 and Liunx 2.4 
are close to the one I measured with Xenomail 2.0 with Linux 2.6:


LATENCY with load on TQM860L:

Linux   |-lat min|-lat avg|-latmax|-overrun|---test-time
2.6.13  |   60480|  120960| 224320|   0|00:09:46
2.4.25  |   64080|   95120| 225040|   0|00:10:00


o PowerPC-wise (again), we should be close to ready for 2.6.15, since 
Heikki merged both the 32 and 64-bit trees in a single one.


All other tasks planned are undergoing. For my part, I'm going to fiddle 
now with ADI's Blackfin for which we already have the required Adeos 
support, and create the Xenomai port for it. Since this one is uClinux 
based, we should be able to check that the new build system is ok to 
host any kind of port sanely.


[1] http://www.denx.de/en/Software/CVS/


Thanks.

Have a nice weekend.

Wolfgang.


+ diff -u linuxppc_2_4_devel-2005-11-19_1437-ipipe/arch/ppc/kernel/head_8xx.S.IPIPE2 linuxppc_2_4_devel-2005-11-19_1437-ipipe/arch/ppc/kernel/head_8xx.S
--- linuxppc_2_4_devel-2005-11-19_1437-ipipe/arch/ppc/kernel/head_8xx.S.IPIPE2	2005-02-13 21:04:14.0 +0100
+++ linuxppc_2_4_devel-2005-11-19_1437-ipipe/arch/ppc/kernel/head_8xx.S	2005-11-19 14:51:27.0 +0100
@@ -231,7 +231,11 @@
 	bl	transfer_to_handler
 	.globl	do_IRQ_intercept
 do_IRQ_intercept:
-	.long	do_IRQ;
+#ifdef CONFIG_IPIPE
+	.long   __ipipe_grab_irq
+#else /* !CONFIG_IPIPE */
+	.long	do_IRQ
+#endif /* CONFIG_IPIPE */
 	.long	ret_from_intercept
 
 /* Alignment exception */
@@ -268,7 +272,11 @@
 	bl	transfer_to_handler
 	.globl	timer_interrupt_intercept
 timer_interrupt_intercept:
-	.long	timer_interrupt
+#ifdef CONFIG_IPIPE
+	.long   __ipipe_grab_timer
+#else /* !CONFIG_IPIPE */
+	.long   timer_interrupt
+#endif /* CONFIG_IPIPE */
 	.long	ret_from_intercept
 
 	STD_EXCEPTION(0xa00, Trap_0a, UnknownException)
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] v2.1 status

2005-11-19 Thread Philippe Gerum

Ignacio García Pérez wrote:

I had a first contact with the new build system. I really really don't
like the fact it touches my kernel source tree. Besides adeos, I like to
keep the kernel source independent of xenomai, because that tree is
shared for other projects.



At that point, I would really consider leaving the burden of keeping 
various users of a single code base in sync to a SCM, not to the filesystem.



Also, why does it default to monolithic build of the xeno modules when
in 2.0 you always got them as modules?.




Because it's a reasonable default:

o Most setups don't need to unload the real-time support, but rather 
load it once for all at startup.
o Given #1, in the embedded space, modules are often considered as pure 
annoyance. Among other things, you need to activate the module support 
in the kernel just to load the RT system once, and this does not come 
for free, especially in terms of memory footprints.
o Modules are allocated in vmalloc space. Given that the vanilla kernel 
already has rather poor code locality (spatially speaking at least), 
things are not going to improve for time-critical code in modules which 
increase TLB misses.


For the rare cases where the arguments above are outweight by a strong 
requirement to have modules, you can still switch them on in your kernel 
configuration; this is the kind of flexibility you did not have with the 
previous build system.


--

Philippe.

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


Re: [Xenomai-core] v2.1 status

2005-11-19 Thread Wolfgang Grandegger

Philippe Gerum wrote:


Here is an update regarding the way things progress on the v2.1 branch:

o The build system has been deeply revamped, so that we now fully leave 
the burden of building Xenomai's kernel support to Linux. To this end, 
the code tree has been reorganized in two major sections, the first one 
contains the kernel-related sources (ksrc/), the other is hosting the 
user-space support (src/). Since the user-space portion does not need to 
know about the kernel sources anymore, several issues have been solved 
in the same move. All in all, things are way simpler than before, which 
seems to indicate that we are heading to the right direction. The 
documentation for the installation process needs to be updated though.


I like it a lot.

o Also as a matter of build system (and a bit more), v2.1 has been 
backported to Linux 2.4, starting with the ppc32 support. We rely on 
Denx's 2_4-devel tree as our 2.4 kernel of reference for this port [1]. 
A second backport to 2.4/x86 will happen when this combo is I-pipe 
ready. We are ahead of schedule regarding this backport, since it was 
initially planned for Q12006, but since we are going to add more 
supported architectures in the next months, it's better to have a stable 
build system for that.


Just tested Xenomai with adeos-ipipe-2.4.25-ppc-denx-0.9-02.patch on a 
recent DENX kernel tree. MPC 8xx support was missing. I have attached
the patch to fix it. Furthermore I have not found the Machine options 
(here from 2.6):


 #
 # Machine
 #
 # CONFIG_XENO_HW_FPU is not set
 CONFIG_XENO_HW_PERIODIC_TIMER=y
 CONFIG_XENO_HW_TIMER_LATENCY=1
 CONFIG_XENO_HW_SCHED_LATENCY=1


The latency figures on my TQM860L board with Xenomai 2.1 and Liunx 2.4 
are close to the one I measured with Xenomail 2.0 with Linux 2.6:


LATENCY with load on TQM860L:

Linux   |-lat min|-lat avg|-latmax|-overrun|---test-time
2.6.13  |   60480|  120960| 224320|   0|00:09:46
2.4.25  |   64080|   95120| 225040|   0|00:10:00


o PowerPC-wise (again), we should be close to ready for 2.6.15, since 
Heikki merged both the 32 and 64-bit trees in a single one.


All other tasks planned are undergoing. For my part, I'm going to fiddle 
now with ADI's Blackfin for which we already have the required Adeos 
support, and create the Xenomai port for it. Since this one is uClinux 
based, we should be able to check that the new build system is ok to 
host any kind of port sanely.


[1] http://www.denx.de/en/Software/CVS/


Thanks.

Have a nice weekend.

Wolfgang.


+ diff -u linuxppc_2_4_devel-2005-11-19_1437-ipipe/arch/ppc/kernel/head_8xx.S.IPIPE2 linuxppc_2_4_devel-2005-11-19_1437-ipipe/arch/ppc/kernel/head_8xx.S
--- linuxppc_2_4_devel-2005-11-19_1437-ipipe/arch/ppc/kernel/head_8xx.S.IPIPE2	2005-02-13 21:04:14.0 +0100
+++ linuxppc_2_4_devel-2005-11-19_1437-ipipe/arch/ppc/kernel/head_8xx.S	2005-11-19 14:51:27.0 +0100
@@ -231,7 +231,11 @@
 	bl	transfer_to_handler
 	.globl	do_IRQ_intercept
 do_IRQ_intercept:
-	.long	do_IRQ;
+#ifdef CONFIG_IPIPE
+	.long   __ipipe_grab_irq
+#else /* !CONFIG_IPIPE */
+	.long	do_IRQ
+#endif /* CONFIG_IPIPE */
 	.long	ret_from_intercept
 
 /* Alignment exception */
@@ -268,7 +272,11 @@
 	bl	transfer_to_handler
 	.globl	timer_interrupt_intercept
 timer_interrupt_intercept:
-	.long	timer_interrupt
+#ifdef CONFIG_IPIPE
+	.long   __ipipe_grab_timer
+#else /* !CONFIG_IPIPE */
+	.long   timer_interrupt
+#endif /* CONFIG_IPIPE */
 	.long	ret_from_intercept
 
 	STD_EXCEPTION(0xa00, Trap_0a, UnknownException)


Re: [Xenomai-core] v2.1 status

2005-11-18 Thread Jan Kiszka
Philippe Gerum wrote:
 
 Here is an update regarding the way things progress on the v2.1 branch:
 
 o The build system has been deeply revamped, so that we now fully leave
 the burden of building Xenomai's kernel support to Linux. To this end,
 the code tree has been reorganized in two major sections, the first one
 contains the kernel-related sources (ksrc/), the other is hosting the
 user-space support (src/). Since the user-space portion does not need to
 know about the kernel sources anymore, several issues have been solved
 in the same move. All in all, things are way simpler than before, which
 seems to indicate that we are heading to the right direction. The
 documentation for the installation process needs to be updated though.
 
 o Also as a matter of build system (and a bit more), v2.1 has been
 backported to Linux 2.4, starting with the ppc32 support. We rely on
 Denx's 2_4-devel tree as our 2.4 kernel of reference for this port [1].
 A second backport to 2.4/x86 will happen when this combo is I-pipe
 ready. We are ahead of schedule regarding this backport, since it was
 initially planned for Q12006, but since we are going to add more
 supported architectures in the next months, it's better to have a stable
 build system for that.
 
 o PowerPC-wise (again), we should be close to ready for 2.6.15, since
 Heikki merged both the 32 and 64-bit trees in a single one.
 
 All other tasks planned are undergoing. For my part, I'm going to fiddle
 now with ADI's Blackfin for which we already have the required Adeos
 support, and create the Xenomai port for it. Since this one is uClinux
 based, we should be able to check that the new build system is ok to
 host any kind of port sanely.
 

Question: On recent roadmaps I'm so far missing the topic RT-signal
support in userspace. Are there any concrete schedules (Qx 200y)?

I think to remember that you said Adeos would be involved in such an
extension. Maybe it would be a good time to think about this also when
we extend the Adeos API by shareable IRQs.

Jan




signature.asc
Description: OpenPGP digital signature