免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3448 | 回复: 4
打印 上一主题 下一主题

NUMA DISCONTIG问题 [复制链接]

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-03 22:05 |只看该作者 |倒序浏览
30可用积分
1.
首先想问一下KVA remap是个什么东东?
我猜是kernel virtual address remap
lmem_map与pg_data_t结构所占的page保留在结点的末尾,并与high_memory变量后的线性地址映射。这个就是KVA remap?
还有这个线性地址是紧接在high_memory变量存放的地址后,在VMALLOC_START之前,难道high_memory与VMALLOC_START之间保留的8MB线性地址,就是为这个保留的?

2.
lmem_map是NUMA情况才有,还是UMA+DISCONTIG也有?
UMA+DISCONTIG 是一个node,还是多个node?
貌似 NUMA是分成n个node,DISCONTIG是分成n个bank。。。

3.
physnode_map[0-3] = 0;   
physnode_map[4-7] = 1;   
physnode_map[8- ] = -1;
一个physnode_map元素代表256MB,但是没见的哪里用physnode_map啊,这个是干什么用的?

4.我看的是Linux 2.6.11,其中一个arch/i386/mm/discontig.c文件

这里很多地方使用了for_each_online_node(nid),那么这个是NUMA+DISCONTIG的情况吗?
标准的x86是NUMA的,非标准的(扩展的)x86结构有NUMA变种,比如IMB做的NUMAQ。是不是这时候会用到arch/i386/mm/discontig.c文件,也就是说NUMAQ是NUMA+DISCONTIG的?


5.

  85/*
  86 * FLAT - support for basic PC memory model with discontig enabled, essentially
  87 *        a single node with all available processors in it with a flat
  88 *        memory map.
  89 */
  90int __init get_memcfg_numa_flat(void)
  91{
  92        printk("NUMA - single node, flat memory mode\n");
  93
  94        /* Run the memory configuration and find the top of memory. */
  95        find_max_pfn();
  96        node_start_pfn[0] = 0;
  97        node_end_pfn[0] = max_pfn;
  98
  99        /* Indicate there is one node available. */
100        nodes_clear(node_online_map);
101        node_set_online(0);
102        return 1;
103}

不了解这个comments中FLAT指什么,看样子像是UMA且连续的。为什么又说“support for basic PC memory model with discontig enabled”。

求大牛,指点指点哈!多谢!

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
2 [报告]
发表于 2011-11-04 14:00 |只看该作者
顶起!

论坛徽章:
0
3 [报告]
发表于 2011-11-05 21:37 |只看该作者
你所说的问题,都集中在内存管理模型,Linux内存管理模型共有三种:FLAT, SPARSE, DISTINGS;

kva 是kernel virtual address的缩写,是用来存放pg_data_t和struct page这些zone allocator/buddy system用来管理内存页的数据结构的地方,
地址在低端内存顶端,也就是vmalloc区之前;

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
4 [报告]
发表于 2011-11-06 10:21 |只看该作者
回复 3# wangjianchangdx


    这个几个问题能不能给指点指点,多谢!

论坛徽章:
0
5 [报告]
发表于 2011-11-07 09:53 |只看该作者
回复 4# embeddedlwp


    不好意思,这个方面,我也是研究内存的时候,大致看了下,没有具体研究
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP