diff options
author | Zhen Lei <thunder.leizhen@huawei.com> | 2024-10-07 19:50:03 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-10-15 18:30:31 +0300 |
commit | d8c6cd3a5c8008f5d42c7763a93b43d7f3a40e94 (patch) | |
tree | 88001d190d36eef0225df179ae9d7edd8f6a9d0c /tools/perf/scripts/python/syscall-counts.py | |
parent | 661cc28b523d4616a322c8f82f06ec7880192060 (diff) | |
download | linux-d8c6cd3a5c8008f5d42c7763a93b43d7f3a40e94.tar.xz |
debugobjects: Reduce parallel pool fill attempts
The contention on the global pool_lock can be massive when the global pool
needs to be refilled and many CPUs try to handle this.
Address this by:
- splitting the refill from free list and allocation.
Refill from free list has no constraints vs. the context on RT, so
it can be tried outside of the RT specific preemptible() guard
- Let only one CPU handle the free list
- Let only one CPU do allocations unless the pool level is below
half of the minimum fill level.
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20240911083521.2257-4-thunder.leizhen@huawei.com-
Link: https://lore.kernel.org/all/20241007164913.582118421@linutronix.de
--
lib/debugobjects.c | 84 +++++++++++++++++++++++++++++++++++++----------------
1 file changed, 59 insertions(+), 25 deletions(-)
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts.py')
0 files changed, 0 insertions, 0 deletions