diff options
author | Mateusz Guzik <mjguzik@gmail.com> | 2023-08-23 07:06:08 +0200 |
---|---|---|
committer | Dennis Zhou <dennis@kernel.org> | 2023-08-25 17:06:53 +0200 |
commit | c439d5e8a0deb7310b5bb4e5f2fe47c40ff5297f (patch) | |
tree | ec3fa53c5487f15036a02f6eb29d70896302baa5 /kernel/fork.c | |
parent | mm/percpu.c: print error message too if atomic alloc failed (diff) | |
download | linux-c439d5e8a0deb7310b5bb4e5f2fe47c40ff5297f.tar.xz linux-c439d5e8a0deb7310b5bb4e5f2fe47c40ff5297f.zip |
pcpcntr: add group allocation/free
Allocations and frees are globally serialized on the pcpu lock (and the
CPU hotplug lock if enabled, which is the case on Debian).
At least one frequent consumer allocates 4 back-to-back counters (and
frees them in the same manner), exacerbating the problem.
While this does not fully remedy scalability issues, it is a step
towards that goal and provides immediate relief.
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Reviewed-by: Dennis Zhou <dennis@kernel.org>
Reviewed-by: Vegard Nossum <vegard.nossum@oracle.com>
Link: https://lore.kernel.org/r/20230823050609.2228718-2-mjguzik@gmail.com
[Dennis: reflowed a few lines]
Signed-off-by: Dennis Zhou <dennis@kernel.org>
Diffstat (limited to 'kernel/fork.c')
0 files changed, 0 insertions, 0 deletions