dpdk-hugepage源码分析
来源:互联网 发布:java身份证校验 编辑:程序博客网 时间:2024/06/07 14:47
hugepage的作用:
1. 就是减少页的切换,页表项减少,产生缺页中断的次数也减少
2. 降低TLB的miss次数
static uint64_tget_default_hp_size(void){ const char proc_meminfo[] = "/proc/meminfo"; const char str_hugepagesz[] = "Hugepagesize:"; unsigned hugepagesz_len = sizeof(str_hugepagesz) - 1; char buffer[256]; unsigned long long size = 0; FILE *fd = fopen(proc_meminfo, "r"); if (fd == NULL) rte_panic("Cannot open %s\n", proc_meminfo); while(fgets(buffer, sizeof(buffer), fd)){ if (strncmp(buffer, str_hugepagesz, hugepagesz_len) == 0){ size = rte_str_to_size(&buffer[hugepagesz_len]); break; } } fclose(fd); if (size == 0) rte_panic("Cannot get default hugepage size from %s\n", proc_meminfo); return size;}
proc文件系统中存储的是当前系统的运行状态,包括硬件的状态信息。
上面的代码非常简单,就是读取/proc/meminfo,提取Hugepagesize的大小。相当于下面的shell:
#cat /proc/meminfo | grep Hugepagesize | awk -F: '{print $2}'
rte_str_to_size
该函数主要实现string to size transform
测试代码均在github
0 0
- dpdk-hugepage源码分析
- dpdk hugepage
- dpdk源码分析 rte_eal_cpu_init()函数
- dpdk源码分析--端口初始化
- 思科VPP源码分析(dpdk node分析)
- hugepage
- dpdk helloworld代码分析
- DPDK代码内存分析
- dpdk helloworld代码分析
- dpdk 代码分析一
- DPDK分析--深入浅出
- DPDK-helloworld实例分析
- dpdk l2fwd 应用流程分析
- dpdk kni例子程序分析
- dpdk 代码分析 : 内存初始化
- Intel DPDK介绍及分析
- DPDK
- DPDK
- ubuntu vagrant 镜像下载地址
- repo的简单介绍
- map复合key值,如何重载操作符?
- 北大 C++ 4.5 流插入和流输出运算符重载
- ActiveMQ初实践之【一】——入门实例
- dpdk-hugepage源码分析
- PHP防止SQL注入方法
- 深度学习检测方法梳理
- Spring aop事务异常回滚(rollbackFor)机制和源码分析
- HDU3338Kakuro Extension(最大流+边的流量)
- Ubuntu14.04+CUDA8.0+GTX1080+caffe配置教程
- POJ 3096 Surprising Strings 可能会
- LeetCode:9.Palindrome Number[Easy]
- IOS之UITabBarViewController用法