[PATCH 0/1] pgo: Fix allocate_node() handling of non-vmlinux nodes

Jarmo Tiitto
2021-06-02T01:02:19Z

Currently allocate_node() will reserve nodes even if *p
doesn't point into __llvm_prf_data_start - __llvm_prf_data_end
range.

This is wrong:

Any instrumented modules that are not part of vmlinux
(built-in) will "steal" available nodes away from vmlinux.
This can result in exhaustion of nodes for vmlinux
and less accurate profile data.

Either way, any profiling data generated by loaded modules,
if any, is unusable from vmlinux.profraw.
So just filtter them out.

Jarmo Tiitto (1):
pgo: Fix allocate_node() handling of non-vmlinux nodes.

kernel/pgo/instrument.c | 4 ++++
1 file changed, 4 insertions(+)

--
2.31.1