📄 cpumask_array.h
字号:
#ifndef __ASM_GENERIC_CPUMASK_ARRAY_H#define __ASM_GENERIC_CPUMASK_ARRAY_H/* * Array-based cpu bitmaps. An array of unsigned longs is used to contain * the bitmap, and then contained in a structure so it may be passed by * value. */#define CPU_ARRAY_SIZE BITS_TO_LONGS(NR_CPUS)#define cpu_set(cpu, map) set_bit(cpu, (map).mask)#define cpu_clear(cpu, map) clear_bit(cpu, (map).mask)#define cpu_isset(cpu, map) test_bit(cpu, (map).mask)#define cpu_test_and_set(cpu, map) test_and_set_bit(cpu, (map).mask)#define cpus_and(dst,src1,src2) bitmap_and((dst).mask,(src1).mask, (src2).mask, NR_CPUS)#define cpus_or(dst,src1,src2) bitmap_or((dst).mask, (src1).mask, (src2).mask, NR_CPUS)#define cpus_clear(map) bitmap_zero((map).mask, NR_CPUS)#define cpus_complement(map) bitmap_complement((map).mask, NR_CPUS)#define cpus_equal(map1, map2) bitmap_equal((map1).mask, (map2).mask, NR_CPUS)#define cpus_empty(map) bitmap_empty(map.mask, NR_CPUS)#define cpus_addr(map) ((map).mask)#define cpus_weight(map) bitmap_weight((map).mask, NR_CPUS)#define cpus_shift_right(d, s, n) bitmap_shift_right((d).mask, (s).mask, n, NR_CPUS)#define cpus_shift_left(d, s, n) bitmap_shift_left((d).mask, (s).mask, n, NR_CPUS)#define first_cpu(map) find_first_bit((map).mask, NR_CPUS)#define next_cpu(cpu, map) find_next_bit((map).mask, NR_CPUS, cpu + 1)/* only ever use this for things that are _never_ used on large boxen */#define cpus_coerce(map) ((map).mask[0])#define cpus_promote(map) ({ cpumask_t __cpu_mask = CPU_MASK_NONE;\ __cpu_mask.mask[0] = map; \ __cpu_mask; \ })#define cpumask_of_cpu(cpu) ({ cpumask_t __cpu_mask = CPU_MASK_NONE;\ cpu_set(cpu, __cpu_mask); \ __cpu_mask; \ })#define any_online_cpu(map) \({ \ cpumask_t __tmp__; \ cpus_and(__tmp__, map, cpu_online_map); \ find_first_bit(__tmp__.mask, NR_CPUS); \})/* * um, these need to be usable as static initializers */#define CPU_MASK_ALL ((cpumask_t) { {[0 ... CPU_ARRAY_SIZE-1] = ~0UL} })#define CPU_MASK_NONE ((cpumask_t) { {[0 ... CPU_ARRAY_SIZE-1] = 0UL} })#endif /* __ASM_GENERIC_CPUMASK_ARRAY_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -