Re: [lng-odp] Compiler Barrier API

2017-09-11 Thread Brian Brooks
On Sun, Sep 10, 2017 at 10:33 PM, Bill Fischofer wrote: > Before we consider adding new synchronization APIs, we need a clearly > defined use case for why a portable application would need this. ODP > implementations may make use of such things based on their knowledge

Re: [lng-odp] Compiler Barrier API

2017-09-10 Thread Bill Fischofer
Before we consider adding new synchronization APIs, we need a clearly defined use case for why a portable application would need this. ODP implementations may make use of such things based on their knowledge of the platform architecture, but ODP applications (should) have no such platform-specific

Re: [lng-odp] Compiler Barrier API

2017-09-10 Thread Brian Brooks
Hi Andriy, On Wed, Sep 6, 2017 at 12:24 PM, Andriy Berestovskyy wrote: > Hey Brian, > You are right, there are no compiler barriers on master, I just was on > api-next branch: > >

Re: [lng-odp] Compiler Barrier API

2017-09-06 Thread Andriy Berestovskyy
Hey Brian, You are right, there are no compiler barriers on master, I just was on api-next branch: https://git.linaro.org/lng/odp.git/tree/platform/linux-generic/arch/arm/odp_atomic.h?h=api-next#n56 Andriy On 05.09.2017 17:06, Brian Brooks wrote: I don't see a compiler barrier in the

Re: [lng-odp] Compiler Barrier API

2017-09-05 Thread Brian Brooks
I don't see a compiler barrier in the odp.git repo. Perhaps 'nop', but this acts as more than a pure compiler barrier? On Tue, Sep 5, 2017 at 8:23 AM, Andriy Berestovskyy wrote: > Hey Petri, > > On 05.09.2017 14:17, Savolainen, Petri (Nokia - FI/Espoo)

Re: [lng-odp] Compiler Barrier API

2017-09-05 Thread Andriy Berestovskyy
Hey Petri, On 05.09.2017 14:17, Savolainen, Petri (Nokia - FI/Espoo) wrote: I think compiler barrier is too weak for writing portable code, since it does not guarantee that the CPU would not re-order the instructions. No, compiler barrier does not guarantee CPU order. Though, sometimes we

Re: [lng-odp] Compiler Barrier API

2017-09-05 Thread Savolainen, Petri (Nokia - FI/Espoo)
> -Original Message- > From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of > Andriy Berestovskyy > Sent: Tuesday, September 05, 2017 2:08 PM > To: lng-odp@lists.linaro.org > Subject: Re: [lng-odp] Compiler Barrier API > > Hey Maxim, > There is

Re: [lng-odp] Compiler Barrier API

2017-09-05 Thread Andriy Berestovskyy
Hey Maxim, There is a use case in the ODP code itself just search for the volatile("" ::: "memory"). It is rare, just like all the barriers. We also have compiler barrier in our code, so I just thought it would be nice to add this to the api/sync.h, i.e.: /** * Compiler barrier * * This

Re: [lng-odp] Compiler Barrier API

2017-09-04 Thread Maxim Uvarov
On 09/04/17 18:09, Andriy Berestovskyy wrote: > Hey guys, > There are few __asm__ volatile("" ::: "memory") in the generic ODP code, > but seems like there is no API for the compiler barrier. > > Shall we add one to the api/sync.h? > > Andriy Hello Andriy, Do you have use case for that? In my