From: Olaf Hering Date: Tue, 31 Jan 2012 11:35:07 +0000 (+0000) Subject: tools/libxc: remove volatile keyword for bitmap operations X-Git-Tag: 4.2.0-rc1~1006 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=5028e9bb656906ec217d6729f784424a06f37e6d;p=xen.git tools/libxc: remove volatile keyword for bitmap operations All bitmaps maintained by xc_bitops.h are used in single threaded applications. So nothing will change the bitmaps content, adding volatile adds just unneeded memory reloads. xenpaging uses bitmaps alot and using non-volatile versions will slightly improve performance. Signed-off-by: Olaf Hering Committed-by: Keir Fraser --- diff --git a/tools/libxc/xc_bitops.h b/tools/libxc/xc_bitops.h index 274d8c8b0e..d8e0c168d7 100644 --- a/tools/libxc/xc_bitops.h +++ b/tools/libxc/xc_bitops.h @@ -31,29 +31,29 @@ static inline void bitmap_clear(unsigned long *addr, int nr_bits) memset(addr, 0, bitmap_size(nr_bits)); } -static inline int test_bit(int nr, volatile unsigned long *addr) +static inline int test_bit(int nr, unsigned long *addr) { return (BITMAP_ENTRY(nr, addr) >> BITMAP_SHIFT(nr)) & 1; } -static inline void clear_bit(int nr, volatile unsigned long *addr) +static inline void clear_bit(int nr, unsigned long *addr) { BITMAP_ENTRY(nr, addr) &= ~(1UL << BITMAP_SHIFT(nr)); } -static inline void set_bit(int nr, volatile unsigned long *addr) +static inline void set_bit(int nr, unsigned long *addr) { BITMAP_ENTRY(nr, addr) |= (1UL << BITMAP_SHIFT(nr)); } -static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline int test_and_clear_bit(int nr, unsigned long *addr) { int oldbit = test_bit(nr, addr); clear_bit(nr, addr); return oldbit; } -static inline int test_and_set_bit(int nr, volatile unsigned long *addr) +static inline int test_and_set_bit(int nr, unsigned long *addr) { int oldbit = test_bit(nr, addr); set_bit(nr, addr);