-1
DPDK에서 모든 mempool, mbuf 디버그를 활성화하는 방법에 대한 단서가 있습니까? DPDK 2.2.0을 사용하고 있습니다.이 버전에서는 별 도움이되지 않는 answers을 발견했습니다.dpdk 로그 수준이 높은 mbuf 및 mempool 메시지
DPDK에서 모든 mempool, mbuf 디버그를 활성화하는 방법에 대한 단서가 있습니까? DPDK 2.2.0을 사용하고 있습니다.이 버전에서는 별 도움이되지 않는 answers을 발견했습니다.dpdk 로그 수준이 높은 mbuf 및 mempool 메시지
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
는 모든 낮은 수준의 디버그 정보가 로그 파일 될 수있다, 당신은 또한 당신이 좋아하는 경우 콘솔에 인쇄로이 매크로를 다시 정의 할 수 있습니다.
DPK에서 로그도 rte_logs.type으로 제어됩니다. 값을 확인해야하며 각 모듈은 약간입니다. rte_log.h RTE_LOGTYPE_XXX를 참조하십시오.
위에서 작동하지 않을 경우
는 eal_common_log.c에서 다음#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)
이
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 다시 그냥 출력 파일 이름과 위에서 언급 한 전역 변수를 확인하십시오.
안녕하세요, Kevin, "build/include/rte_config.h"뿐 아니라 내 앱 ($ SDK/examples/kni/Makefile)의 Makefile도 변경하려고했지만 출력 로그의 변경 사항을 찾지 못했습니다. –
@SakthivelThandabani 답변을 변경 했으므로 로그가 작동하는지 확인한 다음 조정하십시오. –
기본적으로 높은 로그 수준 (8)은 예제 앱에서 사용하도록 설정되어 있습니다. 따라서 목적을 확인하기 위해 코드를 1로 다운 그레이드합니다. 하지만 여전히 모든 로그를 얻고 있습니다. 난 단지 어디에 내가 오류 조건 로그를 얻을 수 있도록 LOG_LEVEL_ERR에 대한 변경을 해야할지 알고 싶다 .. 실제로 나는 내 애플 리케이션을 실행하는 동안 일부 mbuf 할당이 실패 의심, 난 그 사람에 대한 로그를 인쇄합니다. –