遍历各个pg_data_t节点。

1.定义在include/linux/nodemask.h中

/*
* Bitmasks that are kept for all the nodes.
*/
enum node_states {
N_POSSIBLE, /* The node could become online at some point */
N_ONLINE, /* The node is online */
N_NORMAL_MEMORY, /* The node has regular memory */
#ifdef CONFIG_HIGHMEM
N_HIGH_MEMORY, /* The node has regular or high memory */
#else
N_HIGH_MEMORY = N_NORMAL_MEMORY,
#endif
N_CPU, /* The node has one or more cpus */
NR_NODE_STATES
};
#define for_each_node(node) for_each_node_state(node, N_POSSIBLE)

for_each_node_state根据宏开关有不同的定义

#if MAX_NUMNODES
#define for_each_node_state(__node, __state) \
for_each_node_mask((__node), node_states[__state])
#else
#define for_each_node_state(node, __state) \
for ( (node) = ; (node) == ; (node) = )

2.MAX_NUMNODES

定义在include/linux/numa.h中

#ifdef CONFIG_NODES_SHIFT
#define NODES_SHIFT CONFIG_NODES_SHIFT
#else
#define NODES_SHIFT 0
#endif #define MAX_NUMNODES (1 << NODES_SHIFT)

而CONFIG_NODES_SHIFT定义在不同板子的arch/arm/configs/xxx_defconfig文件中。

3.for_each_node_mask(node, mask)

#if MAX_NUMNODES > 1
#define for_each_node_mask(node, mask) \
for ((node) = first_node(mask); \
(node) < MAX_NUMNODES; \
(node) = next_node((node), (mask)))
#else /* MAX_NUMNODES == 1 */
#define for_each_node_mask(node, mask) \
if (!nodes_empty(mask)) \
for ((node) = ; (node) < ; (node)++)
#endif /* MAX_NUMNODES */

最新文章

  1. grep命令
  2. webpy 访问局域网共享资源
  3. C++设计模式-TemplateMethod模板方法模式
  4. 更改apache网站根目录导致localhost不能访问
  5. sqoop的命令行操作
  6. jquery-drawsvg — HTML5轻量级插件
  7. HDU 1560 DNA sequence A* 难度:1
  8. LINQ(LINQ to DataSet)
  9. Zabbix agent on Microsoft Windows
  10. Delphi 多文件拖放获取路径示例
  11. PowerDesigner将PDM导出生成WORD文档--温习老知识
  12. HUST 1352 Repetitions of Substrings(字符串)
  13. python数据结构与算法篇:排序
  14. Linux grep \t Tab 键失效
  15. STD函数的内部计算公式
  16. 广商博客冲刺第四五天new
  17. rabbitmq使用(四)
  18. 安装指定版本的nodejs
  19. Entity Framework 6.x 学习之Database First
  20. 十、springboot之web开发打包生产

热门文章

  1. Java中List,Set和Map详解及其区别和使用场景(转)
  2. Serilog 是 ASP.NET Core 的一个插件,可以简化日志记录
  3. 059 Spiral Matrix II 旋转打印矩阵 II
  4. (转)Linux Network IO Model、Socket IO Model - select、poll、epoll
  5. document.getElementById(...) is null
  6. 省厅报件7.0 读取mdb 生成xml 文件
  7. ios 绘制虚线 CGContextSetLineDash的使用
  8. markdown-Macdown
  9. 使用java来压缩图片
  10. Literals