发新话题
打印

请问 CONFIG_DISCONTIGMEM 与 CONFIG_NUMA 有甚么关系?

请问 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 好像不能同时打开吗?
1,一旦 CONFIG_NUMA 打开, 则CONFIG_DISCONTIGMEM 必然会自动打开.但是CONFIG_DISCONTIGMEM=>mostly CONFIG_NUMA(来自Linux注释)。
2,虽说pg_data_t node_data[MAX_NUMNODES]; 在 numa.c 和 discontig.c 都存在,但是仔细看,在同一个体系结构下,并没有同时存在的情况。
发新话题