Re: Hard real time in user space with preempt_rt patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mark Hounschell wrote:
On 04/24/2012 05:08 AM, Lars Segerlund wrote:
  This is not based on facts, rt-preempt does provide hard realtime and
strive to provide hard realtime, where have you come up with the
notion that it does not ?

  Please, don't spread misinformation, this is pure FUD .......

  Check osadl.org and their test rack, it will perhaps shed some light
on the quality assurance they try to do.
  It is hard to argue with numbers, also check a recent kernel and a
'good' system.
  Some system have latency problems, but most are fine, atleast a
worstcase of 50 usor so under hard load and normal times in the low 10
to 20 us range.

  / regards, Lars Segerlund.


2012/4/24 Mark Hounschell<dmarkh@xxxxxxxxxx>:
On 04/24/2012 01:46 AM, Anisha Kaul wrote:

From:
https://rt.wiki.kernel.org/articles/f/r/e/Frequently_Asked_Questions_7407.html

Real-time only has impact on the kernel; Userspace does not notice the
difference except for better real time behavior.


Does it mean that if we write the applications in user space, they
won't get the hard real time effect?
The threads running in the userspace won't get the hard real time effect?


You use the term "hard real time". The RT patch set does not even come close to providing a "hard real time" environment, and isn't even attempting to. It does however provide user land applications a much better chance for a
"soft real time" environment. The phrase you quot above just means the
patches are applied to the kernel and there are no patches required for user
land glibc or your application.


Your in lala land. The Linux kernel, even with the RT patch has so much "per CPU" crap in it, there is no way to prevent it from steeling usecs from your application.


Not only the kernel steals CPU time :) Also the SMI interrupt can steal a lot of time from any CPU core! And these effects are much higher then the actions at the kernel level. The OS AND the hardware must provide the environment for hard real-time processing. The definition of the a deadline includes also a time resolution (or variation) for meeting the deadlines ... and this is defined by the real-time application and not by theOS. The OS has just to profide the technological base to support this requirement. In some cases is a time resolution of 1ms OK for meeting a deadline ... and this still a hard-realtime application.


The per CPU timer interrupt alone takes a few usecs away from your application every HZ. A hard RT env is one in which you can always, every time, do a predefined work in the same amount of time. Fast or slow isn't the key. It's determinism. The timer interrupt alone prevents that. And it's not the only thing. I've got 8 cpus on my machine but the kernel has to have a piece of every one of them. Until there is isolation from the kernel, there cannot be "Hard RT". This is fact.

Your understanding of hard real-time is far too narrow ...

--armin


Mark
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux