有什么线索,如何在DPDK中启用所有mempool,mbuf调试。我正在使用DPDK 2.2.0。,我发现了一些answers对这个版本没什么帮助。
答案 0 :(得分:1)
您可以检查DPDK源代码rte_log.h,以检查RTE_LOG的定义。
你可以
1) define RTE_LOG_LEVEL in Makefile, or
2) define RTE_LOG_LEVEL in rte_log.h before RTE_LOG, e.g.
#define RTE_LOG_LEVEL 8
然后所有低级调试信息都将是日志文件,如果您愿意,也可以将此宏重新定义为打印到控制台。
在DPDK中,日志也由 rte_logs.type 控制,需要检查值,每个模块都有点,请参阅rte_log.h RTE_LOGTYPE_XXX。如果以上操作无效,请尝试以下
#define RTE_LOG_LEVEL 8
#define RTE_LOG(l, t, ...) \
(void)((RTE_LOG_ ## l <= RTE_LOG_LEVEL) ? \
rte_log(RTE_LOG_ ## l, \
RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__) : \
0)
在eal_common_log.c
中int rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap)
{
ret = printf(format, ap);
return ret;
}
重新编译整个DPDK并检查是否有日志产生。如果这项工作,然后返回chnage rte_vlog ,只需检查上面提到的输出文件名和全局变量。