K***@via-alliance.com
2014-04-30 09:52:30 UTC
Hi All,
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. 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.
Is there other considerations so that smp_mb()/smp_rmb()/smp_wmb() are
implemented to "only affecting inner sharable cores"?
Best Regards,
Kelvin K. Li
---------------------------------------------------------------
Software Team, VIA Technologies, Inc.
5F, VIA Tower, 1 Zhongguancun East Road,
Haidian District, Beijing, 100084
Tel: 86-10-59852288 ext.3620
mailto: ***@via-alliance.com
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. 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.
Is there other considerations so that smp_mb()/smp_rmb()/smp_wmb() are
implemented to "only affecting inner sharable cores"?
Best Regards,
Kelvin K. Li
---------------------------------------------------------------
Software Team, VIA Technologies, Inc.
5F, VIA Tower, 1 Zhongguancun East Road,
Haidian District, Beijing, 100084
Tel: 86-10-59852288 ext.3620
mailto: ***@via-alliance.com