• Kan Liang's avatar
    perf/x86/intel: Use switch in intel_pmu_disable/enable_event · 58da7dbe
    Kan Liang authored
    Currently, the if-else is used in the intel_pmu_disable/enable_event to
    check the type of an event. It works well, but with more and more types
    added later, e.g., perf metrics, compared to the switch statement, the
    if-else may impair the readability of the code.
    
    There is no harm to use the switch statement to replace the if-else
    here. Also, some optimizing compilers may compile a switch statement
    into a jump-table which is more efficient than if-else for a large
    number of cases. The performance gain may not be observed for now,
    because the number of cases is only 5, but the benefits may be observed
    with more and more types added in the future.
    
    Use switch to replace the if-else in the intel_pmu_disable/enable_event.
    
    If the idx is invalid, print a warning.
    
    For the case INTEL_PMC_IDX_FIXED_BTS in intel_pmu_disable_event, don't
    need to check the event->attr.precise_ip. Use return for the case.
    Signed-off-by: default avatarKan Liang <kan.liang@linux.intel.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/20200723171117.9918-7-kan.liang@linux.intel.com
    58da7dbe
core.c 147 KB