summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/iommu.c
diff options
context:
space:
mode:
authorAnju T <anju@linux.vnet.ibm.com>2017-08-14 13:42:23 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2017-08-15 12:27:28 +0200
commit7efbae90892b7858f1d4873d34ffffbeb460ed8b (patch)
tree17a8f2d85893651afbd631deda60a2bda290a89d /arch/powerpc/kernel/iommu.c
parentpowerpc/mm/nohash: Move definition of PGALLOC_GFP to fix build errors (diff)
downloadlinux-7efbae90892b7858f1d4873d34ffffbeb460ed8b.tar.xz
linux-7efbae90892b7858f1d4873d34ffffbeb460ed8b.zip
powerpc/perf/imc: Fix nest events on muti socket system
In a multi node system with discontiguous node ids, nest event values are not showing up properly. eg. lscpu output: NUMA node0 CPU(s): 0-15 NUMA node8 CPU(s): 16-31 Nest event values on such systems can be counted on CPUs <= 15: $./perf stat -e 'nest_powerbus0_imc/PM_PB_CYC/' -C 0-14 -I 1000 sleep 1000 # time counts unit events 1.000294577 30,17,24,42,880 nest_powerbus0_imc/PM_PB_CYC/ But not on CPUs >= 16: $./perf stat -e 'nest_powerbus0_imc/PM_PB_CYC/' -C 16-28 -I 1000 sleep 1000 # time counts unit events 1.000049902 <not supported> nest_powerbus0_imc/PM_PB_CYC/ This is because, when fetching the reference count, the node id (which may be sparse) is used as the array index, not the node number (which is 0 based and contiguous). Fix it by using the node number as the array index. $./perf stat -e 'nest_powerbus0_imc/PM_PB_CYC/' -C 16-28 -I 1000 sleep 1000 # time counts unit events 1.000241961 26,12,35,28,704 nest_powerbus0_imc/PM_PB_CYC/ Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com> [mpe: Change log tweaks for clarity and brevity] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/iommu.c')
0 files changed, 0 insertions, 0 deletions