* [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
@ 2020-04-13 12:04 ` Wang Qing
0 siblings, 0 replies; 13+ messages in thread
From: Wang Qing @ 2020-04-13 12:04 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Ingo Molnar, Peter Zijlstra,
Juri Lelli, Vincent Guittot, Dietmar Eggemann, Steven Rostedt,
Ben Segall, Mel Gorman, James Morse, Mark Rutland,
Eric W. Biederman, Thomas Gleixner, jinho lim, Wang Qing,
Dave Martin, linux-arm-kernel, linux-kernel
Cc: opensource.kernel
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@vivo.com>
---
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)
+{
+ 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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
2020-04-13 12:04 ` Wang Qing
@ 2020-04-14 7:20 ` Vincent Guittot
-1 siblings, 0 replies; 13+ messages in thread
From: Vincent Guittot @ 2020-04-14 7:20 UTC (permalink / raw)
To: Wang Qing
Cc: Catalin Marinas, Will Deacon, Ingo Molnar, Peter Zijlstra,
Juri Lelli, Dietmar Eggemann, Steven Rostedt, Ben Segall,
Mel Gorman, James Morse, Mark Rutland, Eric W. Biederman,
Thomas Gleixner, jinho lim, Dave Martin, LAK, linux-kernel,
opensource.kernel
On Mon, 13 Apr 2020 at 14:04, Wang Qing <wangqing@vivo.com> 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@vivo.com>
> ---
> 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() ?
> +{
> + 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
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
@ 2020-04-14 7:20 ` Vincent Guittot
0 siblings, 0 replies; 13+ messages in thread
From: Vincent Guittot @ 2020-04-14 7:20 UTC (permalink / raw)
To: Wang Qing
Cc: Juri Lelli, Mark Rutland, opensource.kernel, Peter Zijlstra,
Catalin Marinas, linux-kernel, Steven Rostedt, Dave Martin,
Ben Segall, jinho lim, Ingo Molnar, James Morse, Mel Gorman,
Thomas Gleixner, Will Deacon, Dietmar Eggemann, LAK,
Eric W. Biederman
On Mon, 13 Apr 2020 at 14:04, Wang Qing <wangqing@vivo.com> 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@vivo.com>
> ---
> 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() ?
> +{
> + 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
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
2020-04-14 7:20 ` Vincent Guittot
@ 2020-04-14 10:05 ` Peter Zijlstra
-1 siblings, 0 replies; 13+ messages in thread
From: Peter Zijlstra @ 2020-04-14 10:05 UTC (permalink / raw)
To: Vincent Guittot
Cc: Wang Qing, Catalin Marinas, Will Deacon, Ingo Molnar, Juri Lelli,
Dietmar Eggemann, Steven Rostedt, Ben Segall, Mel Gorman,
James Morse, Mark Rutland, Eric W. Biederman, Thomas Gleixner,
jinho lim, Dave Martin, LAK, linux-kernel, opensource.kernel
On Tue, Apr 14, 2020 at 09:20:57AM +0200, Vincent Guittot wrote:
> On Mon, 13 Apr 2020 at 14:04, Wang Qing <wangqing@vivo.com> 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@vivo.com>
> > ---
> > 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() ?
It doesn't have the (arguably superfluous) rq argument. But yes, agreed,
if anything lift that thing (without the argument).
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
@ 2020-04-14 10:05 ` Peter Zijlstra
0 siblings, 0 replies; 13+ messages in thread
From: Peter Zijlstra @ 2020-04-14 10:05 UTC (permalink / raw)
To: Vincent Guittot
Cc: Juri Lelli, Ben Segall, Thomas Gleixner, opensource.kernel,
Catalin Marinas, linux-kernel, Steven Rostedt, Dave Martin,
Wang Qing, jinho lim, Ingo Molnar, James Morse, Mel Gorman,
Mark Rutland, Will Deacon, Dietmar Eggemann, LAK,
Eric W. Biederman
On Tue, Apr 14, 2020 at 09:20:57AM +0200, Vincent Guittot wrote:
> On Mon, 13 Apr 2020 at 14:04, Wang Qing <wangqing@vivo.com> 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@vivo.com>
> > ---
> > 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() ?
It doesn't have the (arguably superfluous) rq argument. But yes, agreed,
if anything lift that thing (without the argument).
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
2020-04-13 12:04 ` Wang Qing
(?)
(?)
@ 2020-04-14 9:47 ` Wang Qing
-1 siblings, 0 replies; 13+ messages in thread
From: Wang Qing @ 2020-04-14 9:47 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra, Juri Lelli, Vincent Guittot,
Dietmar Eggemann, Steven Rostedt, Ben Segall, Mel Gorman,
linux-kernel
Cc: opensource.kernel
>On Mon, 13 Apr 2020 at 14:04, Wang Qing <wangqing@vivo.com> 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@vivo.com>
>> ---
>> 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
>>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
2020-04-13 12:04 ` Wang Qing
@ 2020-04-15 8:34 ` Wang Qing
-1 siblings, 0 replies; 13+ messages in thread
From: Wang Qing @ 2020-04-15 8:34 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel
>On Tue, Apr 14, 2020 at 09:20:57AM +0200, Vincent Guittot wrote:
>> On Mon, 13 Apr 2020 at 14:04, Wang Qing <wangqing@vivo.com> 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@vivo.com>
>> > ---
>> > 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() ?
>
>It doesn't have the (arguably superfluous) rq argument. But yes, agreed,
>if anything lift that thing (without the argument).
I think task_running() should be renamed to task_running_on_rq() like
the naming of task_running_on_cpu(), this is what it originally mean,
and add task_running() (with the task argument only).
I updated the patch for that.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] [V2 1/2]sched:add task_running_oncpu
@ 2020-04-15 8:34 ` Wang Qing
0 siblings, 0 replies; 13+ messages in thread
From: Wang Qing @ 2020-04-15 8:34 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel
>On Tue, Apr 14, 2020 at 09:20:57AM +0200, Vincent Guittot wrote:
>> On Mon, 13 Apr 2020 at 14:04, Wang Qing <wangqing@vivo.com> 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@vivo.com>
>> > ---
>> > 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() ?
>
>It doesn't have the (arguably superfluous) rq argument. But yes, agreed,
>if anything lift that thing (without the argument).
I think task_running() should be renamed to task_running_on_rq() like
the naming of task_running_on_cpu(), this is what it originally mean,
and add task_running() (with the task argument only).
I updated the patch for that.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread