summaryrefslogtreecommitdiffstats
path: root/tools/include
diff options
context:
space:
mode:
authorKan Liang2019-01-27 15:53:14 +0100
committerIngo Molnar2019-02-04 08:44:43 +0100
commit9e63a7894fd302082cf3627fe90844421a6cbe7f (patch)
treea1b1ba4f4a4173738cdb2bfd6f8525a781b32fce /tools/include
parentLinux 5.0-rc5 (diff)
downloadkernel-qcow2-linux-9e63a7894fd302082cf3627fe90844421a6cbe7f.tar.gz
kernel-qcow2-linux-9e63a7894fd302082cf3627fe90844421a6cbe7f.tar.xz
kernel-qcow2-linux-9e63a7894fd302082cf3627fe90844421a6cbe7f.zip
perf/x86/intel/uncore: Add Node ID mask
Some PCI uncore PMUs cannot be registered on an 8-socket system (HPE Superdome Flex). To understand which Socket the PCI uncore PMUs belongs to, perf retrieves the local Node ID of the uncore device from CPUNODEID(0xC0) of the PCI configuration space, and the mapping between Socket ID and Node ID from GIDNIDMAP(0xD4). The Socket ID can be calculated accordingly. The local Node ID is only available at bit 2:0, but current code doesn't mask it. If a BIOS doesn't clear the rest of the bits, an incorrect Node ID will be fetched. Filter the Node ID by adding a mask. Reported-by: Song Liu <songliubraving@fb.com> Tested-by: Song Liu <songliubraving@fb.com> Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> 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: <stable@vger.kernel.org> # v3.7+ Fixes: 7c94ee2e0917 ("perf/x86: Add Intel Nehalem and Sandy Bridge-EP uncore support") Link: https://lkml.kernel.org/r/1548600794-33162-1-git-send-email-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/include')
0 files changed, 0 insertions, 0 deletions