• Kan Liang's avatar
    perf/x86/intel/uncore: Support IIO free-running counters on SKX · 0f519f03
    Kan Liang authored
    As of Skylake Server, there are a number of free running counters in
    each IIO Box that collect counts of per-box IO clocks and per-port
    Input/Output x BW/Utilization.
    
    The free running counters cannot be part of the existing IIO BOX,
    because, quoting from Peter Zijlstra:
    
      "This will result in some (probably) unexpected scheduling artifacts.
       Probably the only way to really cure that is to have the free running
       counters in their own PMU and not share with the GP counters of this
       box."
    
    So let's add a new PMU for the free running counters, as suggested.
    
    The free-running counter is read-only and always active. Counting will
    be suspended only when the IIO Box is powered down.
    
    There are three types of IIO free-running counters on Skylake server, IO
    CLOCKS counter, BANDWIDTH counters and UTILIZATION counters.
    IO CLOCKS counter is a clock of IIO box.
    BANDWIDTH counters are to count inbound(PCIe->CPU)/outbound(CPU->PCIe)
    bandwidth.
    UTILIZATION counters are to count input/output utilization.
    
    The bit width of the free-running counters is 36-bits.
    Suggested-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: acme@kernel.org
    Cc: eranian@google.com
    Link: http://lkml.kernel.org/r/1525371913-10597-6-git-send-email-kan.liang@intel.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    0f519f03
uncore_snbep.c 121 KB