Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1647671 > unrolled thread
| Started by | Zhang Rui <rui.zhang@intel.com> |
|---|---|
| First post | 2017-05-23 08:40 +0200 |
| Last post | 2017-05-23 09:10 +0200 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH V4 03/17] thermal: cpu_cooling: Name cpufreq cooling devices as cpufreq_cdev Zhang Rui <rui.zhang@intel.com> - 2017-05-23 08:40 +0200
[PATCH] thermal: cpu_cooling: Replace kmalloc with kmalloc_array Viresh Kumar <viresh.kumar@linaro.org> - 2017-05-23 09:10 +0200
Re: [PATCH] thermal: cpu_cooling: Replace kmalloc with kmalloc_array Eduardo Valentin <edubezval@gmail.com> - 2017-05-24 04:30 +0200
Re: [PATCH] thermal: cpu_cooling: Replace kmalloc with kmalloc_array Viresh Kumar <viresh.kumar@linaro.org> - 2017-05-24 06:00 +0200
Re: [PATCH V4 03/17] thermal: cpu_cooling: Name cpufreq cooling devices as cpufreq_cdev Viresh Kumar <viresh.kumar@linaro.org> - 2017-05-23 09:10 +0200
| From | Zhang Rui <rui.zhang@intel.com> |
|---|---|
| Date | 2017-05-23 08:40 +0200 |
| Subject | Re: [PATCH V4 03/17] thermal: cpu_cooling: Name cpufreq cooling devices as cpufreq_cdev |
| Message-ID | <tKbE5-7Qs-1@gated-at.bofh.it> |
On Tue, 2017-04-25 at 15:57 +0530, Viresh Kumar wrote:
> Objects of "struct cpufreq_cooling_device" are named a bit
> inconsistently. Lets use cpufreq_cdev everywhere. Also note that the
> lists containing such devices is renamed similarly too.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> Tested-by: Lukasz Luba <lukasz.luba@arm.com>
> ---
> drivers/thermal/cpu_cooling.c | 248 +++++++++++++++++++++-----------
> ----------
> 1 file changed, 124 insertions(+), 124 deletions(-)
>
>
>
> num_cpus = cpumask_weight(clip_cpus);
> - cpufreq_dev->time_in_idle = kcalloc(num_cpus,
> - sizeof(*cpufreq_dev-
> >time_in_idle),
> + cpufreq_cdev->time_in_idle = kcalloc(num_cpus,
> + sizeof(*cpufreq_cdev-
> >time_in_idle),
> GFP_KERNEL);
checkpatch complains about this line
WARNING: Prefer kmalloc_array over kmalloc with multiply
#544: FILE: drivers/thermal/cpu_cooling.c:827:
+ cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev-
>freq_table) *
+ cpufreq_cdev->max_level,
GFP_KERNEL);
total: 0 errors, 1 warnings, 614 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-
inplace.
and also patch 8/17.
It's better to get this fixed.
thanks,
rui
> - if (!cpufreq_dev->time_in_idle) {
> + if (!cpufreq_cdev->time_in_idle) {
> cool_dev = ERR_PTR(-ENOMEM);
> goto free_cdev;
> }
>
> - cpufreq_dev->time_in_idle_timestamp =
> - kcalloc(num_cpus, sizeof(*cpufreq_dev-
> >time_in_idle_timestamp),
> + cpufreq_cdev->time_in_idle_timestamp =
> + kcalloc(num_cpus, sizeof(*cpufreq_cdev-
> >time_in_idle_timestamp),
> GFP_KERNEL);
> - if (!cpufreq_dev->time_in_idle_timestamp) {
> + if (!cpufreq_cdev->time_in_idle_timestamp) {
> cool_dev = ERR_PTR(-ENOMEM);
> goto free_time_in_idle;
> }
>
> /* Find max levels */
> cpufreq_for_each_valid_entry(pos, table)
> - cpufreq_dev->max_level++;
> + cpufreq_cdev->max_level++;
>
> - cpufreq_dev->freq_table = kmalloc(sizeof(*cpufreq_dev-
> >freq_table) *
> - cpufreq_dev->max_level,
> GFP_KERNEL);
> - if (!cpufreq_dev->freq_table) {
> + cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev-
> >freq_table) *
> + cpufreq_cdev->max_level,
> GFP_KERNEL);
> + if (!cpufreq_cdev->freq_table) {
> cool_dev = ERR_PTR(-ENOMEM);
> goto free_time_in_idle_timestamp;
> }
>
> /* max_level is an index, not a counter */
> - cpufreq_dev->max_level--;
> + cpufreq_cdev->max_level--;
>
> - cpumask_copy(&cpufreq_dev->allowed_cpus, clip_cpus);
> + cpumask_copy(&cpufreq_cdev->allowed_cpus, clip_cpus);
>
> if (capacitance) {
> - cpufreq_dev->plat_get_static_power =
> plat_static_func;
> + cpufreq_cdev->plat_get_static_power =
> plat_static_func;
>
> - ret = build_dyn_power_table(cpufreq_dev,
> capacitance);
> + ret = build_dyn_power_table(cpufreq_cdev,
> capacitance);
> if (ret) {
> cool_dev = ERR_PTR(ret);
> goto free_table;
> @@ -856,12 +855,12 @@ __cpufreq_cooling_register(struct device_node
> *np,
> cool_dev = ERR_PTR(ret);
> goto free_power_table;
> }
> - cpufreq_dev->id = ret;
> + cpufreq_cdev->id = ret;
>
> /* Fill freq-table in descending order of frequencies */
> - for (i = 0, freq = -1; i <= cpufreq_dev->max_level; i++) {
> + for (i = 0, freq = -1; i <= cpufreq_cdev->max_level; i++) {
> freq = find_next_max(table, freq);
> - cpufreq_dev->freq_table[i] = freq;
> + cpufreq_cdev->freq_table[i] = freq;
>
> /* Warn for duplicate entries */
> if (!freq)
> @@ -871,20 +870,21 @@ __cpufreq_cooling_register(struct device_node
> *np,
> }
>
> snprintf(dev_name, sizeof(dev_name), "thermal-cpufreq-%d",
> - cpufreq_dev->id);
> + cpufreq_cdev->id);
>
> - cool_dev = thermal_of_cooling_device_register(np, dev_name,
> cpufreq_dev,
> + cool_dev = thermal_of_cooling_device_register(np, dev_name,
> + cpufreq_cdev,
> cooling_ops);
> if (IS_ERR(cool_dev))
> goto remove_ida;
>
> - cpufreq_dev->clipped_freq = cpufreq_dev->freq_table[0];
> - cpufreq_dev->cool_dev = cool_dev;
> + cpufreq_cdev->clipped_freq = cpufreq_cdev->freq_table[0];
> + cpufreq_cdev->cool_dev = cool_dev;
>
> mutex_lock(&cooling_list_lock);
> /* Register the notifier for first cpufreq cooling device */
> - first = list_empty(&cpufreq_dev_list);
> - list_add(&cpufreq_dev->node, &cpufreq_dev_list);
> + first = list_empty(&cpufreq_cdev_list);
> + list_add(&cpufreq_cdev->node, &cpufreq_cdev_list);
> mutex_unlock(&cooling_list_lock);
>
> if (first)
> @@ -894,17 +894,17 @@ __cpufreq_cooling_register(struct device_node
> *np,
> goto put_policy;
>
> remove_ida:
> - ida_simple_remove(&cpufreq_ida, cpufreq_dev->id);
> + ida_simple_remove(&cpufreq_ida, cpufreq_cdev->id);
> free_power_table:
> - kfree(cpufreq_dev->dyn_power_table);
> + kfree(cpufreq_cdev->dyn_power_table);
> free_table:
> - kfree(cpufreq_dev->freq_table);
> + kfree(cpufreq_cdev->freq_table);
> free_time_in_idle_timestamp:
> - kfree(cpufreq_dev->time_in_idle_timestamp);
> + kfree(cpufreq_cdev->time_in_idle_timestamp);
> free_time_in_idle:
> - kfree(cpufreq_dev->time_in_idle);
> + kfree(cpufreq_cdev->time_in_idle);
> free_cdev:
> - kfree(cpufreq_dev);
> + kfree(cpufreq_cdev);
> put_policy:
> cpufreq_cpu_put(policy);
> free_cpumask:
> @@ -1029,30 +1029,30 @@
> EXPORT_SYMBOL(of_cpufreq_power_cooling_register);
> */
> void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
> {
> - struct cpufreq_cooling_device *cpufreq_dev;
> + struct cpufreq_cooling_device *cpufreq_cdev;
> bool last;
>
> if (!cdev)
> return;
>
> - cpufreq_dev = cdev->devdata;
> + cpufreq_cdev = cdev->devdata;
>
> mutex_lock(&cooling_list_lock);
> - list_del(&cpufreq_dev->node);
> + list_del(&cpufreq_cdev->node);
> /* Unregister the notifier for the last cpufreq cooling
> device */
> - last = list_empty(&cpufreq_dev_list);
> + last = list_empty(&cpufreq_cdev_list);
> mutex_unlock(&cooling_list_lock);
>
> if (last)
> cpufreq_unregister_notifier(&thermal_cpufreq_notifie
> r_block,
> CPUFREQ_POLICY_NOTIFIER)
> ;
>
> - thermal_cooling_device_unregister(cpufreq_dev->cool_dev);
> - ida_simple_remove(&cpufreq_ida, cpufreq_dev->id);
> - kfree(cpufreq_dev->dyn_power_table);
> - kfree(cpufreq_dev->time_in_idle_timestamp);
> - kfree(cpufreq_dev->time_in_idle);
> - kfree(cpufreq_dev->freq_table);
> - kfree(cpufreq_dev);
> + thermal_cooling_device_unregister(cpufreq_cdev->cool_dev);
> + ida_simple_remove(&cpufreq_ida, cpufreq_cdev->id);
> + kfree(cpufreq_cdev->dyn_power_table);
> + kfree(cpufreq_cdev->time_in_idle_timestamp);
> + kfree(cpufreq_cdev->time_in_idle);
> + kfree(cpufreq_cdev->freq_table);
> + kfree(cpufreq_cdev);
> }
> EXPORT_SYMBOL_GPL(cpufreq_cooling_unregister);
[toc] | [next] | [standalone]
| From | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| Date | 2017-05-23 09:10 +0200 |
| Subject | [PATCH] thermal: cpu_cooling: Replace kmalloc with kmalloc_array |
| Message-ID | <tKc78-8iP-9@gated-at.bofh.it> |
| In reply to | #1647671 |
Checkpatch reports following:
WARNING: Prefer kmalloc_array over kmalloc with multiply
+ cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
Fix that.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
drivers/thermal/cpu_cooling.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
index 1305020790b2..908a8014cf76 100644
--- a/drivers/thermal/cpu_cooling.c
+++ b/drivers/thermal/cpu_cooling.c
@@ -724,8 +724,9 @@ __cpufreq_cooling_register(struct device_node *np,
/* max_level is an index, not a counter */
cpufreq_cdev->max_level = i - 1;
- cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
- GFP_KERNEL);
+ cpufreq_cdev->freq_table = kmalloc_array(i,
+ sizeof(*cpufreq_cdev->freq_table),
+ GFP_KERNEL);
if (!cpufreq_cdev->freq_table) {
cdev = ERR_PTR(-ENOMEM);
goto free_idle_time;
--
2.13.0.70.g6367777092d9
[toc] | [prev] | [next] | [standalone]
| From | Eduardo Valentin <edubezval@gmail.com> |
|---|---|
| Date | 2017-05-24 04:30 +0200 |
| Subject | Re: [PATCH] thermal: cpu_cooling: Replace kmalloc with kmalloc_array |
| Message-ID | <tKudH-4fy-3@gated-at.bofh.it> |
| In reply to | #1647695 |
Hello,
On Tue, May 23, 2017 at 12:33:06PM +0530, Viresh Kumar wrote:
> Checkpatch reports following:
>
> WARNING: Prefer kmalloc_array over kmalloc with multiply
> + cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
>
> Fix that.
That is how the patch would apply. Enter to continue
WARNING: line over 80 characters
#159: FILE: drivers/thermal/cpu_cooling.c:783:
+ cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
WARNING: Prefer kmalloc_array over kmalloc with multiply
#159: FILE: drivers/thermal/cpu_cooling.c:783:
+ cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
+ GFP_KERNEL);
WARNING: line over 80 characters
#190: FILE: include/linux/cpufreq.h:859:
+static inline int cpufreq_table_count_valid_entries(const struct cpufreq_policy *policy)
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> drivers/thermal/cpu_cooling.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> index 1305020790b2..908a8014cf76 100644
> --- a/drivers/thermal/cpu_cooling.c
> +++ b/drivers/thermal/cpu_cooling.c
> @@ -724,8 +724,9 @@ __cpufreq_cooling_register(struct device_node *np,
> /* max_level is an index, not a counter */
> cpufreq_cdev->max_level = i - 1;
>
> - cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
> - GFP_KERNEL);
> + cpufreq_cdev->freq_table = kmalloc_array(i,
> + sizeof(*cpufreq_cdev->freq_table),
> + GFP_KERNEL);
> if (!cpufreq_cdev->freq_table) {
> cdev = ERR_PTR(-ENOMEM);
> goto free_idle_time;
> --
> 2.13.0.70.g6367777092d9
>
[toc] | [prev] | [next] | [standalone]
| From | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| Date | 2017-05-24 06:00 +0200 |
| Subject | Re: [PATCH] thermal: cpu_cooling: Replace kmalloc with kmalloc_array |
| Message-ID | <tKvCN-59f-5@gated-at.bofh.it> |
| In reply to | #1649064 |
On 23-05-17, 19:27, Eduardo Valentin wrote:
> Hello,
>
> On Tue, May 23, 2017 at 12:33:06PM +0530, Viresh Kumar wrote:
> > Checkpatch reports following:
> >
> > WARNING: Prefer kmalloc_array over kmalloc with multiply
> > + cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
> >
> > Fix that.
>
> That is how the patch would apply. Enter to continue
>
> WARNING: line over 80 characters
> #159: FILE: drivers/thermal/cpu_cooling.c:783:
> + cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
>
> WARNING: Prefer kmalloc_array over kmalloc with multiply
> #159: FILE: drivers/thermal/cpu_cooling.c:783:
> + cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
> + GFP_KERNEL);
>
> WARNING: line over 80 characters
> #190: FILE: include/linux/cpufreq.h:859:
> +static inline int cpufreq_table_count_valid_entries(const struct cpufreq_policy *policy)
I am not sure what you meant here. Above doesn't looks something that
this patch can generate. This was fixing the problem that you reported
above.
> >
> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > ---
> > drivers/thermal/cpu_cooling.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
> > index 1305020790b2..908a8014cf76 100644
> > --- a/drivers/thermal/cpu_cooling.c
> > +++ b/drivers/thermal/cpu_cooling.c
> > @@ -724,8 +724,9 @@ __cpufreq_cooling_register(struct device_node *np,
> > /* max_level is an index, not a counter */
> > cpufreq_cdev->max_level = i - 1;
> >
> > - cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev->freq_table) * i,
> > - GFP_KERNEL);
> > + cpufreq_cdev->freq_table = kmalloc_array(i,
> > + sizeof(*cpufreq_cdev->freq_table),
> > + GFP_KERNEL);
> > if (!cpufreq_cdev->freq_table) {
--
viresh
[toc] | [prev] | [next] | [standalone]
| From | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| Date | 2017-05-23 09:10 +0200 |
| Message-ID | <tKc79-8iP-27@gated-at.bofh.it> |
| In reply to | #1647671 |
On 23-05-17, 14:37, Zhang Rui wrote: > On Tue, 2017-04-25 at 15:57 +0530, Viresh Kumar wrote: > > Objects of "struct cpufreq_cooling_device" are named a bit > > inconsistently. Lets use cpufreq_cdev everywhere. Also note that the > > lists containing such devices is renamed similarly too. > > > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > > Tested-by: Lukasz Luba <lukasz.luba@arm.com> > > --- > > drivers/thermal/cpu_cooling.c | 248 +++++++++++++++++++++----------- > > ---------- > > 1 file changed, 124 insertions(+), 124 deletions(-) > > > > > > > > > num_cpus = cpumask_weight(clip_cpus); > > - cpufreq_dev->time_in_idle = kcalloc(num_cpus, > > - sizeof(*cpufreq_dev- > > >time_in_idle), > > + cpufreq_cdev->time_in_idle = kcalloc(num_cpus, > > + sizeof(*cpufreq_cdev- > > >time_in_idle), > > GFP_KERNEL); > > checkpatch complains about this line Not about this line, but the one present below it. > WARNING: Prefer kmalloc_array over kmalloc with multiply > #544: FILE: drivers/thermal/cpu_cooling.c:827: > + cpufreq_cdev->freq_table = kmalloc(sizeof(*cpufreq_cdev- > >freq_table) * > + cpufreq_cdev->max_level, > GFP_KERNEL); > > total: 0 errors, 1 warnings, 614 lines checked > > NOTE: For some of the reported defects, checkpatch may be able to > mechanically convert to the typical style using --fix or --fix- > inplace. > > and also patch 8/17. > > It's better to get this fixed. Sure. As this was existing code and nothing new that I added, I have sent a separate patch in reply to your email to get that fixed. You can apply this series followed by that patch now. -- viresh
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web