Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1507141 > unrolled thread
| Started by | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| First post | 2016-10-24 14:30 +0200 |
| Last post | 2016-10-25 11:10 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 0/4] MIPS-kernel: Fine-tuning for two function implementations SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-24 14:30 +0200
[PATCH 2/4] MIPS/kernel/proc: Use seq_putc() in show_cpuinfo() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-24 14:30 +0200
[PATCH 3/4] MIPS/kernel/proc: Replace 28 seq_printf() calls by seq_puts() in show_cpuinfo() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-24 14:40 +0200
[PATCH 4/4] MIPS/kernel/proc: Combine four seq_printf() calls into one call in show_cpuinfo() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-24 14:40 +0200
Re: [PATCH 4/4] MIPS/kernel/proc: Combine four seq_printf() calls into one call in show_cpuinfo() Geert Uytterhoeven <geert@linux-m68k.org> - 2016-10-25 11:00 +0200
Re: [PATCH 4/4] MIPS/kernel/proc: Combine four seq_printf() calls into one call in show_cpuinfo() Ralf Baechle <ralf@linux-mips.org> - 2016-10-25 11:10 +0200
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2016-10-24 14:30 +0200 |
| Subject | [PATCH 0/4] MIPS-kernel: Fine-tuning for two function implementations |
| Message-ID | <svMy5-7xJ-9@gated-at.bofh.it> |
From: Markus Elfring <elfring@users.sourceforge.net> Date: Mon, 24 Oct 2016 14:05:14 +0200 A few update suggestions were taken into account from static source code analysis. Markus Elfring (4): r2-to-r6-emul: Use seq_puts() in mipsr2_stats_show() proc: Use seq_putc() in show_cpuinfo() proc: Replace 28 seq_printf() calls by seq_puts() in show_cpuinfo() proc: Combine four seq_printf() calls into one call in show_cpuinfo() arch/mips/kernel/mips-r2-to-r6-emul.c | 7 +-- arch/mips/kernel/proc.c | 95 ++++++++++++++++++++--------------- 2 files changed, 59 insertions(+), 43 deletions(-) -- 2.10.1
[toc] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2016-10-24 14:30 +0200 |
| Subject | [PATCH 2/4] MIPS/kernel/proc: Use seq_putc() in show_cpuinfo() |
| Message-ID | <svMy6-7xJ-21@gated-at.bofh.it> |
| In reply to | #1507141 |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Mon, 24 Oct 2016 12:54:15 +0200
A few single characters (line breaks) should be put into a sequence.
Thus use the corresponding function "seq_putc".
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
arch/mips/kernel/proc.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index 4eff2ae..765489b 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -122,7 +122,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
if (cpu_has_eva) seq_printf(m, "%s", " eva");
if (cpu_has_htw) seq_printf(m, "%s", " htw");
if (cpu_has_xpa) seq_printf(m, "%s", " xpa");
- seq_printf(m, "\n");
+ seq_putc(m, '\n');
if (cpu_has_mmips) {
seq_printf(m, "micromips kernel\t: %s\n",
@@ -152,9 +152,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
raw_notifier_call_chain(&proc_cpuinfo_chain, 0,
&proc_cpuinfo_notifier_args);
-
- seq_printf(m, "\n");
-
+ seq_putc(m, '\n');
return 0;
}
--
2.10.1
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2016-10-24 14:40 +0200 |
| Subject | [PATCH 3/4] MIPS/kernel/proc: Replace 28 seq_printf() calls by seq_puts() in show_cpuinfo() |
| Message-ID | <svMHM-7B9-17@gated-at.bofh.it> |
| In reply to | #1507141 |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Mon, 24 Oct 2016 13:45:04 +0200
Strings which did not contain data format specifications should be put
into a sequence.
* Thus use the corresponding function "seq_puts" so that the data output
will be a bit more efficient.
* Omit the format string "%s" which became unnecessary with this refactoring.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
arch/mips/kernel/proc.c | 74 +++++++++++++++++++++++++++++--------------------
1 file changed, 44 insertions(+), 30 deletions(-)
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index 765489b..07480a9 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -79,49 +79,63 @@ static int show_cpuinfo(struct seq_file *m, void *v)
for (i = 0; i < cpu_data[n].watch_reg_count; i++)
seq_printf(m, "%s0x%04x", i ? ", " : "" ,
cpu_data[n].watch_reg_masks[i]);
- seq_printf(m, "]\n");
+ seq_puts(m, "]\n");
}
- seq_printf(m, "isa\t\t\t:");
+ seq_puts(m, "isa\t\t\t:");
if (cpu_has_mips_r1)
- seq_printf(m, " mips1");
+ seq_puts(m, " mips1");
if (cpu_has_mips_2)
- seq_printf(m, "%s", " mips2");
+ seq_puts(m, " mips2");
if (cpu_has_mips_3)
- seq_printf(m, "%s", " mips3");
+ seq_puts(m, " mips3");
if (cpu_has_mips_4)
- seq_printf(m, "%s", " mips4");
+ seq_puts(m, " mips4");
if (cpu_has_mips_5)
- seq_printf(m, "%s", " mips5");
+ seq_puts(m, " mips5");
if (cpu_has_mips32r1)
- seq_printf(m, "%s", " mips32r1");
+ seq_puts(m, " mips32r1");
if (cpu_has_mips32r2)
- seq_printf(m, "%s", " mips32r2");
+ seq_puts(m, " mips32r2");
if (cpu_has_mips32r6)
- seq_printf(m, "%s", " mips32r6");
+ seq_puts(m, " mips32r6");
if (cpu_has_mips64r1)
- seq_printf(m, "%s", " mips64r1");
+ seq_puts(m, " mips64r1");
if (cpu_has_mips64r2)
- seq_printf(m, "%s", " mips64r2");
+ seq_puts(m, " mips64r2");
if (cpu_has_mips64r6)
- seq_printf(m, "%s", " mips64r6");
- seq_printf(m, "\n");
-
- seq_printf(m, "ASEs implemented\t:");
- if (cpu_has_mips16) seq_printf(m, "%s", " mips16");
- if (cpu_has_mdmx) seq_printf(m, "%s", " mdmx");
- if (cpu_has_mips3d) seq_printf(m, "%s", " mips3d");
- if (cpu_has_smartmips) seq_printf(m, "%s", " smartmips");
- if (cpu_has_dsp) seq_printf(m, "%s", " dsp");
- if (cpu_has_dsp2) seq_printf(m, "%s", " dsp2");
- if (cpu_has_dsp3) seq_printf(m, "%s", " dsp3");
- if (cpu_has_mipsmt) seq_printf(m, "%s", " mt");
- if (cpu_has_mmips) seq_printf(m, "%s", " micromips");
- if (cpu_has_vz) seq_printf(m, "%s", " vz");
- if (cpu_has_msa) seq_printf(m, "%s", " msa");
- if (cpu_has_eva) seq_printf(m, "%s", " eva");
- if (cpu_has_htw) seq_printf(m, "%s", " htw");
- if (cpu_has_xpa) seq_printf(m, "%s", " xpa");
+ seq_puts(m, " mips64r6");
+ seq_puts(m,
+ "\n"
+ "ASEs implemented\t:");
+ if (cpu_has_mips16)
+ seq_puts(m, " mips16");
+ if (cpu_has_mdmx)
+ seq_puts(m, " mdmx");
+ if (cpu_has_mips3d)
+ seq_puts(m, " mips3d");
+ if (cpu_has_smartmips)
+ seq_puts(m, " smartmips");
+ if (cpu_has_dsp)
+ seq_puts(m, " dsp");
+ if (cpu_has_dsp2)
+ seq_puts(m, " dsp2");
+ if (cpu_has_dsp3)
+ seq_puts(m, " dsp3");
+ if (cpu_has_mipsmt)
+ seq_puts(m, " mt");
+ if (cpu_has_mmips)
+ seq_puts(m, " micromips");
+ if (cpu_has_vz)
+ seq_puts(m, " vz");
+ if (cpu_has_msa)
+ seq_puts(m, " msa");
+ if (cpu_has_eva)
+ seq_puts(m, " eva");
+ if (cpu_has_htw)
+ seq_puts(m, " htw");
+ if (cpu_has_xpa)
+ seq_puts(m, " xpa");
seq_putc(m, '\n');
if (cpu_has_mmips) {
--
2.10.1
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2016-10-24 14:40 +0200 |
| Subject | [PATCH 4/4] MIPS/kernel/proc: Combine four seq_printf() calls into one call in show_cpuinfo() |
| Message-ID | <svMHM-7B9-57@gated-at.bofh.it> |
| In reply to | #1507141 |
From: Markus Elfring <elfring@users.sourceforge.net> Date: Mon, 24 Oct 2016 13:54:58 +0200 Some data were printed into a sequence by four separate function calls. Print the same data by one function call instead. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> --- arch/mips/kernel/proc.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c index 07480a9..1047a03 100644 --- a/arch/mips/kernel/proc.c +++ b/arch/mips/kernel/proc.c @@ -142,12 +142,15 @@ static int show_cpuinfo(struct seq_file *m, void *v) seq_printf(m, "micromips kernel\t: %s\n", (read_c0_config3() & MIPS_CONF3_ISA_OE) ? "yes" : "no"); } - seq_printf(m, "shadow register sets\t: %d\n", - cpu_data[n].srsets); - seq_printf(m, "kscratch registers\t: %d\n", - hweight8(cpu_data[n].kscratch_mask)); - seq_printf(m, "package\t\t\t: %d\n", cpu_data[n].package); - seq_printf(m, "core\t\t\t: %d\n", cpu_data[n].core); + seq_printf(m, + "shadow register sets\t: %d\n" + "kscratch registers\t: %d\n" + "package\t\t\t: %d\n" + "core\t\t\t: %d\n", + cpu_data[n].srsets, + hweight8(cpu_data[n].kscratch_mask), + cpu_data[n].package, + cpu_data[n].core); #if defined(CONFIG_MIPS_MT_SMP) || defined(CONFIG_CPU_MIPSR6) if (cpu_has_mipsmt) -- 2.10.1
[toc] | [prev] | [next] | [standalone]
| From | Geert Uytterhoeven <geert@linux-m68k.org> |
|---|---|
| Date | 2016-10-25 11:00 +0200 |
| Subject | Re: [PATCH 4/4] MIPS/kernel/proc: Combine four seq_printf() calls into one call in show_cpuinfo() |
| Message-ID | <sw5Kp-3jn-5@gated-at.bofh.it> |
| In reply to | #1507160 |
On Mon, Oct 24, 2016 at 2:30 PM, SF Markus Elfring
<elfring@users.sourceforge.net> wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Mon, 24 Oct 2016 13:54:58 +0200
>
> Some data were printed into a sequence by four separate function calls.
> Print the same data by one function call instead.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
> arch/mips/kernel/proc.c | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
> index 07480a9..1047a03 100644
> --- a/arch/mips/kernel/proc.c
> +++ b/arch/mips/kernel/proc.c
> @@ -142,12 +142,15 @@ static int show_cpuinfo(struct seq_file *m, void *v)
> seq_printf(m, "micromips kernel\t: %s\n",
> (read_c0_config3() & MIPS_CONF3_ISA_OE) ? "yes" : "no");
> }
> - seq_printf(m, "shadow register sets\t: %d\n",
> - cpu_data[n].srsets);
> - seq_printf(m, "kscratch registers\t: %d\n",
> - hweight8(cpu_data[n].kscratch_mask));
> - seq_printf(m, "package\t\t\t: %d\n", cpu_data[n].package);
> - seq_printf(m, "core\t\t\t: %d\n", cpu_data[n].core);
> + seq_printf(m,
> + "shadow register sets\t: %d\n"
> + "kscratch registers\t: %d\n"
> + "package\t\t\t: %d\n"
> + "core\t\t\t: %d\n",
> + cpu_data[n].srsets,
> + hweight8(cpu_data[n].kscratch_mask),
> + cpu_data[n].package,
> + cpu_data[n].core);
I think the code is much easier to read with separate seq_printf()s for
each line printed.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
[toc] | [prev] | [next] | [standalone]
| From | Ralf Baechle <ralf@linux-mips.org> |
|---|---|
| Date | 2016-10-25 11:10 +0200 |
| Subject | Re: [PATCH 4/4] MIPS/kernel/proc: Combine four seq_printf() calls into one call in show_cpuinfo() |
| Message-ID | <sw5U6-3BL-21@gated-at.bofh.it> |
| In reply to | #1508079 |
On Tue, Oct 25, 2016 at 10:55:42AM +0200, Geert Uytterhoeven wrote: > > - seq_printf(m, "shadow register sets\t: %d\n", > > - cpu_data[n].srsets); > > - seq_printf(m, "kscratch registers\t: %d\n", > > - hweight8(cpu_data[n].kscratch_mask)); > > - seq_printf(m, "package\t\t\t: %d\n", cpu_data[n].package); > > - seq_printf(m, "core\t\t\t: %d\n", cpu_data[n].core); > > + seq_printf(m, > > + "shadow register sets\t: %d\n" > > + "kscratch registers\t: %d\n" > > + "package\t\t\t: %d\n" > > + "core\t\t\t: %d\n", > > + cpu_data[n].srsets, > > + hweight8(cpu_data[n].kscratch_mask), > > + cpu_data[n].package, > > + cpu_data[n].core); > > I think the code is much easier to read with separate seq_printf()s for > each line printed. Which is why I originally implemented this as separate function calls. Code size and performance are hardly an argument for /proc/cpuinfo. Ralf
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web