1 typedef struct { unsigned long bits[((((1 << 0))+32 -1)/32)]; } nodemask_t; 2 static inline __attribute__((always_inline)) bitmap_empty(const unsigned long * src,int nbits)3int bitmap_empty(const unsigned long *src, int nbits) 4 { 5 return ! (*src & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL )); 6 } 7 static inline __attribute__((always_inline)) __nodes_empty(const nodemask_t * srcp,int nbits)8int __nodes_empty(const nodemask_t *srcp, int nbits) 9 { 10 return bitmap_empty(srcp->bits, nbits); 11 } 12 extern nodemask_t node_online_map; 13 void drain_array(void); drain_cpu_caches(void)14void drain_cpu_caches(void) 15 { 16 int node; 17 if (!__nodes_empty(&(node_online_map), (1 << 0))) 18 for (((node)) = 0; ((node)) < 1; ((node))++) 19 { 20 } 21 if (!__nodes_empty(&(node_online_map), (1 << 0))) 22 drain_array(); 23 } 24