Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

signal: kill JOBCTL_TASK_WORK

It's no longer used, get rid of it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>

+1 -23
+1 -3
include/linux/sched/jobctl.h
··· 19 19 #define JOBCTL_TRAPPING_BIT 21 /* switching to TRACED */ 20 20 #define JOBCTL_LISTENING_BIT 22 /* ptracer is listening for events */ 21 21 #define JOBCTL_TRAP_FREEZE_BIT 23 /* trap for cgroup freezer */ 22 - #define JOBCTL_TASK_WORK_BIT 24 /* set by TWA_SIGNAL */ 23 22 24 23 #define JOBCTL_STOP_DEQUEUED (1UL << JOBCTL_STOP_DEQUEUED_BIT) 25 24 #define JOBCTL_STOP_PENDING (1UL << JOBCTL_STOP_PENDING_BIT) ··· 28 29 #define JOBCTL_TRAPPING (1UL << JOBCTL_TRAPPING_BIT) 29 30 #define JOBCTL_LISTENING (1UL << JOBCTL_LISTENING_BIT) 30 31 #define JOBCTL_TRAP_FREEZE (1UL << JOBCTL_TRAP_FREEZE_BIT) 31 - #define JOBCTL_TASK_WORK (1UL << JOBCTL_TASK_WORK_BIT) 32 32 33 33 #define JOBCTL_TRAP_MASK (JOBCTL_TRAP_STOP | JOBCTL_TRAP_NOTIFY) 34 - #define JOBCTL_PENDING_MASK (JOBCTL_STOP_PENDING | JOBCTL_TRAP_MASK | JOBCTL_TASK_WORK) 34 + #define JOBCTL_PENDING_MASK (JOBCTL_STOP_PENDING | JOBCTL_TRAP_MASK) 35 35 36 36 extern bool task_set_jobctl_pending(struct task_struct *task, unsigned long mask); 37 37 extern void task_clear_jobctl_trapping(struct task_struct *task);
-20
kernel/signal.c
··· 2556 2556 2557 2557 relock: 2558 2558 spin_lock_irq(&sighand->siglock); 2559 - /* 2560 - * Make sure we can safely read ->jobctl() in task_work add. As Oleg 2561 - * states: 2562 - * 2563 - * It pairs with mb (implied by cmpxchg) before READ_ONCE. So we 2564 - * roughly have 2565 - * 2566 - * task_work_add: get_signal: 2567 - * STORE(task->task_works, new_work); STORE(task->jobctl); 2568 - * mb(); mb(); 2569 - * LOAD(task->jobctl); LOAD(task->task_works); 2570 - * 2571 - * and we can rely on STORE-MB-LOAD [ in task_work_add]. 2572 - */ 2573 - smp_store_mb(current->jobctl, current->jobctl & ~JOBCTL_TASK_WORK); 2574 - if (unlikely(current->task_works)) { 2575 - spin_unlock_irq(&sighand->siglock); 2576 - task_work_run(); 2577 - goto relock; 2578 - } 2579 2559 2580 2560 /* 2581 2561 * Every stopped thread goes here after wakeup. Check to see if