尝试启动时perf ftrace
出现以下错误
write '' to tracing/tracing_cpumask failed: Invalid argument
failed to reset ftrace
但是,我的内核配置了启用 ftrace 并且trace-cmd
ftrace 前端也可以正常工作。
出于某种原因,我得到了函数中的perf/builtin-ftrace.c
文件write_tracing_file
static int __write_tracing_file(const char *name, const char *val, bool append)
{
char *file;
int fd, ret = -1;
ssize_t size = strlen(val);
我得到val
== 一个空字符串,因此size
== 0
然后在下一节
if (write(fd, val_copy, size + 1) == size + 1)
ret = 0;
else
pr_debug("write '%s' to tracing/%s failed: %s\n",
val, name, str_error_r(errno, errbuf, sizeof(errbuf)));
我得到了size = 0
,这不好。所以 CPU 掩码部分出了点问题,但我不知道是什么。
编辑:看起来它在多核系统上的工作没有问题,但在单核系统中却没有。奇怪的...