Skip to content
  • Stephane Eranian's avatar
    perf_events: Add event constraints support for Intel processors · b690081d
    Stephane Eranian authored
    
    
    On some Intel processors, not all events can be measured in all
    counters. Some events can only be measured in one particular
    counter, for instance. Assigning an event to the wrong counter does
    not crash the machine but this yields bogus counts, i.e., silent
    error.
    
    This patch changes the event to counter assignment logic to take
    into account event constraints for Intel P6, Core and Nehalem
    processors. There is no contraints on Intel Atom. There are
    constraints on Intel Yonah (Core Duo) but they are not provided in
    this patch given that this processor is not yet supported by
    perf_events.
    
    As a result of the constraints, it is possible for some event
    groups to never actually be loaded onto the PMU if they contain two
    events which can only be measured on a single counter. That
    situation can be detected with the scaling information extracted
    with read().
    
    Signed-off-by: default avatarStephane Eranian <eranian@gmail.com>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1254840129-6198-3-git-send-email-eranian@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    b690081d