QNX Source: Migrating Linux to QNX

Mario Charest wrote:

“Igor Kovalenko” <> kovalenko@attbi.com> > wrote in message
news:blftj1$br1$> 1@inn.qnx.com> …

“Armin Steinhoff” <> a-steinhoff@web.de> > wrote in message
news:blemc6$edn$> 1@inn.qnx.com> …

Mario Charest wrote:
[ clip …]

Many people I talk to think of QNX6 as a Linux with a 8000$ price

tag…

With the kernel version 2.6 of LINUX (includes some of the ‘low latency
patches’ and ‘kernel preemption patches’) … that’s the case in some
extent > :slight_smile:



To some extent indeed. The NPTL is a huge improvement over the unfamous
linux threads, but still not quite suitabe for hard realtime. They now (in
2.6) have fast mutexes (futexes) but still no priority inversion control

for

them. If you signal a condvar, there’s no guarantee it will wake up the
thread with highest priority. Calls to control scheduling behavior exist,
but have no effect. Also the kernel preemption patch was found to be
improving average latencies, but not the worst case (I’ve seen claims that
the worst case jitter on 2.4 kernel with preemption patch applied is the
same as on stock RedHat, which is 100,000us).



Ok you are talking main/official kernel line. What about distribution by
people like Monta Vista who seems to tweek the kernel for real-time.
playing devil’s advocate

Monta Vista has been using rtsched which is canceled now in favor of
official O(1) scheduler from 2.6 kernel. More details can be found at
http://www.mvista.com/pro/realtime.html and
http://sourceforge.net/forum/forum.php?forum_id=180207
If Monta Vista’s Linux will be based on O(1) then all problems described
by Igor are inherited.Since O(1) is not “very” real-time I expect mvista
to come up with a new “hard real-time” kernel twist.

If you write a classic producer/consumer example and benchmark it, it will
run much slower on Linux than QNX. How much slower would depend on
architecture and syncrhonisation method but it would be significant
difference (about 2x to 4x on 2.6 kernel I think - haven’t tried that
version yet).

So Linux is getting there, but they have a way to go yet. Most of the
problem really comes from the fact that principal developers have no much
interest in realtime behavior. They optimize things for average case, not
for the worst (and those optimisations tend to be mutually exclusive).
Things on realtime front get done by sidekicks and they always are limited
by what amount of determinism the kernel allows, because nobody wants to
stray too much from the mainline - that would kill the business case for
using Linux kernel in the first place.

– igor


\

“Rennie Allen” <rgallen@attbi.com> wrote in message
news:blg50u$gli$1@inn.qnx.com

Mario Charest wrote:

consider myself and extension of QSS task force… If I wanted to have
them

QSS task force ? Is this a new movie starring the next governor of
California > :wink:

I should have said QSS sales task force, hehe.

“Igor Kovalenko” <kovalenko@attbi.com> wrote in message
news:blftj1$br1$1@inn.qnx.com

“Armin Steinhoff” <> a-steinhoff@web.de> > wrote in message
news:blemc6$edn$> 1@inn.qnx.com> …
Mario Charest wrote:
[ clip …]

Many people I talk to think of QNX6 as a Linux with a 8000$ price
tag…

With the kernel version 2.6 of LINUX (includes some of the ‘low latency
patches’ and ‘kernel preemption patches’) … that’s the case in some
extent > :slight_smile:



To some extent indeed. The NPTL is a huge improvement over the unfamous
linux threads, but still not quite suitabe for hard realtime. They now (in
2.6) have fast mutexes (futexes) but still no priority inversion control
for
them. If you signal a condvar, there’s no guarantee it will wake up the
thread with highest priority. Calls to control scheduling behavior exist,
but have no effect. Also the kernel preemption patch was found to be
improving average latencies, but not the worst case (I’ve seen claims that
the worst case jitter on 2.4 kernel with preemption patch applied is the
same as on stock RedHat, which is 100,000us).

Ok you are talking main/official kernel line. What about distribution by
people like Monta Vista who seems to tweek the kernel for real-time.
playing devil’s advocate

If you write a classic producer/consumer example and benchmark it, it will
run much slower on Linux than QNX. How much slower would depend on
architecture and syncrhonisation method but it would be significant
difference (about 2x to 4x on 2.6 kernel I think - haven’t tried that
version yet).

So Linux is getting there, but they have a way to go yet. Most of the
problem really comes from the fact that principal developers have no much
interest in realtime behavior. They optimize things for average case, not
for the worst (and those optimisations tend to be mutually exclusive).
Things on realtime front get done by sidekicks and they always are limited
by what amount of determinism the kernel allows, because nobody wants to
stray too much from the mainline - that would kill the business case for
using Linux kernel in the first place.

– igor

Kevin Stallard wrote:

Today I just received an email inviting me to join this web seminar. Yes
that’s right…it’s October 1st and I got an invite via email to join the
seminar on September 29th. Did anyone else get this?

QSSL, you guys need to get your crap together. This looks bad. You’re a
technology company…you shouldn’t be making mistakes like this!

I just got an email yesterday that my girlfriend sent me 2 weeks
ago…guess I should blame that on her too :wink:

Dave

Dave Rempel <drempel@qnx.com> wrote:
DR > Kevin Stallard wrote:

Today I just received an email inviting me to join this web seminar. Yes
that’s right…it’s October 1st and I got an invite via email to join the
seminar on September 29th. Did anyone else get this?

QSSL, you guys need to get your crap together. This looks bad. You’re a
technology company…you shouldn’t be making mistakes like this!

DR > I just got an email yesterday that my girlfriend sent me 2 weeks
DR > ago…guess I should blame that on her too :wink:

DR > Dave

That’s funny. She’s written to me every day for the last two weeks.

JUST KIDDING!

“Mario Charest” postmaster@127.0.0.1 wrote in message
news:blh1hv$7ib$1@inn.qnx.com

“Igor Kovalenko” <> kovalenko@attbi.com> > wrote in message
news:blftj1$br1$> 1@inn.qnx.com> …
“Armin Steinhoff” <> a-steinhoff@web.de> > wrote in message
news:blemc6$edn$> 1@inn.qnx.com> …
Mario Charest wrote:
[ clip …]

Many people I talk to think of QNX6 as a Linux with a 8000$ price
tag…

With the kernel version 2.6 of LINUX (includes some of the ‘low
latency
patches’ and ‘kernel preemption patches’) … that’s the case in some
extent > :slight_smile:



To some extent indeed. The NPTL is a huge improvement over the
unfamous
linux threads, but still not quite suitabe for hard realtime. They now
(in
2.6) have fast mutexes (futexes) but still no priority inversion control
for
them. If you signal a condvar, there’s no guarantee it will wake up the
thread with highest priority. Calls to control scheduling behavior
exist,
but have no effect. Also the kernel preemption patch was found to be
improving average latencies, but not the worst case (I’ve seen claims
that
the worst case jitter on 2.4 kernel with preemption patch applied is the
same as on stock RedHat, which is 100,000us).


Ok you are talking main/official kernel line. What about distribution by
people like Monta Vista who seems to tweek the kernel for real-time.
playing devil’s advocate

Actually that claim about 100,000us worst case jitter above was specifically
referring to Montavista’s ‘realtime linux’.

Granted, it was made by their competitor (TimeSys) but I doubt they’d go as
far as deliberately lying. They actually made pretty good impression as a
company. When they take 2.6 baseline and patch it accordingly, they should
become a serious POSIX realtime OS. The trick however is that they do all
hard realtime features as non-GPL loadable modules (that will only load on
their patched GPL kernel). Their price is quite comparable to QNX.

– igor

Bill Caroselli wrote:

Dave Rempel <> drempel@qnx.com> > wrote:
DR > Kevin Stallard wrote:

Today I just received an email inviting me to join this web seminar. Yes
that’s right…it’s October 1st and I got an invite via email to join the
seminar on September 29th. Did anyone else get this?

QSSL, you guys need to get your crap together. This looks bad. You’re a
technology company…you shouldn’t be making mistakes like this!



DR > I just got an email yesterday that my girlfriend sent me 2 weeks
DR > ago…guess I should blame that on her too > :wink:

DR > Dave

That’s funny. She’s written to me every day for the last two weeks.

JUST KIDDING!

:confused:

Yeah, yeah yeah…I know…it wasn’t a very well thought out post. I got
the email right after reading some new posts in this thread. Sould have
kept my mouth shut…

Kevin

“Rennie Allen” <rgallen@attbi.com> wrote in message
news:blg46q$fug$1@inn.qnx.com

Kevin Stallard wrote:

QSSL, you guys need to get your crap together. This looks bad. You’re
a
technology company…you shouldn’t be making mistakes like this!

Before you get too up-in-arms about that, it might be prudent to note that
it could be any number of factors that resulted in the late delivery of
the
mail. I did get an email for the web seminar, and it was in the morning
the day of the seminar.

Igor Kovalenko wrote:

“Mario Charest” postmaster@127.0.0.1 wrote in message
news:blh1hv$7ib$> 1@inn.qnx.com> …

“Igor Kovalenko” <> kovalenko@attbi.com> > wrote in message
news:blftj1$br1$> 1@inn.qnx.com> …

“Armin Steinhoff” <> a-steinhoff@web.de> > wrote in message
news:blemc6$edn$> 1@inn.qnx.com> …

Mario Charest wrote:
[ clip …]

Many people I talk to think of QNX6 as a Linux with a 8000$ price

tag…

With the kernel version 2.6 of LINUX (includes some of the 'low

latency

patches’ and ‘kernel preemption patches’) … that’s the case in some
extent > :slight_smile:


To some extent indeed. The NPTL is a huge improvement over the

unfamous

linux threads, but still not quite suitabe for hard realtime. They now

(in

2.6) have fast mutexes (futexes) but still no priority inversion control

for

them. If you signal a condvar, there’s no guarantee it will wake up the
thread with highest priority. Calls to control scheduling behavior

exist,

but have no effect. Also the kernel preemption patch was found to be
improving average latencies, but not the worst case (I’ve seen claims

that

the worst case jitter on 2.4 kernel with preemption patch applied is the
same as on stock RedHat, which is 100,000us).


Ok you are talking main/official kernel line. What about distribution by
people like Monta Vista who seems to tweek the kernel for real-time.
playing devil’s advocate



Actually that claim about 100,000us worst case jitter above was specifically
referring to Montavista’s ‘realtime linux’.

Granted, it was made by their competitor (TimeSys) but I doubt they’d go as
far as deliberately lying.

Here is nice report from the NIST:

ftp://ftp.isd.mel.nist.gov/pub/isd/RealTimeLinuxReport-2.0.0.pdf


They actually made pretty good impression as a
company. When they take 2.6 baseline and patch it accordingly, they should
become a serious POSIX realtime OS.

Fact is if you are using such a ‘serious POSIX real-time OS’ and you are
using its propriatary inter process communication … you are hardly
bound to this OS.

It’s only a virtual advantage to have ‘POSIX’ stuff in your ‘serious
POSIX real-time OS’, because you are loosing much performance if you are
using only the POSIX interfaces.

Cheers

Armin


The trick however is that they do all
hard realtime features as non-GPL loadable modules (that will only load on
their patched GPL kernel). Their price is quite comparable to QNX.

– igor

“Armin Steinhoff” <a-steinhoff@web.de> wrote in message
news:bljl4j$5q5$1@inn.qnx.com

Igor Kovalenko wrote:
[…]
Fact is if you are using such a ‘serious POSIX real-time OS’ and you are
using its propriatary inter process communication … you are hardly
bound to this OS.

FYI, ‘hardly bound’ actually means ‘not really bound’ in english Armin :wink:

And if you meant to say ‘hard bound’… well that depends on how you split
functionality and how you access proprietary features. If you isolate
OS-specific parts into drivers and/or resource managers, the rest of your
code (major part, normally) remains platform-independent. And if you need to
access some proprietary IPC from generic code, it is easy to make a bunch of
wrapper functions.

It’s only a virtual advantage to have ‘POSIX’ stuff in your ‘serious
POSIX real-time OS’, because you are loosing much performance if you are
using only the POSIX interfaces.

I am sure you can back your claim by numbers and benchmark code. We’re all
eagerly waiting…

Cheers,
– igor

– email received from QNX —

----- Original Message -----
From: “QNX Software Systems” <mailings@qnx.com>
To: “Igor Kovalenko” <Igor.Kovalenko@motorola.com>
Sent: Friday, October 03, 2003 2:47 PM
Subject: QNX Web Seminar: Migrating from Linux to a Microkernel OS


Dear Sara,

Thank you for attending the QNX Software Systems web seminar,
“Implementing Device Drivers - Migrating from Linux to a
Microkernel OS.” We hope you enjoyed the presentation. To
download the archive and/or transcript, please visit:
http://seminar2.techonline.com/~qnx22/sep2903/index.shtml

– end of quote —

Maybe that was for Dave’s girlfriend again :slight_smile:

– igor


“Kevin Stallard” <kevin@ffllyyiinnggrroobboottss…ccoomm> wrote in message
news:blj1t3$ko0$1@inn.qnx.com

Yeah, yeah yeah…I know…it wasn’t a very well thought out post. I got
the email right after reading some new posts in this thread. Sould have
kept my mouth shut…

Kevin

“Rennie Allen” <> rgallen@attbi.com> > wrote in message
news:blg46q$fug$> 1@inn.qnx.com> …
Kevin Stallard wrote:

QSSL, you guys need to get your crap together. This looks bad.
You’re
a
technology company…you shouldn’t be making mistakes like this!

Before you get too up-in-arms about that, it might be prudent to note
that
it could be any number of factors that resulted in the late delivery of
the
mail. I did get an email for the web seminar, and it was in the morning
the day of the seminar.

ROTFLOL!

I’m goona start calling you Sara.

I think I may have just been avenged :wink: QSSL, what ever you do, just don’t
send one calling me Bertha.

Kevin

“Igor Kovalenko” <kovalenko@attbi.com> wrote in message
news:bll562$8ck$1@inn.qnx.com

– email received from QNX —

----- Original Message -----
From: “QNX Software Systems” <> mailings@qnx.com
To: “Igor Kovalenko” <> Igor.Kovalenko@motorola.com
Sent: Friday, October 03, 2003 2:47 PM
Subject: QNX Web Seminar: Migrating from Linux to a Microkernel OS


Dear Sara,

Thank you for attending the QNX Software Systems web seminar,
“Implementing Device Drivers - Migrating from Linux to a
Microkernel OS.” We hope you enjoyed the presentation. To
download the archive and/or transcript, please visit:
http://seminar2.techonline.com/~qnx22/sep2903/index.shtml

– end of quote —

Maybe that was for Dave’s girlfriend again > :slight_smile:

– igor


“Kevin Stallard” <kevin@ffllyyiinnggrroobboottss…ccoomm> wrote in message
news:blj1t3$ko0$> 1@inn.qnx.com> …
Yeah, yeah yeah…I know…it wasn’t a very well thought out post. I
got
the email right after reading some new posts in this thread. Sould have
kept my mouth shut…

Kevin

“Rennie Allen” <> rgallen@attbi.com> > wrote in message
news:blg46q$fug$> 1@inn.qnx.com> …
Kevin Stallard wrote:

QSSL, you guys need to get your crap together. This looks bad.
You’re
a
technology company…you shouldn’t be making mistakes like this!

Before you get too up-in-arms about that, it might be prudent to note
that
it could be any number of factors that resulted in the late delivery
of
the
mail. I did get an email for the web seminar, and it was in the
morning
the day of the seminar.

\

Hi Igor…



Igor Kovalenko wrote:

I did not know what to ask, still feeling like I haven’t ate anything when
the dinner was over. I’ve been tempted to ask why the hell people would
consider moving in the first place, since I haven’t noticed an answer to
that main question anywhere in the menu… but decided not to make a public
scandal. So, no tip for you this time. Stale food that was not even good
when it was fresh anyway, thank you very much.

‘Stale food that was not even good when it was fresh anyway, thank you
very much.’ Straight to the point. You have a good command of the
english language, and the way you put things (in practical terms so that
people can understand) makes me laugh most of the time. Keep it coming.

Incidentally, aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it
deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny
iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae.
The rset can be a total mses and you can sitll raed it wouthit a
porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by
istlef, but the wrod as a wlohe. Amzanig huh?

cheers…

Miguel.



– igor

P.S.
I’ve been down that road three times myself and I know there is more to
tell and to do to help people along…

Igor Kovalenko wrote:

“Armin Steinhoff” <> a-steinhoff@web.de> > wrote in message
news:bljl4j$5q5$> 1@inn.qnx.com> …

Igor Kovalenko wrote:

[…]

Fact is if you are using such a ‘serious POSIX real-time OS’ and you are
using its propriatary inter process communication … you are hardly
bound to this OS.



FYI, ‘hardly bound’ actually means ‘not really bound’ in english Armin > :wink:

Oh … thanks for this correction :slight_smile:

And if you meant to say ‘hard bound’… well that depends on how you split
functionality and how you access proprietary features. If you isolate
OS-specific parts into drivers and/or resource managers, the rest of your
code (major part, normally) remains platform-independent. And if you need to
access some proprietary IPC from generic code, it is easy to make a bunch of
wrapper functions.

The bad point is: you can’t write a wrapper for the structure of a
program or driver which is using synchronous message passing.

Also … wrapping system calls means overhead → that means you are
loosing performance.

It’s only a virtual advantage to have ‘POSIX’ stuff in your ‘serious
POSIX real-time OS’, because you are loosing much performance if you are
using only the POSIX interfaces.

I am sure you can back your claim by numbers and benchmark code.

Use simply a communication based on UNIX sockets and compare it with one
based on native message passing.

We’re all eagerly waiting …

I’m sure that not all are eagerly waiting … you know the result.

Cheers

Armin

Igor Kovalenko <kovalenko@attbi.com> wrote:
IK > – email received from QNX —

IK > ----- Original Message -----
IK > From: “QNX Software Systems” <mailings@qnx.com>
IK > To: “Igor Kovalenko” <Igor.Kovalenko@motorola.com>
IK > Sent: Friday, October 03, 2003 2:47 PM
IK > Subject: QNX Web Seminar: Migrating from Linux to a Microkernel OS


Dear Sara,

Thank you for attending the QNX Software Systems web seminar,
“Implementing Device Drivers - Migrating from Linux to a
Microkernel OS.” We hope you enjoyed the presentation. To
download the archive and/or transcript, please visit:
http://seminar2.techonline.com/~qnx22/sep2903/index.shtml

IK > – end of quote —

IK > Maybe that was for Dave’s girlfriend again :slight_smile:

IK > – igor


Yeah. She gets around.

sigh

Bill Caroselli wrote:

Igor Kovalenko <> kovalenko@attbi.com> > wrote:
IK > – email received from QNX —

IK > ----- Original Message -----
IK > From: “QNX Software Systems” <> mailings@qnx.com
IK > To: “Igor Kovalenko” <> Igor.Kovalenko@motorola.com
IK > Sent: Friday, October 03, 2003 2:47 PM
IK > Subject: QNX Web Seminar: Migrating from Linux to a Microkernel OS



Dear Sara,

Thank you for attending the QNX Software Systems web seminar,
“Implementing Device Drivers - Migrating from Linux to a
Microkernel OS.” We hope you enjoyed the presentation. To
download the archive and/or transcript, please visit:
http://seminar2.techonline.com/~qnx22/sep2903/index.shtml


IK > – end of quote —

IK > Maybe that was for Dave’s girlfriend again > :slight_smile:

IK > – igor


Yeah. She gets around.

Miguel Simon <simon@ou.edu> wrote:

Incidentally, aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it
deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny
iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae.
The rset can be a total mses and you can sitll raed it wouthit a
porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by
istlef, but the wrod as a wlohe. Amzanig huh?

Pretty amazing. Though, I’d expect that only works with people who
are quite fluent/natural in the language – for someone who is not
fluent, or someone who is learning, I’d bet it would not work.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.

“David Gibbs” <dagibbs@qnx.com> wrote in message
news:bn3qfp$e29$2@nntp.qnx.com

Miguel Simon <> simon@ou.edu> > wrote:

Incidentally, aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it
deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny
iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae.
The rset can be a total mses and you can sitll raed it wouthit a
porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by
istlef, but the wrod as a wlohe. Amzanig huh?

Pretty amazing. Though, I’d expect that only works with people who
are quite fluent/natural in the language – for someone who is not
fluent, or someone who is learning, I’d bet it would not work.

I worked for me :wink: I beleive it work for people who are use to read the
language,
it’s about visual pattern recognizion.

I also beleive this works because there are 2/3 letters words that are
intact and servers as anchor/reference for the brain.

Reeerfnce mhgtiy parnciipl dfblouuty tttruwhosry ilndeeapnndty

See what I mean -)


A comparable email was sent to me in French :wink:

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.

Mario Charest postmaster@127.0.0.1 wrote:

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:bn3qfp$e29$> 2@nntp.qnx.com> …
Miguel Simon <> simon@ou.edu> > wrote:

Incidentally, aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it
deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny
iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae.
The rset can be a total mses and you can sitll raed it wouthit a
porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by
istlef, but the wrod as a wlohe. Amzanig huh?

Pretty amazing. Though, I’d expect that only works with people who
are quite fluent/natural in the language – for someone who is not
fluent, or someone who is learning, I’d bet it would not work.

I worked for me > :wink: > I beleive it work for people who are use to read the
language,
it’s about visual pattern recognizion.

By fluency, I did mean reading/writing fluency. I expect you read
enough English to be an (at least) reasonably fluent reader of
English.

I also beleive this works because there are 2/3 letters words that are
intact and servers as anchor/reference for the brain.

Reeerfnce mhgtiy parnciipl dfblouuty tttruwhosry ilndeeapnndty

Hm…yeah, that does take more work to decode.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.

“Mario Charest” postmaster@127.0.0.1 wrote in message
news:bn3sbr$op7$1@inn.qnx.com

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:bn3qfp$e29$> 2@nntp.qnx.com> …
Miguel Simon <> simon@ou.edu> > wrote:

Incidentally, aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it
deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny
iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit
pclae.
The rset can be a total mses and you can sitll raed it wouthit a
porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by
istlef, but the wrod as a wlohe. Amzanig huh?

Pretty amazing. Though, I’d expect that only works with people who
are quite fluent/natural in the language – for someone who is not
fluent, or someone who is learning, I’d bet it would not work.

I worked for me > :wink: > I beleive it work for people who are use to read the
language,
it’s about visual pattern recognizion.

I also beleive this works because there are 2/3 letters words that are
intact and servers as anchor/reference for the brain.

Reeerfnce mhgtiy parnciipl dfblouuty tttruwhosry ilndeeapnndty

See what I mean -)


A comparable email was sent to me in French > :wink:

What do you mean? I thought French is always spelled like that anyway… :stuck_out_tongue:

– igor