Tony Luck <tony.luck@xxxxxxxxx> writes: > On Tue, May 26, 2015 at 6:18 PM, Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote: > >> cpumask_test_cpu() doesn't take volatile, unlike the obsoleted >> cpu_isset. The only place ia64 really cares is the spin waiting for a >> bit; udelay() is probably a barrier but insert rmb() to be sure. > > Good to be sure ... but cpumask_test_cpu() simply calls test_bit() ... > and 2 out of 3 versions of that function throw "volatile" back into the > mix: :-) Yep, volatile is hard to remove. But that seems like an argument for removing the last user, not changing the interface... The theory is that we're eschewing volatile, or so I thought. Cheers, Rusty. > Global definition: test_bit > > File Line > 0 include/asm/bitops.h 334 test_bit (int nr, const volatile > void *addr) > 1 asm-generic/bitops/non-atomic.h 103 static inline int test_bit(int > nr, const volatile unsigned long *addr) > 2 asm-generic/bitops/atomic.h 16 static __always_inline int > test_bit(unsigned int nr, const unsigned long *addr) -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |