public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] ISR Latency & Jitter @x86 hardware platform
       [not found] <475e264a.05be260a.1af2.ffffc343SMTPIN_ADDED@mx.google.com>
@ 2007-12-11 21:40 ` Evgeny Belyanko
  2007-12-12  9:11   ` Sergei Gavrikov
  0 siblings, 1 reply; 2+ messages in thread
From: Evgeny Belyanko @ 2007-12-11 21:40 UTC (permalink / raw)
  To: ecos-discuss

Hi!

I use SM800PC/X smartModule based on the AMD LX800 at 500MHz.
http://www.digitallogic.ch/index.php?id=143&L=1

eCos from CVS, date 6 Dec 2007. Loader is GRUB.

I need to process real rime events with 100uSec (10^-4 Sec) time base.
Due to some reasons it is impossible to use separate real time MCU to
make real time processing.

If I will program eCos system timer for 100 uSec interval, is it real
on described hardware?

If I will use separate IRQ event with 100 uSec interval, what
interrupt latency (and jitter for this time) can be expected with my
hardware? The data processing inside ISR very simple, just IO
acquisition and pushing data in to software FIFO.

Best regards
Evgeny.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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

* Re: [ECOS] ISR Latency & Jitter @x86 hardware platform
  2007-12-11 21:40 ` [ECOS] ISR Latency & Jitter @x86 hardware platform Evgeny Belyanko
@ 2007-12-12  9:11   ` Sergei Gavrikov
  0 siblings, 0 replies; 2+ messages in thread
From: Sergei Gavrikov @ 2007-12-12  9:11 UTC (permalink / raw)
  To: Evgeny Belyanko; +Cc: ecos-discuss

On Wed, Dec 12, 2007 at 12:40:29AM +0300, Evgeny Belyanko wrote:
> Hi!
> 
> I use SM800PC/X smartModule based on the AMD LX800 at 500MHz.
> http://www.digitallogic.ch/index.php?id=143&L=1
> 
> eCos from CVS, date 6 Dec 2007. Loader is GRUB.
> 
> I need to process real rime events with 100uSec (10^-4 Sec) time base.
> Due to some reasons it is impossible to use separate real time MCU to
> make real time processing.
> 
> If I will program eCos system timer for 100 uSec interval, is it real
> on described hardware?

Don't do it! IMO, you shouldn't change a temp rate for the eCos system
timer. If the timer will switch context every .1 mS ... I think a CPU
load will be something like 99 percents and what will be do the CPU?

> If I will use separate IRQ event with 100 uSec interval, what
> interrupt latency (and jitter for this time) can be expected with my
> hardware? The data processing inside ISR very simple, just IO
> acquisition and pushing data in to software FIFO.

You can brief look at
http://ecos.sourceware.org/docs-latest/user-guide/real-time-characterization.html

It seems for me that you can expect the results around this table
http://ecos.sourceware.org/docs-latest/user-guide/rt-i386-pc.html

What does report eCos `tm_basic' benchmark for normal conditions on your
platform? Build the test as

ecosconfig new your_plf
cat << _EOF |ecosconfig import /dev/stdin
cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY {
    user_value 1
};
_EOF
ecosconfig tree
make -s
make -s tests -C kernel/current TESTS=tests/tm_basic

It's just a success story...

For my target (ARM7TDMI/58MHz) I get, for example

     Ave     Min     Max     Var  Ave  Min  Function
  ======  ======  ======  ====== ========== ========

    1.46    1.42    1.70    0.00            Clock/interrupt latency

    3.00    2.59    4.56    0.00            Clock DSR latency

And such a productivity did let me to handle the external IRQ events
which happened every 125uS. That ISR just does fulfil a few I/O
operations and saves data in the small double buffers (buf16) and the
ISR calls DSR on every 16th IRQ event. Using a double-buffering, DSR
quite handles data with a temp rate is equal: .125 * 16 = 2 mS. And this
isn't issue, is it?  Having 7 eCos threads in my application, the
measured CPU load (measured using the eCos `cpuload' service) was 12-15%
when application handled those "hard real-time" IRQ events.


Sergei

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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

end of thread, other threads:[~2007-12-12  9:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <475e264a.05be260a.1af2.ffffc343SMTPIN_ADDED@mx.google.com>
2007-12-11 21:40 ` [ECOS] ISR Latency & Jitter @x86 hardware platform Evgeny Belyanko
2007-12-12  9:11   ` Sergei Gavrikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).