diff mbox series

[RFC,1/9] sched: cpufreq: add cpu to update_util_data

Message ID 529d5f2d865f5982f7e0d4a7a44176e81f50ffc5.1489058244.git.viresh.kumar@linaro.org
State New
Headers show
Series cpufreq: schedutil: Allow remote wakeups | expand

Commit Message

Viresh Kumar March 9, 2017, 11:45 a.m. UTC
From: Steve Muckle <smuckle.linux@gmail.com>


Upcoming support for scheduler cpufreq callbacks on remote wakeups
will require the client to know what the target CPU is that the
callback is being invoked for. Add this information into the callback
data structure.

Signed-off-by: Steve Muckle <smuckle.linux@gmail.com>

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

---
 include/linux/sched/cpufreq.h | 1 +
 kernel/sched/cpufreq.c        | 1 +
 2 files changed, 2 insertions(+)

-- 
2.7.1.410.g6faf27b

Comments

Rafael J. Wysocki March 29, 2017, 9:18 p.m. UTC | #1
On Thursday, March 09, 2017 05:15:11 PM Viresh Kumar wrote:
> From: Steve Muckle <smuckle.linux@gmail.com>

> 

> Upcoming support for scheduler cpufreq callbacks on remote wakeups

> will require the client to know what the target CPU is that the

> callback is being invoked for. Add this information into the callback

> data structure.

> 

> Signed-off-by: Steve Muckle <smuckle.linux@gmail.com>

> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

> ---

>  include/linux/sched/cpufreq.h | 1 +

>  kernel/sched/cpufreq.c        | 1 +

>  2 files changed, 2 insertions(+)

> 

> diff --git a/include/linux/sched/cpufreq.h b/include/linux/sched/cpufreq.h

> index d2be2ccbb372..f798f63d93e8 100644

> --- a/include/linux/sched/cpufreq.h

> +++ b/include/linux/sched/cpufreq.h

> @@ -16,6 +16,7 @@

>  #ifdef CONFIG_CPU_FREQ

>  struct update_util_data {

>         void (*func)(struct update_util_data *data, u64 time, unsigned int flags);

> +	int cpu;


unsigned int?

>  };

>  

>  void cpufreq_add_update_util_hook(int cpu, struct update_util_data *data,

> diff --git a/kernel/sched/cpufreq.c b/kernel/sched/cpufreq.c

> index dbc51442ecbc..ee4c596b71b4 100644

> --- a/kernel/sched/cpufreq.c

> +++ b/kernel/sched/cpufreq.c

> @@ -42,6 +42,7 @@ void cpufreq_add_update_util_hook(int cpu, struct update_util_data *data,

>  		return;

>  

>  	data->func = func;

> +	data->cpu = cpu;


But I'm not convinced that this helps at all.

>  	rcu_assign_pointer(per_cpu(cpufreq_update_util_data, cpu), data);

>  }

>  EXPORT_SYMBOL_GPL(cpufreq_add_update_util_hook);

> 


Thanks,
Rafael
diff mbox series

Patch

diff --git a/include/linux/sched/cpufreq.h b/include/linux/sched/cpufreq.h
index d2be2ccbb372..f798f63d93e8 100644
--- a/include/linux/sched/cpufreq.h
+++ b/include/linux/sched/cpufreq.h
@@ -16,6 +16,7 @@ 
 #ifdef CONFIG_CPU_FREQ
 struct update_util_data {
        void (*func)(struct update_util_data *data, u64 time, unsigned int flags);
+	int cpu;
 };
 
 void cpufreq_add_update_util_hook(int cpu, struct update_util_data *data,
diff --git a/kernel/sched/cpufreq.c b/kernel/sched/cpufreq.c
index dbc51442ecbc..ee4c596b71b4 100644
--- a/kernel/sched/cpufreq.c
+++ b/kernel/sched/cpufreq.c
@@ -42,6 +42,7 @@  void cpufreq_add_update_util_hook(int cpu, struct update_util_data *data,
 		return;
 
 	data->func = func;
+	data->cpu = cpu;
 	rcu_assign_pointer(per_cpu(cpufreq_update_util_data, cpu), data);
 }
 EXPORT_SYMBOL_GPL(cpufreq_add_update_util_hook);