Re: [PATCH] sgi-gru: simplify procfs code some more

From: Dimitri Sivanich
Date: Mon Oct 07 2019 - 21:59:34 EST


While a reduction in object size is welcome, in this case it does come at the
expense of some clarity, as field sizes are no longer as clear.
Nevertheless, will add my ack.

Acked-by: Dimitri Sivanich <sivanich@xxxxxxx>

On Mon, Oct 07, 2019 at 11:30:46AM -0700, Joe Perches wrote:
> Use seq_puts and simple string output and not seq_printf with formats
> and individual strings to reduce overall object size.
>
> $ size drivers/misc/sgi-gru/gruprocfs.o* (x86-64 defconfig with gru)
> text data bss dec hex filename
> 7006 8 0 7014 1b66 drivers/misc/sgi-gru/gruprocfs.o.new
> 7472 8 0 7480 1d38 drivers/misc/sgi-gru/gruprocfs.o.old
>
> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
> ---
> drivers/misc/sgi-gru/gruprocfs.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/misc/sgi-gru/gruprocfs.c b/drivers/misc/sgi-gru/gruprocfs.c
> index 3a8d76d1ccae..2817f4751306 100644
> --- a/drivers/misc/sgi-gru/gruprocfs.c
> +++ b/drivers/misc/sgi-gru/gruprocfs.c
> @@ -119,7 +119,7 @@ static int mcs_statistics_show(struct seq_file *s, void *p)
> "cch_interrupt_sync", "cch_deallocate", "tfh_write_only",
> "tfh_write_restart", "tgh_invalidate"};
>
> - seq_printf(s, "%-20s%12s%12s%12s\n", "#id", "count", "aver-clks", "max-clks");
> + seq_puts(s, "#id count aver-clks max-clks\n");
> for (op = 0; op < mcsop_last; op++) {
> count = atomic_long_read(&mcs_op_statistics[op].count);
> total = atomic_long_read(&mcs_op_statistics[op].total);
> @@ -165,8 +165,7 @@ static int cch_seq_show(struct seq_file *file, void *data)
> const char *mode[] = { "??", "UPM", "INTR", "OS_POLL" };
>
> if (gid == 0)
> - seq_printf(file, "#%5s%5s%6s%7s%9s%6s%8s%8s\n", "gid", "bid",
> - "ctx#", "asid", "pid", "cbrs", "dsbytes", "mode");
> + seq_puts(file, "# gid bid ctx# asid pid cbrs dsbytes mode\n");
> if (gru)
> for (i = 0; i < GRU_NUM_CCH; i++) {
> ts = gru->gs_gts[i];
> @@ -191,10 +190,8 @@ static int gru_seq_show(struct seq_file *file, void *data)
> struct gru_state *gru = GID_TO_GRU(gid);
>
> if (gid == 0) {
> - seq_printf(file, "#%5s%5s%7s%6s%6s%8s%6s%6s\n", "gid", "nid",
> - "ctx", "cbr", "dsr", "ctx", "cbr", "dsr");
> - seq_printf(file, "#%5s%5s%7s%6s%6s%8s%6s%6s\n", "", "", "busy",
> - "busy", "busy", "free", "free", "free");
> + seq_puts(file, "# gid nid ctx cbr dsr ctx cbr dsr\n");
> + seq_puts(file, "# busy busy busy free free free\n");
> }
> if (gru) {
> ctxfree = GRU_NUM_CCH - gru->gs_active_contexts;
>
>