On Tue, Nov 22, 2011 at 08:57:42PM +0800, Peter Zijlstra wrote: > On Tue, 2011-11-22 at 13:21 +0100, Jan Kara wrote: > > > + __get_cpu_var(bdp_ratelimits)++; > > I think you need preempt_disable() and preempt_enable() pair around > > __get_cpu_var(). Otherwise a process could get rescheduled in the middle of > > read-modify-write cycle... > > there's of course the this_cpu_inc(bdp_ratelimits); thing. > > On x86 that'll turn into a single insn, on others it will add the > required preempt_disable/enable bits. It's good to know that. But what if we don't really care which CPU data it's increasing, and can accept losing some increases due to the resulted race condition? Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html