sched: Change task_struct::state
Change the type and name of task_struct::state. Drop the volatile and shrink it to an 'unsigned int'. Rename it in order to find all uses such that we can use READ_ONCE/WRITE_ONCE as appropriate. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Daniel Bristot de Oliveira <bristot@redhat.com> Acked-by: Will Deacon <will@kernel.org> Acked-by: Daniel Thompson <daniel.thompson@linaro.org> Link: https://lore.kernel.org/r/20210611082838.550736351@infradead.org
This commit is contained in:
@@ -3162,6 +3162,7 @@ memzcan(void)
|
||||
|
||||
static void show_task(struct task_struct *tsk)
|
||||
{
|
||||
unsigned int p_state = READ_ONCE(tsk->__state);
|
||||
char state;
|
||||
|
||||
/*
|
||||
@@ -3169,14 +3170,14 @@ static void show_task(struct task_struct *tsk)
|
||||
* appropriate for calling from xmon. This could be moved
|
||||
* to a common, generic, routine used by both.
|
||||
*/
|
||||
state = (tsk->state == 0) ? 'R' :
|
||||
(tsk->state < 0) ? 'U' :
|
||||
(tsk->state & TASK_UNINTERRUPTIBLE) ? 'D' :
|
||||
(tsk->state & TASK_STOPPED) ? 'T' :
|
||||
(tsk->state & TASK_TRACED) ? 'C' :
|
||||
state = (p_state == 0) ? 'R' :
|
||||
(p_state < 0) ? 'U' :
|
||||
(p_state & TASK_UNINTERRUPTIBLE) ? 'D' :
|
||||
(p_state & TASK_STOPPED) ? 'T' :
|
||||
(p_state & TASK_TRACED) ? 'C' :
|
||||
(tsk->exit_state & EXIT_ZOMBIE) ? 'Z' :
|
||||
(tsk->exit_state & EXIT_DEAD) ? 'E' :
|
||||
(tsk->state & TASK_INTERRUPTIBLE) ? 'S' : '?';
|
||||
(p_state & TASK_INTERRUPTIBLE) ? 'S' : '?';
|
||||
|
||||
printf("%16px %16lx %16px %6d %6d %c %2d %s\n", tsk,
|
||||
tsk->thread.ksp, tsk->thread.regs,
|
||||
|
||||
Reference in New Issue
Block a user