• Stephane Eranian's avatar
    perf/x86/rapl: Flip logic on default events visibility · 2a3e3f73
    Stephane Eranian authored
    This patch modifies the default visibility of the attribute_group
    for each RAPL event. By default if the grp.is_visible field is NULL,
    sysfs considers that it must display the attribute group.
    If the field is not NULL (callback function), then the return value
    of the callback determines the visibility (0 = not visible). The RAPL
    attribute groups had the field set to NULL, meaning that unless they
    failed the probing from perf_msr_probe(), they would be visible. We want
    to avoid having to specify attribute groups that are not supported by the HW
    in the rapl_msrs[] array, they don't have an MSR address to begin with.
    
    Therefore, we intialize the visible field of all RAPL attribute groups
    to a callback that returns 0. If the RAPL msr goes through probing
    and succeeds the is_visible field will be set back to NULL (visible).
    If the probing fails the field is set to a callback that return 0 (not visible).
    Signed-off-by: default avatarStephane Eranian <eranian@google.com>
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20200527224659.206129-4-eranian@google.com
    2a3e3f73
rapl.c 21.7 KB