Messages in this thread Patch in this message | | | From | Mark Rutland <> | Subject | [PATCH 1/9] sched/core: add is_kthread() helper | Date | Wed, 14 Aug 2019 11:41:23 +0100 |
| |
Code checking whether a task is a kthread isn't very consistent. Some code correctly tests task->flags & PF_THREAD, while other code checks task->mm (which can be true for a kthread which calls use_mm()).
So that we can clean this up and keep the code easy to follow, let's add an obvious helper function to test whether a task is a kthread. Subsequent patches will use this as part of cleaning up and correcting open-coded tests.
At the same time, let's fix up the kerneldoc for is_idle_task() for consistency with the new helper, using true/false rather than 0/1, given the functions return bool.
Signed-off-by: Mark Rutland <mark.rutland@arm.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> --- include/linux/sched.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h index 9f51932bd543..b7e96409d75f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1621,13 +1621,24 @@ extern struct task_struct *idle_task(int cpu); * is_idle_task - is the specified task an idle task? * @p: the task in question. * - * Return: 1 if @p is an idle task. 0 otherwise. + * Return: true if @p is an idle task, false otherwise. */ static inline bool is_idle_task(const struct task_struct *p) { return !!(p->flags & PF_IDLE); } +/** + * is_kthread - is the specified task a kthread + * @p: the task in question. + * + * Return: true if @p is a kthread, false otherwise. + */ +static inline bool is_kthread(const struct task_struct *p) +{ + return !!(p->flags & PF_KTHREAD); +} + extern struct task_struct *curr_task(int cpu); extern void ia64_set_curr_task(int cpu, struct task_struct *p); -- 2.11.0
| |