请问 CONFIG_DISCONTIGMEM 与 CONFIG_NUMA 有甚么关系?
看2.6.15, 有几个相关疑问, 我一起讲了吧, 如下:
1. CONFIG_DISCONTIGMEM 与 CONFIG_NUMA 有甚么关系?
是不是一旦 CONFIG_NUMA 打开, 则CONFIG_DISCONTIGMEM 必然会自动打开?
但是 CONFIG_DISCONTIGMEM 打开, CONFIG_NUMA 未必打开?
我的理解:
因为 CONFIG_NUMA 打开,表明有多个CPU模块(情景分析上说的), 每个模块一个内存区.那么本身内存就是不连续的了. 因此 CONFIG_DISCONTIGMEM 会自动打开. 但是如果UMA 的系统, 也许也会有内存不连续, 存在空洞, 因此可以 CONFIG_DISCONTIGMEM 打开, 但是只有一个CPU, 因此还是 UMA系统, 所以 CONFIG_NUMA 不会自动打开.
请问我的理解是否正确?
2. pg_data_t node_data[MAX_NUMNODES]; 在 numa.c 和 discontig.c 都存在, 最后是取那个文件中的? 从这个上面来看, 难道意味着 CONFIG_NUMA 和 CONFIG_DISCONTIGMEM 好像不能同时打开吗?