summaryrefslogtreecommitdiffstats
path: root/kernel/sched/sched.h
diff options
context:
space:
mode:
authorKirill Tkhai2014-08-20 11:47:32 +0200
committerIngo Molnar2014-08-20 14:52:59 +0200
commitda0c1e65b51a289540159663aa4b90ba2366bc21 (patch)
treeed3da6438c901a5b51eaf5ed57f94b56c271572a /kernel/sched/sched.h
parentsched/fair: Fix reschedule which is generated on throttled cfs_rq (diff)
downloadkernel-qcow2-linux-da0c1e65b51a289540159663aa4b90ba2366bc21.tar.gz
kernel-qcow2-linux-da0c1e65b51a289540159663aa4b90ba2366bc21.tar.xz
kernel-qcow2-linux-da0c1e65b51a289540159663aa4b90ba2366bc21.zip
sched: Add wrapper for checking task_struct::on_rq
Implement task_on_rq_queued() and use it everywhere instead of on_rq check. No functional changes. The only exception is we do not use the wrapper in check_for_tasks(), because it requires to export task_on_rq_queued() in global header files. Next patch in series would return it back, so we do not twist it from here to there. Signed-off-by: Kirill Tkhai <ktkhai@parallels.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Paul Turner <pjt@google.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Mike Galbraith <umgwanakikbuti@gmail.com> Cc: Kirill Tkhai <tkhai@yandex.ru> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Nicolas Pitre <nicolas.pitre@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/1408528052.23412.87.camel@tkhai Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched/sched.h')
-rw-r--r--kernel/sched/sched.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 4c2b87fd5f52..26566d0c67ac 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -15,6 +15,9 @@
struct rq;
+/* task_struct::on_rq states: */
+#define TASK_ON_RQ_QUEUED 1
+
extern __read_mostly int scheduler_running;
extern unsigned long calc_load_update;
@@ -942,6 +945,10 @@ static inline int task_running(struct rq *rq, struct task_struct *p)
#endif
}
+static inline int task_on_rq_queued(struct task_struct *p)
+{
+ return p->on_rq == TASK_ON_RQ_QUEUED;
+}
#ifndef prepare_arch_switch
# define prepare_arch_switch(next) do { } while (0)