DPDK多进程支持asan检测

本文讨论了在DPDK单进程中支持asan检测时遇到的内存无法映射问题,提出在eal_get_virtual_area和rte_eal_config_reattach中增加MAP_FIXED参数以确保内存地址准确映射。通过修改代码并使用mmap函数解决内存配置问题。
摘要由CSDN通过智能技术生成

DPDK 单进程时支持asan检测,但是多进程时,会出现内存地无法映射,内存地址映射不准确等问题,需调整dpdk代码,完成mmap映射:

eal_get_virtual_area:增加判断 若 传入地址不为空,则增加MAP_FIXED 参数:

                if(requested_addr!=NULL)
                {
                 reserve_flags|=EAL_RESERVE_FORCE_ADDRESS;
                }
        rte_eal_config_reattach 同样增加MAP_FIXED 参数:

        mem_config = (struct rte_mem_config *) mmap(rte_mem_cfg_addr,
                        sizeof(*mem_config), PROT_READ | PROT_WRITE, MAP_SHARED|MAP_FIXED,
                        mem_cfg_fd, 0);
 

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值