diff options
author | Srikar Dronamraju <[email protected]> | 2021-04-15 17:39:34 +0530 |
---|---|---|
committer | Michael Ellerman <[email protected]> | 2021-04-17 10:40:51 +1000 |
commit | c1e53367dab15e41814cff4e37df8ec4ac8fb9d7 (patch) | |
tree | 490cad3a7a3e381380a82bed254bb9180bc92785 /arch/powerpc/mm/fault.c | |
parent | 131c82b6a1d261705a6f98368e501d43d994018d (diff) |
powerpc/smp: Cache CPU to chip lookup
On systems with large CPUs per node, even with the filtered matching of
related CPUs, there can be large number of calls to cpu_to_chip_id for
the same CPU. For example with 4096 vCPU, 1 node QEMU configuration,
with 4 threads per core, system could be see upto 1024 calls to
cpu_to_chip_id() for the same CPU. On a given system, cpu_to_chip_id()
for a given CPU would always return the same. Hence cache the result in
a lookup table for use in subsequent calls.
Since all CPUs sharing the same core will belong to the same chip, the
lookup_table has an entry for one CPU per core. chip_id_lookup_table is
not being freed and would be used on subsequent CPU online post CPU
offline.
Reported-by: Daniel Henrique Barboza <[email protected]>
Suggested-by: Michael Ellerman <[email protected]>
Signed-off-by: Srikar Dronamraju <[email protected]>
Tested-by: Daniel Henrique Barboza <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'arch/powerpc/mm/fault.c')
0 files changed, 0 insertions, 0 deletions