A single-threaded app that has an ISR will work fine on a single CPU boxTo say, "the apps are flakey, not the SMP" is a little disengineous since
most of the apps are not multi-threaded. If I've written an app that runs
multiple threads and it fails on an SMP system, then most likely I'm failing
to protect things properly. If a normal, run of the mill, single threaded
app is failing on an SMP system then there is something wrong with the
system. One could probably make a blanket statement to the effect that,
"any single threaded app which works on a single CPU system should ALWAYS
work on a correctly implemented multi CPU system." I would invite you to
provide counter-examples if I'm wrong.
but may fail dramatically on an SMP box.
"Bill Caroselli" <firstname.lastname@example.org> wrote in message
"Chris McKillop" <email@example.com> wrote in message
I understand both your and Igor's perspective that "a user" doesn't
care if it is QNX's SMP or an app that sucks on SMP. However, how far
do you take such a notion? If someone external to QNX does a driver
doesn't run reliably on an SMP system should QNX take the blame? To
user it would seem that the SMP kernel causes the problems with the
not the other way around. Same can be said about multithreaded apps and
services in general. The fact is that your phrelay issue would probably
happen on an non-SMP kernel as well, just harder to get the problem to
surface. It's a bug and I am sure you have reported it (right?).
If the problems are the apps and not the OS, that can only imply that the
apps aren't properly protecting data with semiphores. Is that the nature
the apps' probelms that have been found and fixed so far? If not, then it
seams like the apps are misbehaving because of flaky SMP features.
Bill Caroselli -- 1(626) 824-7983
Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Books, Video-based and Instructor-led
Training and Consulting at www.parse.com.
Email my initials at parse dot com.