comp.lang.ada
 help / color / mirror / Atom feed
From: darek <darek.maksimiuk@gmail.com>
Subject: Re: non-preemptive tasking on GNAT 2020 Windows 10 multicore AMD
Date: Sun, 13 Jun 2021 14:43:45 -0700 (PDT)	[thread overview]
Message-ID: <98e0acbd-eba6-4c41-b677-7a2208201cf1n@googlegroups.com> (raw)
In-Reply-To: <sa4i8g$10oo$1@gioia.aioe.org>

On Sunday, 13 June 2021 at 11:13:55 UTC+2, Dmitry A. Kazakov wrote:
> 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

As far as I know, there is no need for the explicit yielding. The compiler inserts these actions automatically (section 2.3.1, and section 4 for more details).
Guys at ETHZ do things in a bit different way :). 

Regards,
  Darek

P.S. For curious minds,  the (Active) Oberon language report can be found here: 
      http://cas.inf.ethz.ch/projects/a2/repository/raw/trunk/LanguageReport/OberonLanguageReport.pdf

  reply	other threads:[~2021-06-13 21:43 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
2021-06-13 21:43               ` darek [this message]
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