[PATCHSET v5] Add support for TIF_NOTIFY_SIGNAL

Jens Axboe
2020-10-15T13:17:08Z

Hi,

The goal is this patch series is to decouple TWA_SIGNAL based task_work
from real signals and signal delivery. The motivation is speeding up
TWA_SIGNAL based task_work, particularly for threaded setups where
->sighand is shared across threads. See the last patch for numbers.

arch/alpha/kernel/signal.c | 1 -
arch/arc/kernel/signal.c | 2 +-
arch/arm/kernel/signal.c | 1 -
arch/arm64/kernel/signal.c | 1 -
arch/c6x/kernel/signal.c | 4 +--
arch/csky/kernel/signal.c | 1 -
arch/h8300/kernel/signal.c | 4 +--
arch/hexagon/kernel/process.c | 1 -
arch/ia64/kernel/process.c | 2 +-
arch/m68k/kernel/signal.c | 2 +-
arch/microblaze/kernel/signal.c | 2 +-
arch/mips/kernel/signal.c | 1 -
arch/nds32/kernel/signal.c | 4 +--
arch/nios2/kernel/signal.c | 2 +-
arch/openrisc/kernel/signal.c | 1 -
arch/parisc/kernel/signal.c | 4 +--
arch/powerpc/kernel/signal.c | 1 -
arch/riscv/kernel/signal.c | 4 +--
arch/s390/kernel/signal.c | 1 -
arch/sh/kernel/signal_32.c | 4 +--
arch/sparc/kernel/signal_32.c | 4 +--
arch/sparc/kernel/signal_64.c | 4 +--
arch/um/kernel/process.c | 2 +-
arch/x86/include/asm/thread_info.h | 2 ++
arch/x86/kernel/signal.c | 7 +++--
arch/xtensa/kernel/signal.c | 2 +-
include/linux/entry-common.h | 9 +++++--
include/linux/entry-kvm.h | 4 +--
include/linux/sched/signal.h | 20 ++++++++++++---
include/linux/tracehook.h | 31 ++++++++++++++++++++--
kernel/entry/common.c | 7 +++--
kernel/entry/kvm.c | 7 ++---
kernel/events/uprobes.c | 2 +-
kernel/signal.c | 8 +++---
kernel/task_work.c | 41 +++++++++++++++++++++---------
35 files changed, 118 insertions(+), 75 deletions(-)

Changes since v4:
- Change ifdef as per Thomas
- Split x86 change from generic entry code
- Pass in TIF flags for arch_do_signal() to avoid doing multiple bit
tests

--
Jens Axboe