• dpdk rte_memzone_reserve


    [root@localhost dpdk-19.11]# cat   /sys/devices/system/node/node*/hugepages/hugepages-2048kB/nr_hugepages 
    0
    0
    0
    0
    [root@localhost dpdk-19.11]# cat   /sys/devices/system/node/node*/hugepages/hugepages-524288kB/nr_hugepages 
    64
    64
    64
    64
    [root@localhost dpdk-19.11]# 

    Breakpoint 1, main (argc=4, argv=0xfffffffff518) at /data1/dpdk-19.11/demo/memzone/main.c:45
    45                   mz = rte_memzone_reserve("memzone", sizeof(int)*2,
    (gdb) s
    rte_memzone_reserve (name=0xba6358 "memzone", len=8, socket_id=-1, flags=0)
        at /data1/dpdk-19.11/lib/librte_eal/common/eal_common_memzone.c:240
    240             return rte_memzone_reserve_thread_safe(name, len, socket_id,
    (gdb) s
    rte_memzone_reserve_thread_safe (name=0xba6358 "memzone", len=8, socket_id=-1, flags=0, align=128, bound=0)
        at /data1/dpdk-19.11/lib/librte_eal/common/eal_common_memzone.c:192
    192             const struct rte_memzone *mz = NULL;
    (gdb) list
    187     static const struct rte_memzone *
    188     rte_memzone_reserve_thread_safe(const char *name, size_t len, int socket_id,
    189                     unsigned int flags, unsigned int align, unsigned int bound)
    190     {
    191             struct rte_mem_config *mcfg;
    192             const struct rte_memzone *mz = NULL;
    193
    194             /* get pointer to global configuration */
    195             mcfg = rte_eal_get_configuration()->mem_config;
    196
    (gdb) n
    195             mcfg = rte_eal_get_configuration()->mem_config;
    (gdb) p *mcfg
    Cannot access memory at address 0xfffffffff380
    (gdb) n
    197             rte_rwlock_write_lock(&mcfg->mlock);
    (gdb) p *mcfg
    $1 = {magic = 19820526, version = 319488099, nchannel = 0, nrank = 0, mlock = {cnt = 0}, qlock = {cnt = 0}, 
      mplock = {cnt = 0}, tlock = {locked = 0}, memory_hotplug_lock = {cnt = 0}, memzones = {
        name = "memzone", '\000' , count = 143, len = 2560, elt_sz = 72, data = 0x100010000, 
        rwlock = {cnt = 0}}, memsegs = {
     {
     {base_va = 0x120000000, addr_64 = 4831838208}, page_sz = 536870912, 
          socket_id = 0, version = 1, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-0-0", '\000' , count = 1, len = 64, elt_sz = 48, 
            data = 0x100040000, rwlock = {cnt = 0}}}, {
     {base_va = 0x940000000, addr_64 = 39728447488}, 
          page_sz = 536870912, socket_id = 0, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-0-1", '\000' , count = 0, len = 64, elt_sz = 48, 
            data = 0x920000000, rwlock = {cnt = 0}}}, {
     {base_va = 0x1160000000, addr_64 = 74625056768}, 
          page_sz = 536870912, socket_id = 0, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-0-2", '\000' , count = 0, len = 64, elt_sz = 48, 
            data = 0x1140000000, rwlock = {cnt = 0}}}, {
     {base_va = 0x1980000000, addr_64 = 109521666048}, 
          page_sz = 536870912, socket_id = 0, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-0-3", '\000' , count = 0, len = 64, elt_sz = 48, 
            data = 0x1960000000, rwlock = {cnt = 0}}}, {
     {base_va = 0x21a0000000, addr_64 = 144418275328}, 
          page_sz = 536870912, socket_id = 1, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-1-0", '\000' , count = 0, len = 64, elt_sz = 48, 
            data = 0x2180000000, rwlock = {cnt = 0}}}, {
     {base_va = 0x29c0000000, addr_64 = 179314884608}, 
          page_sz = 536870912, socket_id = 1, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-1-1", '\000' , count = 0, len = 64, elt_sz = 48, 
            data = 0x29a0000000, rwlock = {cnt = 0}}}, {
     {base_va = 0x31e0000000, addr_64 = 214211493888}, 
          page_sz = 536870912, socket_id = 1, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-1-2", '\000' , count = 0, len = 64, elt_sz = 48, 
            data = 0x31c0000000, rwlock = {cnt = 0}}}, {
     {base_va = 0x3a00000000, addr_64 = 249108103168}, 
          page_sz = 536870912, socket_id = 1, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-1-3", '\000' , count = 0, len = 64, elt_sz = 48, 
            data = 0x39e0000000, rwlock = {cnt = 0}}}, {
     {base_va = 0x4220000000, addr_64 = 284004712448}, 
          page_sz = 536870912, socket_id = 2, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-2-0", '\000' , count = 0, len = 64, elt_sz = 48, 
            data = 0x4200000000, rwlock = {cnt = 0}}}, {
     {base_va = 0x4a40000000, addr_64 = 318901321728}, 
    ---Type  to continue, or q  to quit---
          page_sz = 536870912, socket_id = 2, version = 0, len = 34359738368, external = 0, heap = 1, memseg_arr = {
            name = "memseg-524288k-2-1", '\000' , count = 0, len =
  • 相关阅读:
    【C/C++】函数调用小议
    基本数据结构与算法实现JavaAPI【2】-----排序篇
    Python学习笔记第四十五天(NumPy 排序、条件刷选函数)
    MySQL数据库管理基本操作
    什么是零日攻击?
    系统移植2:bootloader的选择(u-boot)和移植
    C/C++轻量级并发TCP服务器框架Zinx-游戏服务器开发002:框架学习-按照三层结构模式重构测试代码+Tcp数据适配+时间轮定时器
    d类析构器问题
    【Playwright+Python】手把手带你写一个自动化测试脚本
    Python学习笔记(2)
  • 原文地址:https://blog.csdn.net/lingshengxiyou/article/details/127893162