powerpc/perf: Fix IMC allocation routine
authorGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Thu, 19 Oct 2017 19:41:33 +0000 (17:41 -0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 25 Oct 2017 10:41:13 +0000 (12:41 +0200)
commit0b167f11085a34281349f395d200052b61a7e221
tree323931d5300107fae8ed66a354f3051b6b0b3131
parent0d8ba16278ec30a262d931875018abee332f926f
powerpc/perf: Fix IMC allocation routine

When setting nr_cpus=1, we observed a crash in IMC code during boot
due to a missing allocation: basically, IMC code is taking the number
of threads into account in imc_mem_init() and if we manually set
nr_cpus for a value that is not multiple of the number of threads per
core, an integer division in that function will discard the decimal
portion, leading IMC to not allocate one mem_info struct. This causes
a NULL pointer dereference later, on is_core_imc_mem_inited().

This patch just rounds that division up, fixing the bug.

Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Acked-by: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/perf/imc-pmu.c