comp.lang.ada
 help / color / mirror / Atom feed
From: Jere <jhb.chat@gmail.com>
Subject: Re: Portable memory barrier?
Date: Sat, 13 May 2017 13:25:35 -0700 (PDT)
Date: 2017-05-13T13:25:35-07:00	[thread overview]
Message-ID: <23328693-a906-4f29-80cf-249ce1ec5b95@googlegroups.com> (raw)
In-Reply-To: <of1496$ul9$1@gioia.aioe.org>

On Thursday, May 11, 2017 at 3:36:09 AM UTC-4, Dmitry A. Kazakov wrote:
> On 11/05/2017 00:56, Jere wrote:
> > On Wednesday, May 10, 2017 at 1:26:00 AM UTC-4, J-P. Rosen wrote:
> >> Le 10/05/2017 à 02:51, Jere a écrit :
> >>> Is there a method besides Atomic?  If I am implementing a generic FIFO (lock
> >>> free) and the FIFO elements are complex data types that may not be able to be
> >>> atomic, do I have any other options or are protected objects my only way out?
> >>
> >> Protected objects, or for a lower level, Synchronous_Task_Control. I
> >> know that you want lock free algorithms, but out of curiosity, did you
> >> measure the cost of locking algorithms? IOW, is all of this worth the
> >> trouble?
> 
> > I wasn't necessarily aiming for a specific speed/cost.  I know I can easily
> > find a standard task safe container and use that and it might be faster (or at
> > least fast enough) on various platforms.  This is more for a different option
> > from the normal.  It might be faster on some platforms or slower, but it is
> > mostly meant to be a tool in toolkit.
>
> <SNIPPED>
> 
> So, Jere, when you become ARG (:-)), please, push for requirement to 
> support Atomic for all scalar objects. If the machine lacks 
> corresponding instructions the compiler must fall back to a protected 
> object. And conversely, if there is a strong case that using a protected 
> action might be more efficient than machine's atomic access 
> instructions, the compiler should use the former.
> 

Well,I believe Randy was offering up to Shark8, but it is definitely the type of 
thing I enjoy.  I'm very much into semantics when it comes to this type of 
stuff, though obviously I am no where near good enough in the Ada standard.  Nor 
am I experienced enough yet with enough big systems.  My experience is mainly in 
bare metal applications, where Ada is not very predominant (though not absent).  
I am much more comfortable in areas where there are no OS'es and the CPU's are 
fairly simple microcontrollers (8 to 32bit single core). 

I read through a lot of the posted ARG discussions/minutes, and I did find them 
pretty interesting.  I found myself disagreeing with some people and agreeing 
with others.  That said, I am very inexperienced and backseat ARG'ing is easy to 
do when I am in my position.  It's a difficult job I am sure!


  reply	other threads:[~2017-05-13 20:25 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-06  2:23 Portable memory barrier? Jere
2017-05-06  8:47 ` Jeffrey R. Carter
2017-05-06 14:17   ` Jere
2017-05-06 19:08     ` Dennis Lee Bieber
2017-05-06 19:26     ` Jeffrey R. Carter
2017-05-06 19:41     ` Jeffrey R. Carter
2017-05-06 20:42       ` Niklas Holsti
2017-05-09 19:49     ` Randy Brukardt
2017-05-09 22:07       ` Jere
2017-05-11  1:14         ` Randy Brukardt
2017-05-10 18:28       ` Shark8
2017-05-11  1:17         ` Randy Brukardt
2017-05-11 16:23           ` Jeffrey R. Carter
2017-05-07 20:18 ` Robert Eachus
2017-05-08  7:45   ` Dmitry A. Kazakov
2017-05-08 15:56     ` Robert Eachus
2017-05-08 16:22       ` Dmitry A. Kazakov
2017-05-08 18:39         ` Robert Eachus
2017-05-08 19:18         ` Robert Eachus
2017-05-08 21:09           ` Dmitry A. Kazakov
2017-05-08 23:24             ` Robert Eachus
2017-05-09  0:30               ` Jere
2017-05-09  4:02                 ` Robert Eachus
2017-05-09  4:32                 ` Robert Eachus
2017-05-09  4:44                   ` Robert Eachus
2017-05-09 22:26                   ` Jere
2017-05-09 20:01                 ` Randy Brukardt
2017-05-09 19:57               ` Randy Brukardt
2017-05-10  0:51                 ` Jere
2017-05-10  5:25                   ` J-P. Rosen
2017-05-10 22:56                     ` Jere
2017-05-11  7:36                       ` Dmitry A. Kazakov
2017-05-13 20:25                         ` Jere [this message]
2017-05-10  7:13                   ` Dmitry A. Kazakov
2017-05-10 16:45                     ` Robert Eachus
2017-05-10 17:28                       ` Simon Wright
2017-05-10 23:21                     ` Jere
2017-05-11  0:47                       ` Randy Brukardt
2017-05-13 20:11                         ` Jere
2017-05-15 22:33                           ` Randy Brukardt
2017-05-10 23:30                     ` Jere
2017-05-11  0:38                     ` Randy Brukardt
2017-05-10 16:38                   ` Jeffrey R. Carter
2017-05-10 23:40                     ` Jere
2017-05-10 16:19                 ` Robert Eachus
2017-05-11  1:02                   ` Randy Brukardt
2017-05-11  1:51                     ` Robert Eachus
2017-05-15 22:45                       ` Randy Brukardt
2017-05-08 20:29         ` Niklas Holsti
2017-05-08 21:09           ` Dmitry A. Kazakov
2017-05-09  4:34             ` Niklas Holsti
2017-05-09  6:16               ` Niklas Holsti
2017-05-09  8:34                 ` Dmitry A. Kazakov
2017-05-09 20:18                 ` Randy Brukardt
2017-05-09 20:10           ` Randy Brukardt
2017-05-09  0:05         ` Jere
2017-05-09  8:26           ` Dmitry A. Kazakov
2017-05-09 19:53         ` Randy Brukardt
2017-05-09 20:27           ` Dmitry A. Kazakov
2017-05-11  0:35             ` Randy Brukardt
2017-05-11  8:24               ` Dmitry A. Kazakov
2017-05-15 22:53                 ` Randy Brukardt
2017-05-18 17:44                   ` Dmitry A. Kazakov
2017-05-18 21:01                     ` Randy Brukardt
2017-05-19  7:54                       ` Dmitry A. Kazakov
replies disabled

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