On 04.05.18 12:03:12, Matt Redfearn wrote:
As said, oprofile version 0.9.x is still available for cpus that do
not support perf. What is the breakage?
The breakage I originally set out to fix was the MT support in perf.
https://www.linux-mips.org/archives/linux-mips/2018-04/msg00259.html
Since the perf code shares so much copied code from oprofile, those same
issues exist in oprofile and ought to be addressed. But as newer oprofile
userspace does not use the (MIPS) kernel oprofile code, then we could,
perhaps, just remove it (as per the RFC). That would break legacy tools
(0.9.x) though...
Those support perf:
(CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3)
Here is the total list of CPU_*:
$ git grep -h config.CPU_ arch/mips/ | sort -u | wc -l
79
The comparisation might not be accurate, but at least gives a hint
that there are many cpus not supporting perf. You would drop profiling
support at al to them.
If it is too hard to also fix the oprofile code (code duplication
seems the main issue here), then it would be also ok to blacklist
newer cpus to enable oprofile kernel code (where it is broken).
-Robert