尝试启动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遮罩部分出了点问题,但是我不知道是什么。
编辑:看起来它可以在多核系统上正常工作,但不能在单核系统上工作。奇怪...
答案 0 :(得分:0)
我以某种方式解决了这个问题。安装了from collections import defaultdict
res = defaultdict(list)
for x, y, z in array:
res[(y,z)].append(x)
的所有依赖项,包括print(list(res.values()))
#=> [[0, 7], [1, 2], [3], [4, 6], [5, 8]]
等。现在可以使用了。
答案 1 :(得分:0)
因为perf版本与当前内核不匹配。
如果您按yum安装perf。它将安装最新的verison性能。您需要从网上下载匹配的性能并进行安装。