mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
sched: Introduce task_is_running()
Replace a bunch of 'p->state == TASK_RUNNING' with a new helper: task_is_running(p). Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Davidlohr Bueso <dave@stgolabs.net> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Will Deacon <will@kernel.org> Link: https://lore.kernel.org/r/20210611082838.222401495@infradead.org
This commit is contained in:
@@ -380,7 +380,7 @@ get_wchan(struct task_struct *p)
|
||||
{
|
||||
unsigned long schedule_frame;
|
||||
unsigned long pc;
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
/*
|
||||
* This one depends on the frame size of schedule(). Do a
|
||||
|
||||
@@ -83,7 +83,7 @@ seed_unwind_frame_info(struct task_struct *tsk, struct pt_regs *regs,
|
||||
* is safe-kept and BLINK at a well known location in there
|
||||
*/
|
||||
|
||||
if (tsk->state == TASK_RUNNING)
|
||||
if (task_is_running(tsk))
|
||||
return -1;
|
||||
|
||||
frame_info->task = tsk;
|
||||
|
||||
@@ -288,7 +288,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
struct stackframe frame;
|
||||
unsigned long stack_page;
|
||||
int count = 0;
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
frame.fp = thread_saved_fp(p);
|
||||
|
||||
@@ -598,7 +598,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
struct stackframe frame;
|
||||
unsigned long stack_page, ret = 0;
|
||||
int count = 0;
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
stack_page = (unsigned long)try_get_task_stack(p);
|
||||
|
||||
@@ -115,7 +115,7 @@ unsigned long get_wchan(struct task_struct *task)
|
||||
{
|
||||
unsigned long pc = 0;
|
||||
|
||||
if (likely(task && task != current && task->state != TASK_RUNNING))
|
||||
if (likely(task && task != current && !task_is_running(task)))
|
||||
walk_stackframe(task, NULL, save_wchan, &pc);
|
||||
return pc;
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
unsigned long stack_page;
|
||||
int count = 0;
|
||||
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
stack_page = (unsigned long)p;
|
||||
|
||||
@@ -135,7 +135,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
unsigned long fp, pc;
|
||||
unsigned long stack_page;
|
||||
int count = 0;
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
stack_page = (unsigned long)task_stack_page(p);
|
||||
|
||||
@@ -529,7 +529,7 @@ get_wchan (struct task_struct *p)
|
||||
unsigned long ip;
|
||||
int count = 0;
|
||||
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
@@ -542,7 +542,7 @@ get_wchan (struct task_struct *p)
|
||||
*/
|
||||
unw_init_from_blocked_task(&info, p);
|
||||
do {
|
||||
if (p->state == TASK_RUNNING)
|
||||
if (task_is_running(p))
|
||||
return 0;
|
||||
if (unw_unwind(&info) < 0)
|
||||
return 0;
|
||||
|
||||
@@ -268,7 +268,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
unsigned long fp, pc;
|
||||
unsigned long stack_page;
|
||||
int count = 0;
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
stack_page = (unsigned long)task_stack_page(p);
|
||||
|
||||
@@ -662,7 +662,7 @@ unsigned long get_wchan(struct task_struct *task)
|
||||
unsigned long ra = 0;
|
||||
#endif
|
||||
|
||||
if (!task || task == current || task->state == TASK_RUNNING)
|
||||
if (!task || task == current || task_is_running(task))
|
||||
goto out;
|
||||
if (!task_stack_page(task))
|
||||
goto out;
|
||||
|
||||
@@ -239,7 +239,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
unsigned long stack_start, stack_end;
|
||||
int count = 0;
|
||||
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
if (IS_ENABLED(CONFIG_FRAME_POINTER)) {
|
||||
|
||||
@@ -223,7 +223,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
unsigned long stack_page;
|
||||
int count = 0;
|
||||
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
stack_page = (unsigned long)p;
|
||||
|
||||
@@ -249,7 +249,7 @@ get_wchan(struct task_struct *p)
|
||||
unsigned long ip;
|
||||
int count = 0;
|
||||
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
@@ -260,7 +260,7 @@ get_wchan(struct task_struct *p)
|
||||
do {
|
||||
if (unwind_once(&info) < 0)
|
||||
return 0;
|
||||
if (p->state == TASK_RUNNING)
|
||||
if (task_is_running(p))
|
||||
return 0;
|
||||
ip = info.ip;
|
||||
if (!in_sched_functions(ip))
|
||||
|
||||
@@ -2084,7 +2084,7 @@ static unsigned long __get_wchan(struct task_struct *p)
|
||||
unsigned long ip, sp;
|
||||
int count = 0;
|
||||
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
sp = p->thread.ksp;
|
||||
@@ -2094,7 +2094,7 @@ static unsigned long __get_wchan(struct task_struct *p)
|
||||
do {
|
||||
sp = *(unsigned long *)sp;
|
||||
if (!validate_sp(sp, p, STACK_FRAME_OVERHEAD) ||
|
||||
p->state == TASK_RUNNING)
|
||||
task_is_running(p))
|
||||
return 0;
|
||||
if (count > 0) {
|
||||
ip = ((unsigned long *)sp)[STACK_FRAME_LR_SAVE];
|
||||
|
||||
@@ -132,7 +132,7 @@ unsigned long get_wchan(struct task_struct *task)
|
||||
{
|
||||
unsigned long pc = 0;
|
||||
|
||||
if (likely(task && task != current && task->state != TASK_RUNNING))
|
||||
if (likely(task && task != current && !task_is_running(task)))
|
||||
walk_stackframe(task, NULL, save_wchan, &pc);
|
||||
return pc;
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
struct unwind_state state;
|
||||
unsigned long ip = 0;
|
||||
|
||||
if (!p || p == current || p->state == TASK_RUNNING || !task_stack_page(p))
|
||||
if (!p || p == current || task_is_running(p) || !task_stack_page(p))
|
||||
return 0;
|
||||
|
||||
if (!try_get_task_stack(p))
|
||||
|
||||
@@ -702,7 +702,7 @@ static void pfault_interrupt(struct ext_code ext_code,
|
||||
* interrupt since it must be a leftover of a PFAULT
|
||||
* CANCEL operation which didn't remove all pending
|
||||
* completion interrupts. */
|
||||
if (tsk->state == TASK_RUNNING)
|
||||
if (task_is_running(tsk))
|
||||
tsk->thread.pfault_wait = -1;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -186,7 +186,7 @@ unsigned long get_wchan(struct task_struct *p)
|
||||
{
|
||||
unsigned long pc;
|
||||
|
||||
if (!p || p == current || p->state == TASK_RUNNING)
|
||||
if (!p || p == current || task_is_running(p))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
|
||||
@@ -376,8 +376,7 @@ unsigned long get_wchan(struct task_struct *task)
|
||||
struct reg_window32 *rw;
|
||||
int count = 0;
|
||||
|
||||
if (!task || task == current ||
|
||||
task->state == TASK_RUNNING)
|
||||
if (!task || task == current || task_is_running(task))
|
||||
goto out;
|
||||
|
||||
fp = task_thread_info(task)->ksp + bias;
|
||||
|
||||
@@ -674,8 +674,7 @@ unsigned long get_wchan(struct task_struct *task)
|
||||
unsigned long ret = 0;
|
||||
int count = 0;
|
||||
|
||||
if (!task || task == current ||
|
||||
task->state == TASK_RUNNING)
|
||||
if (!task || task == current || task_is_running(task))
|
||||
goto out;
|
||||
|
||||
tp = task_thread_info(task);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user