1typedef struct { unsigned long bits[((((1 << 0))+32 -1)/32)]; } nodemask_t; 2static inline __attribute__((always_inline)) 3int bitmap_empty(const unsigned long *src, int nbits) 4{ 5 return ! (*src & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL )); 6} 7static inline __attribute__((always_inline)) 8int __nodes_empty(const nodemask_t *srcp, int nbits) 9{ 10 return bitmap_empty(srcp->bits, nbits); 11} 12extern nodemask_t node_online_map; 13void drain_array(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