comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: non-preemptive tasking on GNAT 2020 Windows 10 multicore AMD
Date: Sun, 13 Jun 2021 11:13:53 +0200	[thread overview]
Message-ID: <sa4i8g$10oo$1@gioia.aioe.org> (raw)
In-Reply-To: a670da34-30e1-4c36-a404-590ac9ffcbban@googlegroups.com

On 2021-06-13 10:04, darek wrote:
> On Sunday, 13 June 2021 at 08:20:08 UTC+2, Randy Brukardt wrote:
>> "AdaMagica" <christ-u...@t-online.de> wrote in message
>> news:1d798609-8b73-4bc6...@googlegroups.com...
>>> Dmitry A. Kazakov schrieb am Samstag, 12. Juni 2021 um 17:57:39 UTC+2:
>>>> Because under Windows the default priority is in the time sharing class.
>>>> As the name suggests such threads are preempted when the their quant
>>>> expires. AFAIK, even a lower priority thread can preempt a higher
>>>> priority one if both are time sharing. Time sharing priority only
>>>> influences the duration of the quant and the chances to gain the
>>>> processor.
>>>
>>> Hm OK. Is this compatible with the Ada RM?
>> Not really, at least in an Annex D sense. (The core doesn't require much, in
>> part so Ada will work on a wide variety of targets.) Pretty much everyone
>> has agreed to ignore the impossibility of implementing Annex D on Windows --
>> remember that there is an "impossible or impractical" exception in 1.1.3
>> which certainly applies in this case. Indeed, I suspect that it is
>> impossible to implement all of Annex D on any target other than a bare
>> machine. (One example is that there is no known implementation of EDF
>> scheduling even though Annex D seems to require it to be implemented.)
>>
>> Randy.
> 
> 
> Hi All,
>    It could be useful for Ada community - a bit different (and refreshing) approach :
> 
>        https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/154828/eth-47094-02.pdf

Maybe I am wrong, but it looks to me like these guys spent 30 years in a 
time capsule.

What the paper describes is basically Ada 95 protected action. 
"uncooperative" = protected action. [They do refer Ada once, but not its 
protected objects]

The rest is musing about co-routines which are another 60 years old, or so.

Yes, I would welcome co-routines as a special form of Ada task, but of 
course without explicit yielding. Obligatory explicit yielding kills 
task abstraction.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  reply	other threads:[~2021-06-13  9:13 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-12 12:51 non-preemptive tasking on GNAT 2020 Windows 10 multicore AMD Dan Winslow
2021-06-12 13:11 ` Dmitry A. Kazakov
2021-06-12 15:43   ` AdaMagica
2021-06-12 15:57     ` Dmitry A. Kazakov
2021-06-12 16:05       ` AdaMagica
2021-06-12 16:30         ` Dmitry A. Kazakov
2021-06-12 20:56           ` Dan Winslow
2021-06-12 22:21             ` Dan Winslow
2021-06-13  1:24               ` Dennis Lee Bieber
2021-06-13  1:55                 ` Dennis Lee Bieber
2021-06-13 10:24               ` J-P. Rosen
2021-06-13 12:11                 ` Dan Winslow
2021-06-13  6:20         ` Randy Brukardt
2021-06-13  8:04           ` darek
2021-06-13  9:13             ` Dmitry A. Kazakov [this message]
2021-06-13 21:43               ` darek
2021-06-13 12:06           ` Dan Winslow
2021-06-13 13:16             ` Jeffrey R. Carter
2021-06-13 16:43               ` Dan Winslow
2021-06-13 16:46                 ` Dan Winslow
2021-06-13 16:50                   ` Dan Winslow
2021-06-13 17:44                   ` Jeffrey R. Carter
2021-06-15  0:41                     ` Dan Winslow
2021-06-16  0:10                       ` Dennis Lee Bieber
2021-06-14  2:09                 ` Dennis Lee Bieber
2021-06-12 16:03     ` AdaMagica
2021-06-12 18:02       ` Niklas Holsti
2021-06-12 20:50         ` Dan Winslow
2021-06-13 17:41         ` AdaMagica
2021-06-12 17:18 ` Dan Winslow
2021-06-12 17:21   ` Dan Winslow
2021-06-12 18:06     ` Dennis Lee Bieber
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox