Re: [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
From: Wang Qing
Date: Tue Apr 14 2020 - 05:58:20 EST
>On Mon, 13 Apr 2020 at 14:04, Wang Qing <wangqing@xxxxxxxx> wrote:
>>
>> We have no interface whether the task is running,
>> so we need to add an interface and distinguish CONFIG_SMP.
>>
>> Signed-off-by: Wang Qing <wangqing@xxxxxxxx>
>> ---
>> include/linux/sched.h | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/include/linux/sched.h b/include/linux/sched.h
>> index 4418f5c..13cc8f5 100644
>> --- a/include/linux/sched.h
>> +++ b/include/linux/sched.h
>> @@ -1843,6 +1843,11 @@ static inline unsigned int task_cpu(const struct task_struct *p)
>>
>> extern void set_task_cpu(struct task_struct *p, unsigned int cpu);
>>
>> +static inline int task_running_oncpu(const struct task_struct *p)
>
>This function name is too close from task_running_on_cpu() and can be
>misleading as the difference is only "_"
>Also, how task_running_oncpu() is different from task_running() ?
I think task_running() should be renamed to task_running_on_rq(), this is what
it originally mean. And the task_running_oncpu I added should be called
task_running(). This solves the confusing naming problem that already exists.
Thanks,
Wang Qing.
>
>> +{
>> + return p->on_cpu;
>> +}
>> +
>> #else
>>
>> static inline unsigned int task_cpu(const struct task_struct *p)
>> @@ -1854,6 +1859,11 @@ static inline void set_task_cpu(struct task_struct *p, unsigned int cpu)
>> {
>> }
>>
>> +static inline int task_running_oncpu(const struct task_struct *p)
>> +{
>> + return p == current;
>> +}
>> +
>> #endif /* CONFIG_SMP */
>>
>> /*
>> --
>> 2.7.4
>>