Messages in this thread | | | Date | Tue, 7 Jul 2009 16:34:16 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCHv5 2/2] memory barrier: adding smp_mb__after_lock |
| |
On 07/07, Mathieu Desnoyers wrote: > > As with any optimization (and this is one that adds a semantic that will > just grow the memory barrier/locking rule complexity), it should come > with performance benchmarks showing real-life improvements.
Well, the same applies to smp_mb__xxx_atomic_yyy or smp_mb__before_clear_bit.
Imho the new helper is not worse, and it could be also used by try_to_wake_up(), __pollwake(), insert_work() at least.
> Otherwise I'd recommend sticking to smp_mb() if this execution path is > not that critical, or to move to RCU if it's _that_ critical. > > A valid argument would be if the data structures protected are so > complex that RCU is out of question but still the few cycles saved by > removing a memory barrier are really significant.
Not sure I understand how RCU can help,
> And even then, the > proper solution would be more something like a > __read_lock()+smp_mb+smp_mb+__read_unlock(), so we get the performance > improvements on architectures other than x86 as well.
Hmm. could you explain what you mean?
Oleg.
| |