On Thu, 18 Aug 2011 11:38:00 +0200, Johannes Weiner said: > Note that on non-x86, these operations themselves actually disable and > reenable preemption each time, so you trade a pair of add and sub on > x86 > > - preempt_disable() > __this_cpu_xxx() > __this_cpu_yyy() > - preempt_enable() > > with > > preempt_disable() > __this_cpu_xxx() > + preempt_enable() > + preempt_disable() > __this_cpu_yyy() > preempt_enable() > > everywhere else. That would be an unexpected race condition on non-x86, if you expected _xxx and _yyy to be done together without a preempt between them. Would take mere mortals forever to figure that one out. :)
Attachment:
pgpcrXgglcDhj.pgp
Description: PGP signature