The table ought to be updated.  I recently did some testing on RTLinux
2.0pre2 on a 486. Most of the runnable tests worked okay, the only
unexplained results were tests 1d & 1g.  The main issue is that certain
tests can't be run if they require channel 2 of the 8253/4.  My tests
results are shown below.

Regards

Stuart.

Test Scenario:
--------------

Machine : 486 DX 66MHz
Memory  : 8 Mbytes, 1Meg reserved in lilo.conf for shared memory
Linux   : 2.2.13
RTL     : 2.0pre2

Tests:
-------

1/ Distribution examples:

a) Sound

This test fails as it can't get a resource.  I believe this is because
the 486 lacks a tsc register, and so the channel needed for the test is
being used by rtl for timing.

b) Measurements

This test ran okay

c) frank

This test ran okay

d) regression/rtc_test

This causes a kernel segmentation fault.

e) regression/multitask

This test ran okay

f) regression/oneshot_test

This test fails, as it can't get a clock resource.

g) regression/rtc_fifo_test

This test causes a kernel segmentation fault

h) regression/timer_test

This test fails, as it can't get a clock resource.

i) fp

This test ran okay.

j) hello

This test ran okay.

k) mmap

This test ran okay


2/ preemption test

This test passed.




[EMAIL PROTECTED] wrote:
> 
> THANKS, Stuart and GN DeSouza for the table posted comparing RTL & RTAI in
> such a basic and cogent way!  A first question about it:
>         Under the column 486, RTL v2 with linux kernel 2.2.x reads "n" =>
> presumably meaning this does not run on 486's.  But is that true?  I've run
> miniRTL 2.0 derived directly from RTL 2.0, with kernel 2.2.13 on a Pentium I.
> 
> Either way, this table would be great in THE RT MANUAL, with a change in
> header(s) so as to include 586es.  I could help with the manual too, but
> again as noviate.
> 
> Dr. S.C.
> 
> At 02:54 PM 16-11-1999 +0000, you wrote:
> >Hi Gloria,
> >
> >I have forwarded a table previously posted on the RTL list.
> >
> >Stuart.
> >
> >Glòria wrote:
> >>
> >> Hello:
> >>
> >> Is there any document about the differences betwen RTL and RTAI?
> >>
> >> Thanks in advance.
> >>
> >>
> >>
> >> --
> >> Glòria Hernández Ballester
> >>
> >> e-mail:  [EMAIL PROTECTED]: [EMAIL PROTECTED]
> >Return-Path: [EMAIL PROTECTED]
> >Received: from rtlinux.cs.nmt.edu (rtlinux.cs.nmt.edu [129.138.6.62]) by
> hinge.mistral.co.uk (8.8.5/8.6.9) with ESMTP id TAA15859; Thu, 7 Oct 1999
> 19:46:31 +0100
> >Message-Id: <[EMAIL PROTECTED]>
> >Date: Thu, 7 Oct 1999 14:35:38 -0500 (EST)
> >From: Guilherme Nelson DeSouza <[EMAIL PROTECTED]>
> >Reply-To: Guilherme Nelson DeSouza <[EMAIL PROTECTED]>
> >Subject: [rtl] Table, API
> >To: [EMAIL PROTECTED]
> >MIME-Version: 1.0
> >Content-Type: TEXT/plain; charset=us-ascii
> >
> >Content-MD5: rhcKNx2XyqRpurLqxAPS+g==
> >
> >
> > Again, thanks to those who sent corrections/suggestions.
> >
> > The table and API-differences below are getting smoother.
> >I hope it has converged to something useful to other people
> >in this list.
> >
> > As we all (probably) expected, the differences between RTL
> >and RTAI are NOT that many (refer to RTLv2 and RTAIv6). As
> >a matter of fact, in my opinion the "only" discussion in this
> >list should be around POSIX compliance, once that this should
> >be the common denominator and, at the same time, the unifier
> >between both implementations. Other than that there are some
> >"unimportant" details such as unified header files, similar
> >installations, etc. But yet, that should come naturally after.
> >
> >
> >    Guilherme
> >
> >
> >---------------------------------------------------------------------------
> -------
> >|     | I | S | Sched.  | S |Po-  |pthre|F   | Shr| FP | GPL | Ker-  | 486
> | PPC |
> >|     | P | e |    |    | M | six |    -| I  | Mem|    |     |  nel  |
> |     |
> >|     | C | m |Per.| OS | P |     |ads  |  FO|    |    |     |       |
> |     |
> >-------------------|-------------------------------------------------------
> -------
> >|     |   |   |    |    |   |     |     |    |    |    |     |       |
> |     |
> >| RTL | o | o | w/ | w/ | n |  *  |  n  | y  | o  | y  |  y  | 2.0.x |  y
> |  n  |
> >| v1  |   |   |8254|8254|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |    |   |     |     |    |    |    |     |       |
> |     |
> >---------------------------------------------------------------------------
> -------
> >|     |   |   |    | w/ |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |8254|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    | +  |   |     |     |    |    |    |     |       |
> | in  |
> >|     |   |   | w/ |TSC |   |     |     |    |    |    |     |       |
> |     |
> >| RTL | o | o |    |    | y |  *  | **  | y  | o  | y  |  y  | 2.2.x |  n
> |deve-|
> >| v2  |   |   |8254|APIC|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    | in |   |     |     |    |    |    |     |       |
> |lopm.|
> >|     |   |   |    |SMP |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |    |   |     |     |    |    |    |     |       |
> |     |
> >---------------------------------------------------------------------------
> -------
> >|     |   |   |    |8254|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    | in |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |UP -|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |SMP |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   | w/ | &  |   |     |     |    |    |    |     |       |  y
> |     |
> >| RTAI| y | y |    |MUP | y |  *  | **  | y  | o  | y  |  y  | 2.2.x |
> |  n  |
> >| v.6 |   |   |8254|    |   |     |     |    |    |    |     |       |(for
> |     |
> >|     |   |   |    |APIC|   |     |     |    |    |    |     |       |1
> CPU|     |
> >|     |   |   |    | in |   |     |     |    |    |    |     |
> |only)|     |
> >|     |   |   |    |SMP |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    | &  |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |MUP |   |     |     |    |    |    |     |       |
> |     |
> >---------------------------------------------------------------------------
> -------
> >
> > y - embeded in the RT modules
> > n - not implemented
> > o - optional (it can be "insmod'ed" separately)
> > * - in RTAI, a POSIX lite API is implemented on top of the original API
> >     in RTL, the original API is implemented on top of a POSIX lite API.
> >** - RTAI - dynamic thread creation, conditional variables and priority
> >            inheritance mutex,
> >     RTL - static thread creation.
> >
> >
> >Original API comparison
> >=======================
> >
> >  What follows is a comparison btw the two original APIs (RTAI
> >and RTLv1). We are not listing the POSIX (lite) API present in
> >both recent releases of RTAI and RTL.
> >
> >
> >set up peridic mode
> >------------------
> >
> >RTL:
> >       RTIME task_ticks;
> >        task_ticks = (RT_TICKS_PER_SEC/FREQ);
> >       rtl_set_periodic_mode(task_ticks);
> >
> >RTAI:
> >       RTIME task_ticks;
> >       rt_set_periodic_mode(void);
> >       task_ticks = nano2count(1000000000/FREQ)
> >        start_rt_timer(task_ticks)
> >
> >
> >Tell Linux you will be using the FPU
> >--------------------------------------
> >
> >RTL:
> >        ??
> >
> >RTAI:
> >       rt_linux_use_fp(1)
> >
> >
> >initialise a task
> >-----------------
> >
> >RTL:
> >        rt_task_init(   RT_TASK *task,
> >                       void (*fn)(int),
> >                       int data,
> >                       int stack_size,
> >                       int priority )
> >
> >        If it uses the FPU, add:
> >
> >        rt_task_use_fp( RT_TASK *task, 1 )
> >
> >RTAI:
> >       rt_task_init(   RT_TASK *task,
> >                        void (*fn)(int),
> >                       int data,
> >                       int stack_size,
> >                       int priority,
> >                       int uses_fpu,
> >                       void (*signal)(void) )
> >
> >
> >
> >set a (periodic) task running
> >-----------------------------
> >
> >RTL/RTAI:
> >
> >       rt_task_make_periodic( RT_TASK *task,
> >                               RTIME start_time_ticks,
> >                               RTIME period_ticks)
> >
> >
> >suspend a running task until the next tick
> >-------------------------------------------
> >
> >RTL:
> >       rt_task_wait(void)
> >
> >RTAI:
> >       rt_task_wait_period(void)
> >
> >
> >
> >cleanup/stop a task
> >--------------------
> >
> >RTAI:          stop_rt_timer(void)
> >RTL/RTAI:      rt_task_suspend(RT_TASK *task)
> >               rt_task_delete( RT_TASK *task)
> >
> >
> >create a fifo
> >--------------
> >
> >RTL:
> >               rtf_create(unsigned int fifo, int fifo_size)
> >
> >RTAI:
> >               rtf_create_using_bh(unsigned int, int size, 0)
> >
> >NOTE: both can be used with the simple rtf_create, but the behaviour is
> >different.  Under RTAI, a user task will only be woken up at the next
> >run of schedule (this is an intended feature).  To get the same effect
> >of waking up as soon as possible, use the above code.
> >
> >
> >put data to a fifo
> >-------------------
> >
> >RTL/RTAI:
> >               rtf_put(unsigned int fifo, void *buf, int count)
> >
> >
> >get data from a fifo
> >----------------------
> >
> >RTL/RTAI:
> >               rtf_get(usigned int fifo, void *buf, int count)
> >
> >
> >
> >destroy a fifo
> >---------------
> >
> >RTL/RTAI:
> >               rtf_destroy(usigned int fifo)
> >
> >
> >
> >Filename comparison
> >===================
> >
> >Another problem is the name and location of files. This means that
> >Makefiles and code has to be changed to locate the different include
> >files.
> >
> >Header names
> >-----------
> >
> >RTL:
> >       rtl_fifo.h, rtl_sched.h
> >
> >RTAI:
> >       rtai_fifos.h, rtai_sched.h
> >
> >Note: in addition you must also include rtai.h first for RTAI.
> >
> >
> >
> >
> >           -------------< G. N. DeSouza >-------------
> >           ---------< [EMAIL PROTECTED]>---------
> >           --< http://rvl1.ecn.purdue.edu/~gnelson >--
> >
> >
> >
> >
> >------------- End Forwarded Message -------------
> >
> >
> >
> >
> >           -------------< G. N. DeSouza >-------------
> >           ---------< [EMAIL PROTECTED]>---------
> >           --< http://rvl1.ecn.purdue.edu/~gnelson >--
> >


--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to