Memory barrier

trisha yad trisha1march at gmail.com
Fri Dec 9 03:44:37 EST 2011


I will add more info here:
smp_mb()
Similar to mb(), but only guarantees ordering between cores/processors
within an SMP system. All memory accesses before the smp_mb() will be
visible to all cores within the SMP system before any accesses after
the smp_mb().
smp_rmb()
Like smp_mb(), but only guarantees ordering between read accesses.
smp_wmb()
Like smp_mb(), but only guarantees ordering between write accesses.

So these made me total confuse .

Thanks

2011/12/9 trisha yad <trisha1march at gmail.com>:
> Thanks,
>
> I got bit confuse with below statement:
> This is from paper Memory access ordering Part 2
> SMP conditional barriers
> The SMP conditional barriers are used to ensure a consistent view of
> memory between different cores within a cache coherent SMP system.
> When compiling a kernel without CONFIG_SMP, all SMP barriers are
> converted into plain compiler barriers.
>
> 2011/12/9 卜弋天 <buyit at live.cn>:
>> Hi :
>>
>>       memory barriers can not make order on other cpus, only the current
>> cpu's order will be promised.
>>
>>
>>
>>> Date: Fri, 9 Dec 2011 12:54:40 +0530
>>> Subject: Memory barrier
>>> From: trisha1march at gmail.com
>>> To: Kernelnewbies at kernelnewbies.org
>>
>>>
>>> Hi All,
>>>
>>> I need small clarification on memory barrier.
>>> #define smp_mb()        mb()
>>> #define smp_rmb()       rmb()
>>> #define smp_wmb()       wmb()
>>> In case of SMP:
>>> is smp_mb() or smp_rmb() make order on current CPU or all cpu's
>>>
>>> Thanks
>>>
>>> _______________________________________________
>>> Kernelnewbies mailing list
>>> Kernelnewbies at kernelnewbies.org
>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list