diff options
| author | Mateusz Guzik <[email protected]> | 2025-03-03 13:49:08 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2025-03-17 19:16:59 +0000 |
| commit | 8a56f26607418ab517476de4a27e38be51f6fbca (patch) | |
| tree | ca89376e85b3ce92c77921122c940eeae7eb1e36 /lib/dynamic_debug.c | |
| parent | scripts/gdb/linux/symbols.py: address changes to module_sect_attrs (diff) | |
| download | kernel-8a56f26607418ab517476de4a27e38be51f6fbca.tar.gz kernel-8a56f26607418ab517476de4a27e38be51f6fbca.zip | |
signal: avoid clearing TIF_SIGPENDING in recalc_sigpending() if unset
Clearing is an atomic op and the flag is not set most of the time.
When creating and destroying threads in the same process with the pthread
family, the primary bottleneck is calls to sigprocmask which take the
process-wide sighand lock.
Avoiding the atomic gives me a 2% bump in start/teardown rate at 24-core
scale.
[[email protected]: add unlikely() as well]
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Mateusz Guzik <[email protected]>
Acked-by: Oleg Nesterov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'lib/dynamic_debug.c')
0 files changed, 0 insertions, 0 deletions
