• Taku Izumi's avatar
    perf/x86/intel/uncore: Fix multi-segment problem of perf_event_intel_uncore · 712df65c
    Taku Izumi authored
    In multi-segment system, uncore devices may belong to buses whose segment
    number is other than 0:
    
      ....
      0000:ff:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03)
      ...
      0001:7f:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03)
      ...
      0001:bf:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03)
      ...
      0001:ff:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03
      ...
    
    In that case, relation of bus number and physical id may be broken
    because "uncore_pcibus_to_physid" doesn't take account of PCI segment.
    For example, bus 0000:ff and 0001:ff uses the same entry of
    "uncore_pcibus_to_physid" array.
    
    This patch fixes this problem by introducing the segment-aware pci2phy_map instead.
    Signed-off-by: default avatarTaku Izumi <izumi.taku@jp.fujitsu.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: acme@kernel.org
    Cc: hpa@zytor.com
    Link: http://lkml.kernel.org/r/1443096621-4119-1-git-send-email-izumi.taku@jp.fujitsu.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    712df65c
perf_event_intel_uncore.h 9.77 KB