Hi Leif

Why do the smp_mb()/smp_rmb()/smp_wmb() for arm (arm-32) not change to the "dmb ishxx" too?

Is there some consideration

-----Original Message-----
From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
Sent: 2014-5-1 () 0:39
To: Kelvin K. Li
Cc: linaro-dev
Subject: Re: why is the the smp_mb() in arm64's barrier.h "dmb ish"?

Hi Kelvin.

On 30 April 2014 10:52,  <KelvinKLi@via-alliance.com> wrote:
> In arch/arm64/include/asm/barrier.h, there is the definition of
> smp_mb()/smp_rmb()/smp_wmb() for arm64. I noticed that all the 3 macors are
> using dmb ishxx, which is only affect the cluster of the CPU executing the
> instruction.

This is incorrect.

> But in the big.LITTLE system, there will be 2 cluster. So the
> smp_mb()/smp_rmb()/smp_wmb() cannot affect all the CPU in the system.

Yes, they do.

In a big.LITTLE HMP system, all participating CPUs are part of the
inner-shareable domain.