I have compiled perf
for my kernel (3.11.10). During the compilation, some libraries were missing, so I have installed those.
But now when I run perf
, I get following message:
Couldn't record kernel reference relocation symbolSymbol resolution may be skewed if relocation was used (e.g. kexec).Check /proc/kallsyms permission or run as root.Kernel address maps (/proc/{kallsyms,modules}) were restricted.Check /proc/sys/kernel/kptr_restrict before running 'perf record'If some relocation was applied (e.g. kexec) symbols may be misresolved.Samples in kernel modules can't be resolved as well.
Since I am using custom build kernel, the most obvious explanation to me is, that some option is missing from my kernel. If so, how can I find out what is missing?
I am not sure what exactly perf
is complaining about. How can I fix this?
EDIT:
/proc/kallsyms
does not exist and /proc/sys/kernel/kptr_restrict
contains 0
:
$ cat /proc/sys/kernel/kptr_restrict0
I have compiled the kernel myself, and it is possible that it is missing some option. What is this /proc/kallsyms
? How can I enable it in my kernel?