LWN.net Logo

Ask a kernel developer

Ask a kernel developer

Posted Aug 9, 2012 8:33 UTC (Thu) by dgm (subscriber, #49227)
Parent article: Ask a kernel developer

>> I am evaluating Linux for use as an operating system in a real-time embedded application, however, I find it hard to find recent data with respect to the real-time performance of Linux. Do you have, or know of someone who has, information on the real-time performance of the Linux kernel, preferably under various load conditions?
>
> I get this type of question a lot, in various forms. The very simple answer is: "No, there is no data, you should evaluate it yourself on your hardware platform, with your system loads, to determine if it meets your requirements." And in reality, that's what you should be doing in the first place even if there were "numbers" published anywhere. Don't trust a vendor, or a project, to know exactly how you are going to be using the operating system. Only you know best, so only you know how to determine if it solves your problem or not.
>
> So, go forth, download the code, run it, and see if it works. It's really that simple.

Unfortunately, often it is not. I don't know this particular case, but in my experience the decision about the OS and hardware platform are done early on, much before the software to be run and tested is even designed.

There's a reason why vendors publish those numbers.


(Log in to post comments)

Ask a kernel developer

Posted Aug 9, 2012 9:37 UTC (Thu) by hummassa (subscriber, #307) [Link]

> There's a reason why vendors publish those numbers.

Yeah, so they can lie to your face. No! They usually publish the higher thing their lawyers think they get away with publishing, with small letters saying "your load must be this that and thatotherthing and the hardware must support whatmacallit else those are invalid etc".

Seriously (and I developed an audio recording platform with some specific latency requirements), evaluate (hint: I ended up choosing a run-of-the-mill Linux kernel + glibc base).

Ask a kernel developer

Posted Aug 9, 2012 18:42 UTC (Thu) by dashesy (subscriber, #74652) [Link]

I agree to some extent. At the end, the best way to find is to prototype one system. If the hardware manufacturers do some benchmarking, then great but that would be only a good starting point. For a real-time system, I expect to know at the minimum that it does not have SMI problems.

If there was a sticker attached that reads "Linux-rt certified" it would be a double plus. I would not mind the extra charge that might go into the process of certification be added to the end product.

Vendor benchmarks are "will not exceed" numbers

Posted Aug 10, 2012 1:57 UTC (Fri) by dlang (✭ supporter ✭, #313) [Link]

vendor benchmark numbers are not "our system will perform this well", they are instead "We guarantee that under the most favorable possible conditions, this device will never perform better than this well", and if you manage to prove them wrong, they will change their testing methodolgy to use the new, more favorable tests.

As a result, in the real world, they are worthless for any purpose other than comparing different models of devices from the same manufacturer.

As an example of this, Cisco performance numbers in the real world are frequently as bad as 1/10 the Vendor published numbers.

There are a handful of vendors who are honest and rate their products in a sane default config (and if you turn off features, their performance will improve), but they tend to be small, if for no other reason that big purchasing managers won't buy their device because "it's not as good as Brand X" that publishes inflated numbers.

This is why big companies always require Proof of Concept testing, so they can configure the products and see how they work when hit by real configurations and real-world traffic.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds