From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,6795142175316a47 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,UTF8 Path: g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Vinzent 'Gadget' Hoefler Newsgroups: comp.lang.ada Subject: Re: TRON for AdaOS Date: Fri, 18 Feb 2005 09:46:21 +0000 Message-ID: <1681323.f4aX4jHe7e@jellix.jlfencey.com> References: <1886813.de8De94B0N@jellix.jlfencey.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: individual.net o30gshb4ohOkjYPPa8UGfw6PVgqCDvoPkXdqMNkkUNg58U38cT X-Phone: +41 62 961 13 52 X-Mood: Desillusioned. Xref: g2news1.google.com comp.lang.ada:8414 Date: 2005-02-18T09:46:21+00:00 List-Id: Ole-Hjalmar Kristensen wrote: > My point is that the task switching overhead itself is very low on > Linux. Yes. But such things can change when you apply real-time requirements. Sometimes it is very surprising to see the difference between an average-case optimization and a worst-case optimization. ;-) Well, I searched for it and the context switching times simply seem to depend on the method used. states: |The communication method between the scheduler and the Linux process |can be done by means of the RT-Linux standard RT-fifos, although a |shared memory mechanism has also been implemented in order to improve |efficiency. This method allows the scheduler to improve context |switches by three milliseconds below the accomplished with the FIFO |communication. So indeed here they talking about milliseconds, but with the shared memory approach this seems to change considerably: |Some measurements about context switching times in RT-Linux have been |made in the execution of the previous program. [...] In the case of |interrupts, this time is very variable, but it can be up to 20 |microseconds in the worst case. [...] In the case of system calls, the= |context switching time is much lower: 8 =C2=B5s. The scheduler require= s |about 4 microseconds. So that doesn't sound too bad. ;) Vinzent. --=20 worst case: The wrong assumption there actually is one.