• Mark Rutland's avatar
    drivers/perf: arm_pmu: expose a cpumask in sysfs · 48538b58
    Mark Rutland authored
    In systems with heterogeneous CPUs, there are multiple logical CPU PMUs,
    each of which covers a subset of CPUs in the system. In some cases
    userspace needs to know which CPUs a given logical PMU covers, so we'd
    like to expose a cpumask under sysfs, similar to what is done for uncore
    PMUs.
    
    Unfortunately, prior to commit 00e727bb ("perf stat: Balance
    opening and reading events"), perf stat only correctly handled a cpumask
    holding a single CPU, and only when profiling in system-wide mode. In
    other cases, the presence of a cpumask file could cause perf stat to
    behave erratically.
    
    Thus, exposing a cpumask file would break older perf binaries in cases
    where they would otherwise work.
    
    To avoid this issue while still providing userspace with the information
    it needs, this patch exposes a differently-named file (cpus) under
    sysfs. New tools can look for this and operate correctly, while older
    tools will not be adversely affected by its presence.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    48538b58
arm_pmu.c 26.3 KB