RTEMS vs Linux : Performance analysis : Comments and Suggestions Please
ralf_corsepius at rtems.org
Fri Mar 19 13:56:50 UTC 2004
On Fri, 2004-03-19 at 13:42, sashti srinivasan wrote:
> > 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
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
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