RTEMS vs Linux : Performance analysis : Comments and Suggestions Please

Ralf Corsepius ralf_corsepius at rtems.org
Fri Mar 19 13:56:50 UTC 2004

On Fri, 2004-03-19 at 13:42, sashti srinivasan wrote:
> Hello,
> > More details, please.
> > Which CPU has been used?
>       Lots of thanks for various suggestions.  I
> compare linux running on x86 pc and rtems on the same
> pc386(same machine).
>   Linux Kernel : 2.4.18
>   CPU          : Pentium III
>   Clock speed  : 733 MHz

> > Which compilers, which flags have been used to
> > compile the Linux-Kernel,
> > Linux-libc, Linux-application, RTEMS and your RTEMS
> > application?
>    glibc        : 2.2.93
>    linux kernel : 2.4.18
>    RTEMS        : 4.5 distributed with LECCS by
> Gaisler Research.  I could not succeed in building
> rtems 4.6.
I guess, you got stuck on the missing Makefile in the tarball.

Joel, how about a 4.6.1 release to get this issue closed?

>   Does it matter in a significant way for
> pc386?

Except of bug fixes and of preparations for newer gccs, probably not.
However, newer gcc, can make a difference, esp. on i386 targets.

>   The error reported while building was someway
> related to PTHREAD_CANCELLED macro.  I found somebody
> reporting same problem in archives and also found the
> reply suggesting to define PTHREAD_CANCELLED to
> arbitrary value.  It was also said that it is a bad
> idea to do so.  In order to be clear, I used 4.5 which
> built successfully.
>   I configured rtems in this manner:
>    $(rtemssrc)/configure --target=i386-rtems 
> --enable-rtemsbsp="pc386" --enable-posix=yes
> --prefix=$(insdir) 

pc386 ... this BSP is targeting original i386's.

You should be able to get a significant boost in performance by using
the pc686 BSP, or by customizing the CFLAGS in pc*86.cfg to your CPU.

Background: The pc686 BSP shares all code with the pc386, except that it
uses different CPU_CFLAGS. You should be able implement a customized BSP
by adding a customized *.cfg and by using more agressive CPU_CFLAGS. 

Which *FLAGS exactly to use depends on the version of gcc you are using.
For getting started, -mcpu=..., -mtune=..., -march=... are candidates to

> > >  Please suggest some way of
> > > improving the performance of rtems in these
> > aspects.
> > Number one source of improvement for RTEMS: The
> > compiler flags.
> > There, choosing the appropriate set of flags can
> > result into huge
> > differences in performance.
>      I find it very difficult to follow the configure
> scripts and makefiles.  Please guide me in setting the
> compiler flags and also suggest me appropriate
> compiler flags that will improve the performance.  
This is significantly easier in RTEMS-4.6 and much more easier in

More information about the users mailing list