Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1681259 > unrolled thread

Re: [PATCH] cpufreq: speedstep: remove unnecessary static in speedstep_detect_chipset()

Started byViresh Kumar <viresh.kumar@linaro.org>
First post2017-07-05 06:00 +0200
Last post2017-07-05 12:20 +0200
Articles 2 — 2 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.


Contents

  Re: [PATCH] cpufreq: speedstep: remove unnecessary static in  speedstep_detect_chipset() Viresh Kumar <viresh.kumar@linaro.org> - 2017-07-05 06:00 +0200
    Re: [PATCH] cpufreq: speedstep: remove unnecessary static in  speedstep_detect_chipset() Dominik Brodowski <linux@dominikbrodowski.net> - 2017-07-05 12:20 +0200

#1681259 — Re: [PATCH] cpufreq: speedstep: remove unnecessary static in speedstep_detect_chipset()

FromViresh Kumar <viresh.kumar@linaro.org>
Date2017-07-05 06:00 +0200
SubjectRe: [PATCH] cpufreq: speedstep: remove unnecessary static in speedstep_detect_chipset()
Message-ID<tZJDP-Rz-1@gated-at.bofh.it>
+ Dominic,

On 04-07-17, 22:09, Gustavo A. R. Silva wrote:
> Remove unnecessary static on local variable hostbridge.
> Such variable is initialized before being used,
> on every execution path throughout the function.
> The static has no benefit and, removing it reduces
> the code size.
> 
> This issue was detected using Coccinelle and the following semantic patch:
> 
> @bad exists@
> position p;
> identifier x;
> type T;
> @@
> 
> static T x@p;
> ...
> x = <+...x...+>
> 
> @@
> identifier x;
> expression e;
> type T;
> position p != bad.p;
> @@
> 
> -static
>  T x@p;
>  ... when != x
>      when strict
> ?x = e;
> 
> In the following log you can see the difference in the code size. Also,
> there is a significant difference in the bss segment. This log is the
> output of the size command, before and after the code change:
> 
> before:
>    text    data     bss     dec     hex filename
>    5084    3392     256    8732    221c drivers/cpufreq/speedstep-ich.o
> 
> after:
>    text    data     bss     dec     hex filename
>    5062    3304     192    8558    216e drivers/cpufreq/speedstep-ich.o
> 
> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
> ---
>  drivers/cpufreq/speedstep-ich.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/speedstep-ich.c b/drivers/cpufreq/speedstep-ich.c
> index b86953a..0412a24 100644
> --- a/drivers/cpufreq/speedstep-ich.c
> +++ b/drivers/cpufreq/speedstep-ich.c
> @@ -207,7 +207,7 @@ static unsigned int speedstep_detect_chipset(void)
>  		 * 8100 which use a pretty old revision of the 82815
>  		 * host bridge. Abort on these systems.
>  		 */
> -		static struct pci_dev *hostbridge;
> +		struct pci_dev *hostbridge;

This was added way back Sep'02 by Dominic (@Dominic: I hope you are the same
Dominic with a different email id) and I don't think we need it to be static
here. Anyway, Dominic can respond on that.

commit 1673f3b404bd ("[PATCH] CPUfreq i386 drivers update")

(Note: You can find it in history kernel git repo, not the current one).

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

-- 
viresh

[toc] | [next] | [standalone]


#1681424

FromDominik Brodowski <linux@dominikbrodowski.net>
Date2017-07-05 12:20 +0200
Message-ID<tZPzz-4Wj-5@gated-at.bofh.it>
In reply to#1681259
Viresh, Gustavo,

On Wed, Jul 05, 2017 at 09:23:44AM +0530, Viresh Kumar wrote:
> + Dominic,
> 
> On 04-07-17, 22:09, Gustavo A. R. Silva wrote:
> > Remove unnecessary static on local variable hostbridge.
> > Such variable is initialized before being used,
> > on every execution path throughout the function.
> > The static has no benefit and, removing it reduces
> > the code size.
> > 
> > This issue was detected using Coccinelle and the following semantic patch:
> > 
> > @bad exists@
> > position p;
> > identifier x;
> > type T;
> > @@
> > 
> > static T x@p;
> > ...
> > x = <+...x...+>
> > 
> > @@
> > identifier x;
> > expression e;
> > type T;
> > position p != bad.p;
> > @@
> > 
> > -static
> >  T x@p;
> >  ... when != x
> >      when strict
> > ?x = e;
> > 
> > In the following log you can see the difference in the code size. Also,
> > there is a significant difference in the bss segment. This log is the
> > output of the size command, before and after the code change:
> > 
> > before:
> >    text    data     bss     dec     hex filename
> >    5084    3392     256    8732    221c drivers/cpufreq/speedstep-ich.o
> > 
> > after:
> >    text    data     bss     dec     hex filename
> >    5062    3304     192    8558    216e drivers/cpufreq/speedstep-ich.o
> > 
> > Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
> > ---
> >  drivers/cpufreq/speedstep-ich.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/cpufreq/speedstep-ich.c b/drivers/cpufreq/speedstep-ich.c
> > index b86953a..0412a24 100644
> > --- a/drivers/cpufreq/speedstep-ich.c
> > +++ b/drivers/cpufreq/speedstep-ich.c
> > @@ -207,7 +207,7 @@ static unsigned int speedstep_detect_chipset(void)
> >  		 * 8100 which use a pretty old revision of the 82815
> >  		 * host bridge. Abort on these systems.
> >  		 */
> > -		static struct pci_dev *hostbridge;
> > +		struct pci_dev *hostbridge;
> 
> This was added way back Sep'02 by Dominic (@Dominic: I hope you are the same
> Dominic with a different email id) and I don't think we need it to be static
> here. Anyway, Dominic can respond on that.
> 
> commit 1673f3b404bd ("[PATCH] CPUfreq i386 drivers update")
> 
> (Note: You can find it in history kernel git repo, not the current one).
> 
> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

indeed, that's me, and the patch seems to be valid and therefore is a useful
improvement:

Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>

Thanks,
	Dominik

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web