Prev: Arch specific mmap attributes (Was: mprotect pgprot handling weirdness)
Next: [git pull] Input updates for 2.6.34-rc3
From: Roland Dreier on 6 Apr 2010 02:10 > static inline int atomic_sub_and_test(int i, atomic_t *v) > { > unsigned char c; > > asm volatile(LOCK_PREFIX "subl %2,%0; sete %1" > : "+m" (v->counter), "=qm" (c) > : "ir" (i) : "memory"); > return c; > } Why would disabling interrupts be necessary? The LOCK_PREFIX makes the subl atomic, and the sete just operates using the flag set by subl, so it doesn't matter if any interrupts occur or not (since returning from an interrupt must obviously restore flags). -- Roland Dreier <rolandd(a)cisco.com> || For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/index.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |