Message ID | ANAAuADPDd5Q*8KfRTwcp4ps.1.1603676964376.Hmail.bernard@vivo.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Daniel Lezcano |
Headers | show |
Series | [Resend] drivers/thermal: optimize the for circle to run a bit fast | expand |
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 <bernard@vivo.com> > --- > 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);
From: Daniel Lezcano <daniel.lezcano@linaro.org> Date: 2020-10-27 02:35:18 To: Bernard <bernard@vivo.com>,Zhang Rui <rui.zhang@intel.com>,Amit Kucheria <amitk@kernel.org>,linux-pm@vger.kernel.org,linux-kernel@vger.kernel.org Cc: opensource.kernel@vivo.com 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 <bernard@vivo.com> >> --- >> 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
On 27/10/2020 02:19, Bernard wrote: > > From: Daniel Lezcano <daniel.lezcano@linaro.org> > Date: 2020-10-27 02:35:18 > To: Bernard <bernard@vivo.com>,Zhang Rui <rui.zhang@intel.com>,Amit Kucheria <amitk@kernel.org>,linux-pm@vger.kernel.org,linux-kernel@vger.kernel.org > Cc: opensource.kernel@vivo.com > 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 <bernard@vivo.com> >>> --- >>> 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
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);
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 <bernard@vivo.com> --- drivers/thermal/thermal_core.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)