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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.140.165.203 with SMTP id l194mr3169246qhl.4.1432818279952; Thu, 28 May 2015 06:04:39 -0700 (PDT) X-Received: by 10.140.83.165 with SMTP id j34mr33184qgd.23.1432818279940; Thu, 28 May 2015 06:04:39 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!z60no4278631qgd.0!news-out.google.com!4ni85qgh.1!nntp.google.com!z60no4277533qgd.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 28 May 2015 06:04:39 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=105.237.62.132; posting-account=orbgeAkAAADzWCTlruxuX_Ts4lIq8C5J NNTP-Posting-Host: 105.237.62.132 References: <9ad1fcdc-cdf9-4ff0-aa7e-051d53b6736a@googlegroups.com> <7d56e720-5e91-4950-b4ae-29d7ddbdc11a@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: longest path through a task From: jan.de.kruyf@gmail.com Injection-Date: Thu, 28 May 2015 13:04:39 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 3251 X-Received-Body-CRC: 4043578420 Xref: news.eternal-september.org comp.lang.ada:26031 Date: 2015-05-28T06:04:39-07:00 List-Id: On Thursday, May 28, 2015 at 11:04:05 AM UTC+2, Niklas Holsti wrote: >=20 > Did you get some numbers for the task-switch and interrupt-latency times= =20 > with the Ravenscar kernel? What does "slow" mean, in numbers? >=20 looking through the interrupt code, I thought I saw a maximum of up to a fe= w usecs response time. so I just eliminated that uncertainty by polling the= most important time source. The rest I have not really decided about, but = with the multi-tasking framework gone, an interrupt vector can point straig= ht to my code again. without ifs and buts in between. Otherwise: I did not measure the scheduler overhead, but since 1 millisec i= s a 'happy medium' for the writer of that code, and since 1 msec cycletime = is too slow for me I just decided to make life simple. I constructed a job stack that is executed whenever I ask for it, with jobs= coming and going al the time. With a time measuring frame around it that I= can query at any time via the rs232 port. This will give me the min and th= e max execution time encountered since the last reset of those registers.= =20 So Heisenberg's uncertainty principle applies in that the reading influence= s the max value. This looks al much hairier than it is, at least in cyclic execution like a = plc. And once you have the pattern into your head it is rather easy to keep trac= k of things and not construct infinite tight execution loops. You will have to get into a new frame of mind of course ;)=20 >=20 > Well, I tried to make it my bread and butter, but failed. So I'm back=20 > working for my former employer and doing real applications, not tools. That is sad. But if you did not shoot, you would have missed also. And I am= sure your employer loves you all the more for the experience you brought b= ack. Does Bound-T eat Thumb-2 code you think? I would love to try it out. And si= nce I do have the measuring frame work in place for comparison.. . Keep well, j.