mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	signal: kill JOBCTL_TASK_WORK
It's no longer used, get rid of it. Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
		
							parent
							
								
									792ee0f6db
								
							
						
					
					
						commit
						98b89b649f
					
				
					 2 changed files with 1 additions and 23 deletions
				
			
		| 
						 | 
					@ -19,7 +19,6 @@ struct task_struct;
 | 
				
			||||||
#define JOBCTL_TRAPPING_BIT	21	/* switching to TRACED */
 | 
					#define JOBCTL_TRAPPING_BIT	21	/* switching to TRACED */
 | 
				
			||||||
#define JOBCTL_LISTENING_BIT	22	/* ptracer is listening for events */
 | 
					#define JOBCTL_LISTENING_BIT	22	/* ptracer is listening for events */
 | 
				
			||||||
#define JOBCTL_TRAP_FREEZE_BIT	23	/* trap for cgroup freezer */
 | 
					#define JOBCTL_TRAP_FREEZE_BIT	23	/* trap for cgroup freezer */
 | 
				
			||||||
#define JOBCTL_TASK_WORK_BIT	24	/* set by TWA_SIGNAL */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define JOBCTL_STOP_DEQUEUED	(1UL << JOBCTL_STOP_DEQUEUED_BIT)
 | 
					#define JOBCTL_STOP_DEQUEUED	(1UL << JOBCTL_STOP_DEQUEUED_BIT)
 | 
				
			||||||
#define JOBCTL_STOP_PENDING	(1UL << JOBCTL_STOP_PENDING_BIT)
 | 
					#define JOBCTL_STOP_PENDING	(1UL << JOBCTL_STOP_PENDING_BIT)
 | 
				
			||||||
| 
						 | 
					@ -29,10 +28,9 @@ struct task_struct;
 | 
				
			||||||
#define JOBCTL_TRAPPING		(1UL << JOBCTL_TRAPPING_BIT)
 | 
					#define JOBCTL_TRAPPING		(1UL << JOBCTL_TRAPPING_BIT)
 | 
				
			||||||
#define JOBCTL_LISTENING	(1UL << JOBCTL_LISTENING_BIT)
 | 
					#define JOBCTL_LISTENING	(1UL << JOBCTL_LISTENING_BIT)
 | 
				
			||||||
#define JOBCTL_TRAP_FREEZE	(1UL << JOBCTL_TRAP_FREEZE_BIT)
 | 
					#define JOBCTL_TRAP_FREEZE	(1UL << JOBCTL_TRAP_FREEZE_BIT)
 | 
				
			||||||
#define JOBCTL_TASK_WORK	(1UL << JOBCTL_TASK_WORK_BIT)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define JOBCTL_TRAP_MASK	(JOBCTL_TRAP_STOP | JOBCTL_TRAP_NOTIFY)
 | 
					#define JOBCTL_TRAP_MASK	(JOBCTL_TRAP_STOP | JOBCTL_TRAP_NOTIFY)
 | 
				
			||||||
#define JOBCTL_PENDING_MASK	(JOBCTL_STOP_PENDING | JOBCTL_TRAP_MASK | JOBCTL_TASK_WORK)
 | 
					#define JOBCTL_PENDING_MASK	(JOBCTL_STOP_PENDING | JOBCTL_TRAP_MASK)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern bool task_set_jobctl_pending(struct task_struct *task, unsigned long mask);
 | 
					extern bool task_set_jobctl_pending(struct task_struct *task, unsigned long mask);
 | 
				
			||||||
extern void task_clear_jobctl_trapping(struct task_struct *task);
 | 
					extern void task_clear_jobctl_trapping(struct task_struct *task);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2556,26 +2556,6 @@ bool get_signal(struct ksignal *ksig)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
relock:
 | 
					relock:
 | 
				
			||||||
	spin_lock_irq(&sighand->siglock);
 | 
						spin_lock_irq(&sighand->siglock);
 | 
				
			||||||
	/*
 | 
					 | 
				
			||||||
	 * Make sure we can safely read ->jobctl() in task_work add. As Oleg
 | 
					 | 
				
			||||||
	 * states:
 | 
					 | 
				
			||||||
	 *
 | 
					 | 
				
			||||||
	 * It pairs with mb (implied by cmpxchg) before READ_ONCE. So we
 | 
					 | 
				
			||||||
	 * roughly have
 | 
					 | 
				
			||||||
	 *
 | 
					 | 
				
			||||||
	 *	task_work_add:				get_signal:
 | 
					 | 
				
			||||||
	 *	STORE(task->task_works, new_work);	STORE(task->jobctl);
 | 
					 | 
				
			||||||
	 *	mb();					mb();
 | 
					 | 
				
			||||||
	 *	LOAD(task->jobctl);			LOAD(task->task_works);
 | 
					 | 
				
			||||||
	 *
 | 
					 | 
				
			||||||
	 * and we can rely on STORE-MB-LOAD [ in task_work_add].
 | 
					 | 
				
			||||||
	 */
 | 
					 | 
				
			||||||
	smp_store_mb(current->jobctl, current->jobctl & ~JOBCTL_TASK_WORK);
 | 
					 | 
				
			||||||
	if (unlikely(current->task_works)) {
 | 
					 | 
				
			||||||
		spin_unlock_irq(&sighand->siglock);
 | 
					 | 
				
			||||||
		task_work_run();
 | 
					 | 
				
			||||||
		goto relock;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * Every stopped thread goes here after wakeup. Check to see if
 | 
						 * Every stopped thread goes here after wakeup. Check to see if
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue