* RE: [Xenomai-core] PATCH: fix ppc64 calibration
@ 2005-10-11 15:11 Fillod Stephane
2005-10-11 15:20 ` Heikki Lindholm
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Fillod Stephane @ 2005-10-11 15:11 UTC (permalink / raw)
To: xenomai
Heikki Lindholm wrote:
[..]
> Probably, but there are less than awesome 4xx boards around and I'd
> guess they might even be more likely targets than G4 based machines,
for
> example. Some tuning might be needed.
How many people are using Xenomai (or Fusion) on 4xx ?
What are their typical sched latency ?
--
Stephane
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [Xenomai-core] PATCH: fix ppc64 calibration 2005-10-11 15:11 [Xenomai-core] PATCH: fix ppc64 calibration Fillod Stephane @ 2005-10-11 15:20 ` Heikki Lindholm 2005-10-11 19:29 ` Wolfgang Grandegger 2005-10-12 12:13 ` Wolfgang Grandegger 2 siblings, 0 replies; 18+ messages in thread From: Heikki Lindholm @ 2005-10-11 15:20 UTC (permalink / raw) To: Fillod Stephane; +Cc: xenomai Fillod Stephane kirjoitti: > Heikki Lindholm wrote: > [..] > >>Probably, but there are less than awesome 4xx boards around and I'd >>guess they might even be more likely targets than G4 based machines, > > for > >>example. Some tuning might be needed. > > > How many people are using Xenomai (or Fusion) on 4xx ? No idea here, but my understanding is that these are popular embedded processors. > What are their typical sched latency ? This one I could check for a 405 box. -- Heikki Lindholm ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Xenomai-core] PATCH: fix ppc64 calibration 2005-10-11 15:11 [Xenomai-core] PATCH: fix ppc64 calibration Fillod Stephane 2005-10-11 15:20 ` Heikki Lindholm @ 2005-10-11 19:29 ` Wolfgang Grandegger 2005-10-12 12:13 ` Wolfgang Grandegger 2 siblings, 0 replies; 18+ messages in thread From: Wolfgang Grandegger @ 2005-10-11 19:29 UTC (permalink / raw) To: Fillod Stephane; +Cc: xenomai On 10/11/2005 05:11 PM Fillod Stephane wrote: > Heikki Lindholm wrote: > [..] >> Probably, but there are less than awesome 4xx boards around and I'd >> guess they might even be more likely targets than G4 based machines, > for >> example. Some tuning might be needed. > > How many people are using Xenomai (or Fusion) on 4xx ? > What are their typical sched latency ? RTAI is used on 4xx and other embedded PowerPC processors, like 8xx, 8xxx and 52xx and Xenomai/Fusion might be an option in the future. Today, there are only a few people running and testing Xenomai/Fusion on these PowerPC processors, I guess. The problem is the availability of the Linux 2.6 together with the ADEOS/iPipe-Patch. A lot of embedded PowerPC boards do still not run or even compile Linux 2.6. Depending on the CPU power and cache size, latencies can go up to 200 us (or more), e.g. on a MPC 850 with 50 MHz and 1K cache. I'm going to measure the latency on a Ocotea (440GP) and Ebony (405) board this week (with adeos-linux-2.6.10-ppc-r8c4.patch and Fusion 0.9.1). Wolfgang. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Xenomai-core] PATCH: fix ppc64 calibration 2005-10-11 15:11 [Xenomai-core] PATCH: fix ppc64 calibration Fillod Stephane 2005-10-11 15:20 ` Heikki Lindholm 2005-10-11 19:29 ` Wolfgang Grandegger @ 2005-10-12 12:13 ` Wolfgang Grandegger 2005-10-12 12:51 ` Heikki Lindholm 2 siblings, 1 reply; 18+ messages in thread From: Wolfgang Grandegger @ 2005-10-12 12:13 UTC (permalink / raw) To: Fillod Stephane; +Cc: xenomai [-- Attachment #1: Type: text/plain, Size: 757 bytes --] On 10/11/2005 05:11 PM Fillod Stephane wrote: > Heikki Lindholm wrote: > [..] >> Probably, but there are less than awesome 4xx boards around and I'd >> guess they might even be more likely targets than G4 based machines, > for >> example. Some tuning might be needed. > > How many people are using Xenomai (or Fusion) on 4xx ? > What are their typical sched latency ? Attached is the result of some latency measurements on the Ocotea eval board. The AMCC 440 GX is already a fast 4xx processor. Unfortunately, the linuxppc-2.6.10rc3 does not run on our Ebony board. Nevertheless, it's difficult to provide a resonable default value. Why not simply using 0 and it's then up to the user to provide an appropriate value at configuration time? Wolfgang. [-- Attachment #2: fusion-latencies-ocotea.log --] [-- Type: text/plain, Size: 1613 bytes --] _______________________________________________________________________________ AMCC PowerPC 440GX Rev. C Board: Ocotea - AMCC PPC440GX Evaluation Board VCO: 1066 MHz CPU: 533 MHz PLB: 152 MHz OPB: 76 MHz EPB: 76 MHz I2C: ready DRAM: 256 MB FLASH: 5 MB PCI: Bus Dev VenId DevId Class Int In: serial Out: serial Err: serial Net: ppc_4xx_eth0, ppc_4xx_eth1, ppc_4xx_eth2, ppc_4xx_eth3 Linux: linuxppc-2.6.10rc3 Adeos 2.6r8c4/ppc -- Pipelining: permanent Linux: priority=100, id=0x00000000, ptdkeys=0/4 irq0-95: accepted irq96: accepted, virtual irq97: grabbed, virtual _______________________________________________________________________________ *** SWITCH Without load *** == Sampling period: 100 us == Do not interrupt this program RTH| lat min| lat avg| lat max| lost RTD| 5310| 7168| 17493| 0 *** CRUNCHER without load *** Calibrating cruncher...301237, 8663, done -- ideal computation time = 9622 us. 1000 samples, 1000 hz freq (pid=24806, policy=SCHED_FIFO, prio=99) -------- Nanosleep jitter: min = -8 us, max = 27 us, avg = -8 us Execution jitter: min = -30 us (0%), max = 77 us (0%), avg = 7 us (0%) -------- *** KLATENCY with load ("ping -f" and "while ls; do ls; done" in telnet window) *** RTS| -12510| -9546| 3731| 0| 00:06:26/00:06:26 *** LATENCY with load ("ping -f" and "while ls; do ls; done" in telnet window) *** == Sampling period: 100 us ... RTS| -11940| -8885| 7143| 0| 00:06:55/00:06:55 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Xenomai-core] PATCH: fix ppc64 calibration 2005-10-12 12:13 ` Wolfgang Grandegger @ 2005-10-12 12:51 ` Heikki Lindholm 2005-10-12 13:18 ` Wolfgang Grandegger 0 siblings, 1 reply; 18+ messages in thread From: Heikki Lindholm @ 2005-10-12 12:51 UTC (permalink / raw) To: Wolfgang Grandegger; +Cc: xenomai Wolfgang Grandegger kirjoitti: > On 10/11/2005 05:11 PM Fillod Stephane wrote: > >>Heikki Lindholm wrote: >>[..] >> >>>Probably, but there are less than awesome 4xx boards around and I'd >>>guess they might even be more likely targets than G4 based machines, >> >>for >> >>>example. Some tuning might be needed. >> >>How many people are using Xenomai (or Fusion) on 4xx ? >>What are their typical sched latency ? > > > Attached is the result of some latency measurements on the Ocotea eval > board. The AMCC 440 GX is already a fast 4xx processor. Unfortunately, > the linuxppc-2.6.10rc3 does not run on our Ebony board. Nevertheless, > it's difficult to provide a resonable default value. Why not simply > using 0 and it's then up to the user to provide an appropriate value > at configuration time? 0? No machine is that fast. For the 32-bit ppc it might be harder to provide a reasonable default, because of the broader scale of hardware, but I'd guess that < 100MHz targets prefer to use a dedicated RTOS instead of Xenomai. For the 64-bit targets, I didn't find slower than 400 MHz machines and they were iSeries, which, I suppose, also aren't prime target for Xenomai. Regardless of what default value is used, there could be some examples provided by the config help to direct user to the right direction. What's the problem with Ebonys? I remember running at least 2.6.9 on Ebonys (440GP) and Walnuts (405). -- Heikki Lindholm ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Xenomai-core] PATCH: fix ppc64 calibration 2005-10-12 12:51 ` Heikki Lindholm @ 2005-10-12 13:18 ` Wolfgang Grandegger 2005-10-12 14:17 ` Heikki Lindholm 2005-10-12 14:39 ` [Xenomai-core] 2.4 vs 2.6 in embedded space Philippe Gerum 0 siblings, 2 replies; 18+ messages in thread From: Wolfgang Grandegger @ 2005-10-12 13:18 UTC (permalink / raw) To: Heikki Lindholm; +Cc: xenomai On 10/12/2005 02:51 PM Heikki Lindholm wrote: > Wolfgang Grandegger kirjoitti: >> On 10/11/2005 05:11 PM Fillod Stephane wrote: >> >>>Heikki Lindholm wrote: >>>[..] >>> >>>>Probably, but there are less than awesome 4xx boards around and I'd >>>>guess they might even be more likely targets than G4 based machines, >>> >>>for >>> >>>>example. Some tuning might be needed. >>> >>>How many people are using Xenomai (or Fusion) on 4xx ? >>>What are their typical sched latency ? >> >> >> Attached is the result of some latency measurements on the Ocotea eval >> board. The AMCC 440 GX is already a fast 4xx processor. Unfortunately, >> the linuxppc-2.6.10rc3 does not run on our Ebony board. Nevertheless, >> it's difficult to provide a resonable default value. Why not simply >> using 0 and it's then up to the user to provide an appropriate value >> at configuration time? > > 0? No machine is that fast. For the 32-bit ppc it might be harder to > provide a reasonable default, because of the broader scale of hardware, > but I'd guess that < 100MHz targets prefer to use a dedicated RTOS > instead of Xenomai. For the 64-bit targets, I didn't find slower than There are a lot of 32 bit CPUs < 100 MHz running Linux and sometimes they even need a realtime extension. > 400 MHz machines and they were iSeries, which, I suppose, also aren't > prime target for Xenomai. Regardless of what default value is used, > there could be some examples provided by the config help to direct user > to the right direction. I fully agree. > What's the problem with Ebonys? I remember running at least 2.6.9 on > Ebonys (440GP) and Walnuts (405). We have linux-2.4.14-rc3 running on all AMCC eval boards (see http://www.denx.de). But the kernel supported by RTAI/Fusion, linuxppc-2.6.10rc3, does not boot on Ebony. The main problem is the missing support for U-Boot but there might be others. And it's simply not worth the effort to port it, I think. Wolfgang. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Xenomai-core] PATCH: fix ppc64 calibration 2005-10-12 13:18 ` Wolfgang Grandegger @ 2005-10-12 14:17 ` Heikki Lindholm 2005-10-12 14:39 ` [Xenomai-core] 2.4 vs 2.6 in embedded space Philippe Gerum 1 sibling, 0 replies; 18+ messages in thread From: Heikki Lindholm @ 2005-10-12 14:17 UTC (permalink / raw) To: Wolfgang Grandegger; +Cc: xenomai Wolfgang Grandegger kirjoitti: > >>What's the problem with Ebonys? I remember running at least 2.6.9 on >>Ebonys (440GP) and Walnuts (405). > > > We have linux-2.4.14-rc3 running on all AMCC eval boards (see > http://www.denx.de). But the kernel supported by RTAI/Fusion, > linuxppc-2.6.10rc3, does not boot on Ebony. The main problem is the > missing support for U-Boot but there might be others. And it's simply > not worth the effort to port it, I think. Now that you mention it, I remember I had to hack u-boot support in there back when I used the Ebonys. Maybe I'll see if I can get some numbers out of them later this week. -- Heikki Lindholm ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Xenomai-core] 2.4 vs 2.6 in embedded space 2005-10-12 13:18 ` Wolfgang Grandegger 2005-10-12 14:17 ` Heikki Lindholm @ 2005-10-12 14:39 ` Philippe Gerum 2005-10-12 15:00 ` Wolfgang Denk 2005-10-13 8:37 ` [Xenomai-core] " Wolfgang Grandegger 1 sibling, 2 replies; 18+ messages in thread From: Philippe Gerum @ 2005-10-12 14:39 UTC (permalink / raw) To: Wolfgang Grandegger; +Cc: xenomai Wolfgang Grandegger wrote: > We have linux-2.4.14-rc3 running on all AMCC eval boards (see > http://www.denx.de). But the kernel supported by RTAI/Fusion, > linuxppc-2.6.10rc3, does not boot on Ebony. The main problem is the > missing support for U-Boot but there might be others. And it's simply > not worth the effort to port it, I think. Open question: to your opinion, is 2.6 on low-end embedded hw doomed "by design" and why, or do you think that part of the reluctance to move to 2.6 is mostly explained because 2.4 is just fine and up to the task, IOW it's kind of a "don't fix if it ain't broken" perception? -- Philippe. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Xenomai-core] 2.4 vs 2.6 in embedded space 2005-10-12 14:39 ` [Xenomai-core] 2.4 vs 2.6 in embedded space Philippe Gerum @ 2005-10-12 15:00 ` Wolfgang Denk 2005-10-13 8:37 ` [Xenomai-core] " Wolfgang Grandegger 1 sibling, 0 replies; 18+ messages in thread From: Wolfgang Denk @ 2005-10-12 15:00 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai Dear Philippe, in message <434D2006.1060908@domain.hid> you wrote: > > Open question: to your opinion, is 2.6 on low-end embedded hw doomed "by design" Something like that. > and why, or do you think that part of the reluctance to move to 2.6 is mostly > explained because 2.4 is just fine and up to the task, IOW it's kind of a "don't > fix if it ain't broken" perception? Please see http://www.denx.de/twiki/bin/view/Know/Linux24vs26 and http://www.denx.de/twiki/bin/view/Know/Clock100vs1000Hz The major causes of the serious performance degradation under 2.6 are (1) the increased code size (especially the code that is running in interrupt context and for test switching - check for example just the code size of the scheduler and compar ewith it's size under 2.4), and (2) the increased clock frequency. OK, (2) has been partially fixed in the mean time by making the clock frequency adjustable, so you can go back to the old value of 100 Hz on low end systems. The other factor remains. And yes, this is "by design" - Linux is more and more designed for high end machines like fat servers running thousands of tasks or other multiprocessor systems with N GHz clocks. A MPC860 at 50 Mhz is just another world. <joke> I see a business opportunity to revive the 2.2 or even the 2.0 kernel tree development especially for small systems wth real-time requirements. </joke> Best regards, Wolfgang Denk -- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@domain.hid If there was anything that depressed him more than his own cynicism, it was that quite often it still wasn't as cynical as real life. - Terry Pratchett, _Guards! Guards!_ ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Xenomai-core] Re: 2.4 vs 2.6 in embedded space 2005-10-12 14:39 ` [Xenomai-core] 2.4 vs 2.6 in embedded space Philippe Gerum 2005-10-12 15:00 ` Wolfgang Denk @ 2005-10-13 8:37 ` Wolfgang Grandegger 2005-10-13 9:11 ` Philippe Gerum 1 sibling, 1 reply; 18+ messages in thread From: Wolfgang Grandegger @ 2005-10-13 8:37 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai On 10/12/2005 04:39 PM Philippe Gerum wrote: > Wolfgang Grandegger wrote: >> We have linux-2.4.14-rc3 running on all AMCC eval boards (see >> http://www.denx.de). But the kernel supported by RTAI/Fusion, >> linuxppc-2.6.10rc3, does not boot on Ebony. The main problem is the >> missing support for U-Boot but there might be others. And it's simply >> not worth the effort to port it, I think. > > Open question: to your opinion, is 2.6 on low-end embedded hw doomed "by design" > and why, or do you think that part of the reluctance to move to 2.6 is mostly > explained because 2.4 is just fine and up to the task, IOW it's kind of a "don't > fix if it ain't broken" perception? As Wolfgang (Denk) already pointed out, 2.6 is less attractive on low end systems, because it's bigger, slower, ... This is also true for Xenomai (RTAI/fusion). It's difficult to beat the latency value of the old RTAI/RTHAL under 2.4. You need more CPU power and resources, that's how thing are going. Nevertheless, compared to the realtime preemption patch, Xenomai is _lightweight_ :-). Furthermore I think, that part of the reluctance is also due to "development in progress" including features like the realtime preemption patch, especially on embedded PowerPC systems. People are waiting that things get available and stable. Wolfgang. ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Xenomai-core] Re: 2.4 vs 2.6 in embedded space 2005-10-13 8:37 ` [Xenomai-core] " Wolfgang Grandegger @ 2005-10-13 9:11 ` Philippe Gerum 2005-10-13 10:05 ` Wolfgang Grandegger 0 siblings, 1 reply; 18+ messages in thread From: Philippe Gerum @ 2005-10-13 9:11 UTC (permalink / raw) To: Wolfgang Grandegger; +Cc: xenomai Wolfgang Grandegger wrote: > On 10/12/2005 04:39 PM Philippe Gerum wrote: > >>Wolfgang Grandegger wrote: >> >>>We have linux-2.4.14-rc3 running on all AMCC eval boards (see >>>http://www.denx.de). But the kernel supported by RTAI/Fusion, >>>linuxppc-2.6.10rc3, does not boot on Ebony. The main problem is the >>>missing support for U-Boot but there might be others. And it's simply >>>not worth the effort to port it, I think. >> >>Open question: to your opinion, is 2.6 on low-end embedded hw doomed "by design" >>and why, or do you think that part of the reluctance to move to 2.6 is mostly >>explained because 2.4 is just fine and up to the task, IOW it's kind of a "don't >>fix if it ain't broken" perception? > > > As Wolfgang (Denk) already pointed out, 2.6 is less attractive on low > end systems, because it's bigger, slower, ... This is also true for > Xenomai (RTAI/fusion). It's difficult to beat the latency value of the > old RTAI/RTHAL under 2.4. You need more CPU power and resources, that's > how thing are going. Nevertheless, compared to the realtime preemption > patch, Xenomai is _lightweight_ :-). I think so too; that's the problem with strictly native real-time support in the kernel: you must end up with some kind of SMPish structure which virtually exhibits an infinite number of processors (one per task basically), so it's not going to help reducing the cpu footprints and the various noisy artefacts implied by the generalized mutex approach (which is otherwise sound, that's no the issue). This is also why there is still space for real-time extensions, provided - I think - they run as symbiotically as possible with Linux, so that we don't end up telling people to ignore they have Linux while running their apps over it. As far as Xeno is concerned, we should be able to continue to reduce those footprints. From my window, I see two aspects we need to work on: - impact of the Adeos pipelining on cache especially for hw with sluggish memory bandwidth - a better placement of the hot data that are accessed inside the fast interrupt path (mainly those of the scheduler). Looking at the ppc figures since early 2005 or so, the raw latency has continuously been reduced, i.e. we went from ~120 us on a Freescale's Icecube running the user-space test, to 53 us as measured recently with 0.9.1+r8c4. I did not manage to check again on the Sandpoint (connection problem to the Vlab) which is very representative of the low-end hw issues we could face [and basically made me cry when I first looked at the latency reports], but I suspect that thing might have progressed there too. I've recently ported 0.9.1 over a Mvista kernel (experimental PREEMPT_RT-like stuff + other patches) on a mpc8541, and the figures for user-space are ~22 us worst-cast lat. Of course, this is not what one would call a sluggish low-end hw and I agree that a more structured design like Xeno can't beat a flat ISR-based design, but still, in any case, I'm optimistic enough to think that we likely have a margin of improvement there. > > Furthermore I think, that part of the reluctance is also due to > "development in progress" including features like the realtime > preemption patch, especially on embedded PowerPC systems. People are > waiting that things get available and stable. > Well, we might all have the same problem here... -- Philippe. ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Xenomai-core] Re: 2.4 vs 2.6 in embedded space 2005-10-13 9:11 ` Philippe Gerum @ 2005-10-13 10:05 ` Wolfgang Grandegger 2005-10-13 12:25 ` Philippe Gerum 0 siblings, 1 reply; 18+ messages in thread From: Wolfgang Grandegger @ 2005-10-13 10:05 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai On 10/13/2005 11:11 AM Philippe Gerum wrote: > Wolfgang Grandegger wrote: >> On 10/12/2005 04:39 PM Philippe Gerum wrote: >> >>>Wolfgang Grandegger wrote: >>> >>>>We have linux-2.4.14-rc3 running on all AMCC eval boards (see >>>>http://www.denx.de). But the kernel supported by RTAI/Fusion, >>>>linuxppc-2.6.10rc3, does not boot on Ebony. The main problem is the >>>>missing support for U-Boot but there might be others. And it's simply >>>>not worth the effort to port it, I think. >>> >>>Open question: to your opinion, is 2.6 on low-end embedded hw doomed "by design" >>>and why, or do you think that part of the reluctance to move to 2.6 is mostly >>>explained because 2.4 is just fine and up to the task, IOW it's kind of a "don't >>>fix if it ain't broken" perception? >> >> >> As Wolfgang (Denk) already pointed out, 2.6 is less attractive on low >> end systems, because it's bigger, slower, ... This is also true for >> Xenomai (RTAI/fusion). It's difficult to beat the latency value of the >> old RTAI/RTHAL under 2.4. You need more CPU power and resources, that's >> how thing are going. Nevertheless, compared to the realtime preemption >> patch, Xenomai is _lightweight_ :-). > > I think so too; that's the problem with strictly native real-time support in the > kernel: you must end up with some kind of SMPish structure which virtually > exhibits an infinite number of processors (one per task basically), so it's not > going to help reducing the cpu footprints and the various noisy artefacts > implied by the generalized mutex approach (which is otherwise sound, that's no > the issue). This is also why there is still space for real-time extensions, > provided - I think - they run as symbiotically as possible with Linux, so that > we don't end up telling people to ignore they have Linux while running their > apps over it. I agree and I'm really interested to get the benchmark comparison tests http://www.opersys.com/lrtbf/index.html running on a low-end PowerPC system. > > As far as Xeno is concerned, we should be able to continue to reduce those > footprints. From my window, I see two aspects we need to work on: > - impact of the Adeos pipelining on cache especially for hw with sluggish > memory bandwidth > - a better placement of the hot data that are accessed inside the fast interrupt > path (mainly those of the scheduler). That would be nice, indeed. I also understood, that iPIPE is already lighter than ADEOS. > Looking at the ppc figures since early 2005 or so, the raw latency has > continuously been reduced, i.e. we went from ~120 us on a Freescale's Icecube > running the user-space test, to 53 us as measured recently with 0.9.1+r8c4. I > did not manage to check again on the Sandpoint (connection problem to the Vlab) > which is very representative of the low-end hw issues we could face [and > basically made me cry when I first looked at the latency reports], but I suspect > that thing might have progressed there too. I've recently ported 0.9.1 over a > Mvista kernel (experimental PREEMPT_RT-like stuff + other patches) on a mpc8541, > and the figures for user-space are ~22 us worst-cast lat. > Of course, this is not what one would call a sluggish low-end hw and I agree > that a more structured design like Xeno can't beat a flat ISR-based design, but > still, in any case, I'm optimistic enough to think that we likely have a margin > of improvement there. When the iPIPE-Patch for PowerPC is available for a recent 2.6 kernel version, I could run benchmark tests on various PowerPC systems, e.g. on 4xx processors from AMCC, including a rather low-end 405 at 200 MHz. >> Furthermore I think, that part of the reluctance is also due to >> "development in progress" including features like the realtime >> preemption patch, especially on embedded PowerPC systems. People are >> waiting that things get available and stable. >> > > Well, we might all have the same problem here... Wolfgang. ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Xenomai-core] Re: 2.4 vs 2.6 in embedded space 2005-10-13 10:05 ` Wolfgang Grandegger @ 2005-10-13 12:25 ` Philippe Gerum 0 siblings, 0 replies; 18+ messages in thread From: Philippe Gerum @ 2005-10-13 12:25 UTC (permalink / raw) To: Wolfgang Grandegger; +Cc: xenomai Wolfgang Grandegger wrote: > On 10/13/2005 11:11 AM Philippe Gerum wrote: > >>Wolfgang Grandegger wrote: >> >>>On 10/12/2005 04:39 PM Philippe Gerum wrote: >>> >>> >>>>Wolfgang Grandegger wrote: >>>> >>>> >>>>>We have linux-2.4.14-rc3 running on all AMCC eval boards (see >>>>>http://www.denx.de). But the kernel supported by RTAI/Fusion, >>>>>linuxppc-2.6.10rc3, does not boot on Ebony. The main problem is the >>>>>missing support for U-Boot but there might be others. And it's simply >>>>>not worth the effort to port it, I think. >>>> >>>>Open question: to your opinion, is 2.6 on low-end embedded hw doomed "by design" >>>>and why, or do you think that part of the reluctance to move to 2.6 is mostly >>>>explained because 2.4 is just fine and up to the task, IOW it's kind of a "don't >>>>fix if it ain't broken" perception? >>> >>> >>>As Wolfgang (Denk) already pointed out, 2.6 is less attractive on low >>>end systems, because it's bigger, slower, ... This is also true for >>>Xenomai (RTAI/fusion). It's difficult to beat the latency value of the >>>old RTAI/RTHAL under 2.4. You need more CPU power and resources, that's >>>how thing are going. Nevertheless, compared to the realtime preemption >>>patch, Xenomai is _lightweight_ :-). >> >>I think so too; that's the problem with strictly native real-time support in the >>kernel: you must end up with some kind of SMPish structure which virtually >>exhibits an infinite number of processors (one per task basically), so it's not >>going to help reducing the cpu footprints and the various noisy artefacts >>implied by the generalized mutex approach (which is otherwise sound, that's no >>the issue). This is also why there is still space for real-time extensions, >>provided - I think - they run as symbiotically as possible with Linux, so that >>we don't end up telling people to ignore they have Linux while running their >>apps over it. > > > I agree and I'm really interested to get the benchmark comparison tests > http://www.opersys.com/lrtbf/index.html running on a low-end PowerPC system. > Actually, those results are pretty bad compared to what we have now x86-wise: a dual 750 Mhz exhibits a worst-case latency of 42 us, and a dual 2.4 Ghz is under the 20 us thereshold, which includes a complete tasking in user-space, which was not accounted for in these tests. It's one reason more to have this benchmarking infrastructure, so that the numbers keep being updated regularly, whichever way they are progressing/regressing. > >>As far as Xeno is concerned, we should be able to continue to reduce those >>footprints. From my window, I see two aspects we need to work on: >>- impact of the Adeos pipelining on cache especially for hw with sluggish >>memory bandwidth >>- a better placement of the hot data that are accessed inside the fast interrupt >>path (mainly those of the scheduler). > > > That would be nice, indeed. I also understood, that iPIPE is already > lighter than ADEOS. > It is, yes. It has been alleviated from all the cruft needed to have it as a module on option, which was a genuinely BAD IDEA (tm, (C) 2002 rpm, ludicrous patent pending <hey, guys, I'm _kidding_>). The arch that would benefit the most of the implied simplifications is x86 since this also solves a design issue there, but at least we now have a saner ground to build over and optimize it for other archs. > >>Looking at the ppc figures since early 2005 or so, the raw latency has >>continuously been reduced, i.e. we went from ~120 us on a Freescale's Icecube >>running the user-space test, to 53 us as measured recently with 0.9.1+r8c4. I >>did not manage to check again on the Sandpoint (connection problem to the Vlab) >>which is very representative of the low-end hw issues we could face [and >>basically made me cry when I first looked at the latency reports], but I suspect >>that thing might have progressed there too. I've recently ported 0.9.1 over a >>Mvista kernel (experimental PREEMPT_RT-like stuff + other patches) on a mpc8541, >>and the figures for user-space are ~22 us worst-cast lat. >>Of course, this is not what one would call a sluggish low-end hw and I agree >>that a more structured design like Xeno can't beat a flat ISR-based design, but >>still, in any case, I'm optimistic enough to think that we likely have a margin >>of improvement there. > > > When the iPIPE-Patch for PowerPC is available for a recent 2.6 kernel > version, I could run benchmark tests on various PowerPC systems, e.g. on > 4xx processors from AMCC, including a rather low-end 405 at 200 MHz. > It mostly runs already, I just need to figure out why Xenomai's klatency test breaks my IceCube instead of quietly running like the latency one does... > >>>Furthermore I think, that part of the reluctance is also due to >>>"development in progress" including features like the realtime >>>preemption patch, especially on embedded PowerPC systems. People are >>>waiting that things get available and stable. >>> >> >>Well, we might all have the same problem here... > > > Wolfgang. > > > -- Philippe. ^ permalink raw reply [flat|nested] 18+ messages in thread
* RE: [Xenomai-core] PATCH: fix ppc64 calibration
@ 2005-10-12 13:16 Fillod Stephane
2005-10-12 13:28 ` Wolfgang Grandegger
0 siblings, 1 reply; 18+ messages in thread
From: Fillod Stephane @ 2005-10-12 13:16 UTC (permalink / raw)
To: Wolfgang Grandegger; +Cc: xenomai
Wolfgang Grandegger wrote:
>On 10/11/2005 05:11 PM Fillod Stephane wrote:
>> Heikki Lindholm wrote:
>> [..]
>>> Probably, but there are less than awesome 4xx boards around and I'd
>>> guess they might even be more likely targets than G4 based machines,
>> for
>>> example. Some tuning might be needed.
>>
>> How many people are using Xenomai (or Fusion) on 4xx ?
>> What are their typical sched latency ?
>
>Attached is the result of some latency measurements on the Ocotea eval
>board. The AMCC 440 GX is already a fast 4xx processor. Unfortunately,
>the linuxppc-2.6.10rc3 does not run on our Ebony board. Nevertheless,
>it's difficult to provide a resonable default value. Why not simply
>using 0 and it's then up to the user to provide an appropriate value
>at configuration time?
If it helps, know there's 2.6.10 and 2.6.11 (CONFIG_PREEMPT disabled
though) ADEOS patches available for ppc.
My latency measurements for Freescale e500 are here:
https://mail.gna.org/public/rtai-dev/2005-02/msg00045.html
It looks like an ADEOS/I-Pipe patch for current Linux kernels is much
expected.
The default calibration value may be set according to L1_CACHE_BYTES.
Of course I'm fine with a default value set to 0, which is closer to my
end of the spectrum :-)
--
Stephane
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [Xenomai-core] PATCH: fix ppc64 calibration 2005-10-12 13:16 [Xenomai-core] PATCH: fix ppc64 calibration Fillod Stephane @ 2005-10-12 13:28 ` Wolfgang Grandegger 0 siblings, 0 replies; 18+ messages in thread From: Wolfgang Grandegger @ 2005-10-12 13:28 UTC (permalink / raw) To: Fillod Stephane; +Cc: xenomai On 10/12/2005 03:16 PM Fillod Stephane wrote: > Wolfgang Grandegger wrote: >>On 10/11/2005 05:11 PM Fillod Stephane wrote: >>> Heikki Lindholm wrote: >>> [..] >>>> Probably, but there are less than awesome 4xx boards around and I'd >>>> guess they might even be more likely targets than G4 based machines, >>> for >>>> example. Some tuning might be needed. >>> >>> How many people are using Xenomai (or Fusion) on 4xx ? >>> What are their typical sched latency ? >> >>Attached is the result of some latency measurements on the Ocotea eval >>board. The AMCC 440 GX is already a fast 4xx processor. Unfortunately, >>the linuxppc-2.6.10rc3 does not run on our Ebony board. Nevertheless, >>it's difficult to provide a resonable default value. Why not simply >>using 0 and it's then up to the user to provide an appropriate value >>at configuration time? > > If it helps, know there's 2.6.10 and 2.6.11 (CONFIG_PREEMPT disabled > though) ADEOS patches available for ppc. I'm using adeos-linux-2.6.10-ppc-r8c4.patch with linuxppc-2.6.10rc3, which works fine, at least on the Ocotea board. > > My latency measurements for Freescale e500 are here: > https://mail.gna.org/public/rtai-dev/2005-02/msg00045.html > > It looks like an ADEOS/I-Pipe patch for current Linux kernels is much > expected. Of course. But Phillips is already heavily loaded with the project, I assume. > > The default calibration value may be set according to L1_CACHE_BYTES. > Of course I'm fine with a default value set to 0, which is closer to my > end of the spectrum :-) The nice thing with 0 is that you do not get negative latency values. But for me, any number is OK. Wolfgang. ^ permalink raw reply [flat|nested] 18+ messages in thread
* RE: [Xenomai-core] PATCH: fix ppc64 calibration @ 2005-10-11 14:36 Fillod Stephane 2005-10-11 14:55 ` Heikki Lindholm 0 siblings, 1 reply; 18+ messages in thread From: Fillod Stephane @ 2005-10-11 14:36 UTC (permalink / raw) To: xenomai Heikki Lindholm wrote: > The old calibration value was from some ancient ppc32 embedded board, I > guess. This reflects the awesome power of them ppc64 boxen better :) Actually, the ppc32 calibration value was from some ancient x86 machine, I guess. The same patch could be applied to asm-ppc/calibration.h. This reflects the awesome power of them ppc32 boxen better :) -- Stephane ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Xenomai-core] PATCH: fix ppc64 calibration 2005-10-11 14:36 Fillod Stephane @ 2005-10-11 14:55 ` Heikki Lindholm 0 siblings, 0 replies; 18+ messages in thread From: Heikki Lindholm @ 2005-10-11 14:55 UTC (permalink / raw) To: Fillod Stephane; +Cc: xenomai Fillod Stephane kirjoitti: > Heikki Lindholm wrote: > >>The old calibration value was from some ancient ppc32 embedded board, > > I > >>guess. This reflects the awesome power of them ppc64 boxen better :) > > > Actually, the ppc32 calibration value was from some ancient x86 machine, Damn, that has been heretic from the processor wars POV, then! Some swift action IS necessary. > I > guess. The same patch could be applied to asm-ppc/calibration.h. This > reflects the awesome power of them ppc32 boxen better :) Probably, but there are less than awesome 4xx boards around and I'd guess they might even be more likely targets than G4 based machines, for example. Some tuning might be needed. -- Heikki Lindholm ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Xenomai-core] PATCH: fix ppc64 calibration @ 2005-10-11 14:30 Heikki Lindholm 0 siblings, 0 replies; 18+ messages in thread From: Heikki Lindholm @ 2005-10-11 14:30 UTC (permalink / raw) To: xenomai [-- Attachment #1: Type: text/plain, Size: 162 bytes --] The old calibration value was from some ancient ppc32 embedded board, I guess. This reflects the awesome power of them ppc64 boxen better :) -- Heikki Lindholm [-- Attachment #2: xenomai-ppc64-calibration.patch --] [-- Type: text/plain, Size: 479 bytes --] diff -Nru xenomai/include/nucleus/asm-ppc64/calibration.h xenomai-dev/include/nucleus/asm-ppc64/calibration.h --- xenomai/include/nucleus/asm-ppc64/calibration.h 2005-10-11 10:30:03.000000000 +0300 +++ xenomai-dev/include/nucleus/asm-ppc64/calibration.h 2005-10-11 17:10:11.000000000 +0300 @@ -32,7 +32,7 @@ #define __sched_latency CONFIG_XENO_HW_SCHED_LATENCY #else -#define __sched_latency 18500 +#define __sched_latency 1000 #endif /* CONFIG_XENO_HW_SCHED_LATENCY */ ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2005-10-13 12:25 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-10-11 15:11 [Xenomai-core] PATCH: fix ppc64 calibration Fillod Stephane 2005-10-11 15:20 ` Heikki Lindholm 2005-10-11 19:29 ` Wolfgang Grandegger 2005-10-12 12:13 ` Wolfgang Grandegger 2005-10-12 12:51 ` Heikki Lindholm 2005-10-12 13:18 ` Wolfgang Grandegger 2005-10-12 14:17 ` Heikki Lindholm 2005-10-12 14:39 ` [Xenomai-core] 2.4 vs 2.6 in embedded space Philippe Gerum 2005-10-12 15:00 ` Wolfgang Denk 2005-10-13 8:37 ` [Xenomai-core] " Wolfgang Grandegger 2005-10-13 9:11 ` Philippe Gerum 2005-10-13 10:05 ` Wolfgang Grandegger 2005-10-13 12:25 ` Philippe Gerum -- strict thread matches above, loose matches on Subject: below -- 2005-10-12 13:16 [Xenomai-core] PATCH: fix ppc64 calibration Fillod Stephane 2005-10-12 13:28 ` Wolfgang Grandegger 2005-10-11 14:36 Fillod Stephane 2005-10-11 14:55 ` Heikki Lindholm 2005-10-11 14:30 Heikki Lindholm
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.