Article: Further discussion on real-time approaches
May 9, 2002 — by LinuxDevices Staff — from the LinuxDevices Archive — 2 viewsIn part three of an Embedded Linux Journal series of articles by Kevin Dankwardt on Real-time Linux, Dankwardt reviewed the sub-kernel approach as used in RTLinux and RTAI and provided some benchmark numbers. Following publication of Dankwardt's article, MontaVista Software's Kevin Morgan issued a
In this latest installment of a continuing discussion on alternative approaches to achieving real-time performance in Linux, Kevin Morgan (of MontaVista) clarifies the status of MontaVista's kernel preemption enhancements and responds to several other issues raised in Yodaiken and Sherer's earlier comments.
Shipping today
MontaVista Linux 2.1 is shipping today. Full preemption is supported on 68 specific board-level computers. These boards cover 24 unique microprocessor types, as counted by the unique compilers MontaVista Software builds and provides for these target boards. These microprocessors cover every major embedded microprocessor architecture: x86 (486, 586, PII, PIII, along with National Geode and Transmeta), MIPS (from Broadcom, NEC, Toshiba, QED, Lexra, and others), ARM, StrongARM, XScale, SH3, SH4, and PowerPC (just about every variant available). We spent nine calendar months and untold engineering hours working in open source and then on our own snapshot of code (28 million lines of non-commented source) to build and test our complete 2.1 product. All these facts are documented thoroughly on our web site.
As for quality, we believe our test processes are among the best in the industry. We have spent millions of dollars putting out a professional, commercial quality product, and along the way we have substantially raised the quality and reliability bar on the integrated product relative to the software components we started with.
MontaVista Linux supports multiprocessing x86 and PowerPC boards, and systems with a MIPS multiprocessor board are coming soon. Full preemption is enabled, tested and supported on these boards and systems.
Memory sizes
Comparing RTLinux standalone memory consumption to Linux memory consumption is like comparing the size and weight of a go-cart and a car. Surprise. The car is bigger. There are more things you can do with a car, too. And is RTLinux offered standalone, or used standalone? No, a companion Linux OS is required, so there is no savings of memory.
Process response vs. RTLinux task response
My article covers this point, and when Mr. Yodaiken says “the classical really simple RTLinux application consists of a real-time thread that collects data from a device, say every 100 microseconds, and dumps the data down to a Linux process”, I think he's supporting my point. RTLinux is an environment for real-time I/O control with stringent timing requirements, and it's very good at it. RTLinux task response should be compared with Linux interrupt service routine response. They are the functional equivalents.
RTLinux programming environment vs. Linux driver writing environment
The Linux driver environment is quite well known and understood and stable. There are more I/O drivers available for Linux than for any operating system on the planet, save perhaps Windows. There are legions of engineers in the world able to knock out Linux I/O drivers.
RTLinux also provides a well-understood programming environment.
If the performance comparison is between RTLinux and Linux process response, why is the programming environment comparison between RTLinux and the Linux driver environment? Comparisons, however appropriate, should be consistent.
Benchmarks
As for the benchmarking, I leave the readers to draw their own conclusions of probable proper diligence based on their own assessment of the overall accuracy of Mr. Yodaiken's response. Benchmarking is difficult at all times, and historically has been notorious for marketing inspired creativity.
It is important to note that Mr. Yodaiken's test system has nothing to do with MontaVista Linux. MontaVista Software has not delivered any product software based on the 2.4.16 Linux kernel.
Conclusion
MontaVista Software values and encourages usage of RTAI and RTLinux when required by an application. We do not view these technologies as competitive in any way. They are excellent complementary technologies for MontaVista Linux. Our objective in this dialogue is to maximize the understanding of their value, their role, and how they are appropriately compared to the choice points in a native Linux based design.
Thanks again to Mr. Dankwardt for his balanced overview and unbiased reporting. MontaVista Software looks forward to continuing to provide improvements to Linux and GNU technology, and welcomes the kind of constructive feedback on our results that Mr. Dankwardt has provided.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.