2020-10-26 04:23:55

by 赵军奎

[permalink] [raw]
Subject: [Resend][PATCH] drivers/thermal: optimize the for circle to run a bit fast

Function thermal_zone_device_register, in the for circle, if the
first if branch set the count bit in tz->trips_disabled, there is
no need to set in the other if branch again.
This change is to make the code run a bit fast and readable.

Signed-off-by: Bernard Zhao <[email protected]>
---
drivers/thermal/thermal_core.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index c6d74bc1c90b..03577794eea3 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1446,10 +1446,14 @@ thermal_zone_device_register(const char *type, int trips, int mask,
goto release_device;

for (count = 0; count < trips; count++) {
- if (tz->ops->get_trip_type(tz, count, &trip_type))
+ if (tz->ops->get_trip_type(tz, count, &trip_type)) {
set_bit(count, &tz->trips_disabled);
- if (tz->ops->get_trip_temp(tz, count, &trip_temp))
+ continue;
+ }
+ if (tz->ops->get_trip_temp(tz, count, &trip_temp)) {
set_bit(count, &tz->trips_disabled);
+ continue;
+ }
/* Check for bogus trip points */
if (trip_temp == 0)
set_bit(count, &tz->trips_disabled);
--
2.28.0




2020-10-27 03:09:03

by Daniel Lezcano

[permalink] [raw]
Subject: Re: [Resend][PATCH] drivers/thermal: optimize the for circle to run a bit fast

On 26/10/2020 02:49, Bernard wrote:
> Function thermal_zone_device_register, in the for circle, if the
> first if branch set the count bit in tz->trips_disabled, there is
> no need to set in the other if branch again.
> This change is to make the code run a bit fast and readable.
>
> Signed-off-by: Bernard Zhao <[email protected]>
> ---
> drivers/thermal/thermal_core.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index c6d74bc1c90b..03577794eea3 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -1446,10 +1446,14 @@ thermal_zone_device_register(const char *type, int trips, int mask,
> goto release_device;
>
> for (count = 0; count < trips; count++) {
> - if (tz->ops->get_trip_type(tz, count, &trip_type))
> + if (tz->ops->get_trip_type(tz, count, &trip_type)) {
> set_bit(count, &tz->trips_disabled);
> - if (tz->ops->get_trip_temp(tz, count, &trip_temp))
> + continue;
> + }
> + if (tz->ops->get_trip_temp(tz, count, &trip_temp)) {
> set_bit(count, &tz->trips_disabled);
> + continue;
> + }
> /* Check for bogus trip points */
> if (trip_temp == 0)
> set_bit(count, &tz->trips_disabled);


What about ?

if (tz->ops->get_trip_type(tz, count, &trip_type) ||
tz->ops->get_trip_temp(tz, count, &trip_temp) ||
!trip_temp)
set_bit(count, &tz->trips_disabled);




--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

2020-10-27 13:54:08

by 赵军奎

[permalink] [raw]
Subject: Re:Re: [Resend][PATCH] drivers/thermal: optimize the for circle to run a bit fast


From: Daniel Lezcano <[email protected]>
Date: 2020-10-27 02:35:18
To: Bernard <[email protected]>,Zhang Rui <[email protected]>,Amit Kucheria <[email protected]>,[email protected],[email protected]
Cc: [email protected]
Subject: Re: [Resend][PATCH] drivers/thermal: optimize the for circle to run a bit fast>On 26/10/2020 02:49, Bernard wrote:
>> Function thermal_zone_device_register, in the for circle, if the
>> first if branch set the count bit in tz->trips_disabled, there is
>> no need to set in the other if branch again.
>> This change is to make the code run a bit fast and readable.
>>
>> Signed-off-by: Bernard Zhao <[email protected]>
>> ---
>> drivers/thermal/thermal_core.c | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
>> index c6d74bc1c90b..03577794eea3 100644
>> --- a/drivers/thermal/thermal_core.c
>> +++ b/drivers/thermal/thermal_core.c
>> @@ -1446,10 +1446,14 @@ thermal_zone_device_register(const char *type, int trips, int mask,
>> goto release_device;
>>
>> for (count = 0; count < trips; count++) {
>> - if (tz->ops->get_trip_type(tz, count, &trip_type))
>> + if (tz->ops->get_trip_type(tz, count, &trip_type)) {
>> set_bit(count, &tz->trips_disabled);
>> - if (tz->ops->get_trip_temp(tz, count, &trip_temp))
>> + continue;
>> + }
>> + if (tz->ops->get_trip_temp(tz, count, &trip_temp)) {
>> set_bit(count, &tz->trips_disabled);
>> + continue;
>> + }
>> /* Check for bogus trip points */
>> if (trip_temp == 0)
>> set_bit(count, &tz->trips_disabled);
>
>
>What about ?
> if (tz->ops->get_trip_type(tz, count, &trip_type) ||
> tz->ops->get_trip_temp(tz, count, &trip_temp) ||
> !trip_temp)
> set_bit(count, &tz->trips_disabled);
>

Hi

Sure, I will resubmit this patch, thanks!

BR//Bernard

>
>
>--
><http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>
>Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
><http://twitter.com/#!/linaroorg> Twitter |
><http://www.linaro.org/linaro-blog/> Blog


2020-10-28 05:58:07

by Daniel Lezcano

[permalink] [raw]
Subject: Re: [Resend][PATCH] drivers/thermal: optimize the for circle to run a bit fast

On 27/10/2020 02:19, Bernard wrote:
>
> From: Daniel Lezcano <[email protected]>
> Date: 2020-10-27 02:35:18
> To: Bernard <[email protected]>,Zhang Rui <[email protected]>,Amit Kucheria <[email protected]>,[email protected],[email protected]
> Cc: [email protected]
> Subject: Re: [Resend][PATCH] drivers/thermal: optimize the for circle to run a bit fast>On 26/10/2020 02:49, Bernard wrote:
>>> Function thermal_zone_device_register, in the for circle, if the
>>> first if branch set the count bit in tz->trips_disabled, there is
>>> no need to set in the other if branch again.
>>> This change is to make the code run a bit fast and readable.
>>>
>>> Signed-off-by: Bernard Zhao <[email protected]>
>>> ---
>>> drivers/thermal/thermal_core.c | 8 ++++++--
>>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
>>> index c6d74bc1c90b..03577794eea3 100644
>>> --- a/drivers/thermal/thermal_core.c
>>> +++ b/drivers/thermal/thermal_core.c
>>> @@ -1446,10 +1446,14 @@ thermal_zone_device_register(const char *type, int trips, int mask,
>>> goto release_device;
>>>
>>> for (count = 0; count < trips; count++) {
>>> - if (tz->ops->get_trip_type(tz, count, &trip_type))
>>> + if (tz->ops->get_trip_type(tz, count, &trip_type)) {
>>> set_bit(count, &tz->trips_disabled);
>>> - if (tz->ops->get_trip_temp(tz, count, &trip_temp))
>>> + continue;
>>> + }
>>> + if (tz->ops->get_trip_temp(tz, count, &trip_temp)) {
>>> set_bit(count, &tz->trips_disabled);
>>> + continue;
>>> + }
>>> /* Check for bogus trip points */
>>> if (trip_temp == 0)
>>> set_bit(count, &tz->trips_disabled);
>>
>>
>> What about ?
>> if (tz->ops->get_trip_type(tz, count, &trip_type) ||
>> tz->ops->get_trip_temp(tz, count, &trip_temp) ||
>> !trip_temp)
>> set_bit(count, &tz->trips_disabled);
>>
>
> Hi
>
> Sure, I will resubmit this patch, thanks!

Please, take the opportunity to fix the author name to be the same as
the signed-off-by.

Thanks

-- Daniel



--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog