小编Bao*_*Bui的帖子

用户进程是否可以告诉操作系统将 mmap 完成的映射重新定位到其他 NUMA 节点?

考虑以下场景:在 NUMA 计算机上运行的用户进程调用 mmap 在虚拟地址空间中创建新映射。然后它使用 mmap 返回的内存进行处理(存储其数据,...)。现在由于某些原因,用户进程被调度到不同的NUMA节点。用户进程是否可以告诉操作系统在保留数据的同时重新定位已映射的内存(到不同的 NUMA 节点)?

c memory-management linux-kernel numa

6
推荐指数
1
解决办法
773
查看次数

如果c中的条件很奇怪:if(((void)(d),0)){...}

我阅读了Xen源代码并看到了类似这样的内容:

#define is_domain_direct_mapped(d) ((void)(d), 0)
Run Code Online (Sandbox Code Playgroud)

然后在if语句中使用is_domain_direct_mapped,如下所示(d是指向struct变量的指针):

if( is_domain_direct_mapped(d) ) {...}
Run Code Online (Sandbox Code Playgroud)

因此,在编译器用其定义替换is_domain_direct_mapped之后,我们有类似的东西:

if( ((void)(d), 0) ) {...}
Run Code Online (Sandbox Code Playgroud)

上面的if语句对我来说非常奇怪.这是我第一次看到这种说法.它应该如何工作?

c

4
推荐指数
1
解决办法
93
查看次数

HDFS如何计算可用块?

假设块大小为128MB,则群集具有10GB(因此~80个可用块).假设我创建了10个小文件,它们共同占用磁盘上的128MB(块文件,校验和,复制......)和10个HDFS块.如果我想向HDFS添加另一个小文件,那么HDFS使用什么,使用的块或实际磁盘使用量来计算可用块?

80个块 - 10个块= 70个可用块或(10 GB - 128 MB)/ 128 MB = 79个可用块?

谢谢.

hadoop hdfs

3
推荐指数
1
解决办法
2126
查看次数

标签 统计

c ×2

hadoop ×1

hdfs ×1

linux-kernel ×1

memory-management ×1

numa ×1