Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp5051103ybp; Mon, 7 Oct 2019 19:00:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqxGWOtthPe6BgOdWQ/pBzHD/kmkR8v2FeAkcNL8CdibZGeHC0BzfmIrk3KgBGlhMxxjRhyb X-Received: by 2002:a17:906:234e:: with SMTP id m14mr26326451eja.118.1570500011146; Mon, 07 Oct 2019 19:00:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570500011; cv=none; d=google.com; s=arc-20160816; b=fwXAVo5kTueAFGLgoPN93FBDUTXdMUDdI5l4bFEjtVJ34od91Z5JWZhEyYcSjRVyjA 6RZgX0H2SrVxVYXmUk2loNi9SwsI0986SEddPypQqDY+XH5+g9xV4gL3M3GcG4BScHJb 1Sof/mu6K4/txRRUfcm+9M3rUQJRx0dP7Eepch43ZodKAjxPoNt+cx1XUHtHR5Gndv4U 7ET1sU2habsG8lhcAbpS+/tCt0jjd/WzmQcGzOnYQNddvHwx23ETHwLFd1pAOTwOccbY EMh4CIJK3ORNb92TX/JB7KG4LwxueMqRIAeqpa+ZEtpu7wbbqOkubp2KMSoirXX9FZGJ JY0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=AkszB6VPC9yLWRNqWoffYJBZZPNWRNvPvKBkxRHgZSE=; b=F3RCYAwp6qkWNsNgWVcsKvVHPNtEGKt+WjilzvpTXdjgxDBxWtSbsiS3pIwYP8KwFb mFZgap6b8cotpH5M3iU6q0VjLxZK0W/ENQZ3GGopj+EE5LvQFKUI9eovHM8+d/pSGmG4 00/hp/ImsM5jiaGYwGgcb4Q9S9X8/g3WQTxSjx859NuS8xDDvZa8fyn3h4KjDNoDKU5F OGNjNDQV//qe0qArFGpw8mZ5DoS8lOPnSQUdej5vmEWm+w7XZ6Sh7wNeX2BumjpOpetI gZeg2LbHHIQZ5IUuoC084TIgJ6+1sXwrcQpbWuDLISyED2fv0Y6l8uH7u+PwNQwzrner 11Yg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hpe.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g21si9289054edq.289.2019.10.07.18.59.47; Mon, 07 Oct 2019 19:00:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hpe.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729587AbfJHB7c (ORCPT + 99 others); Mon, 7 Oct 2019 21:59:32 -0400 Received: from mx0a-002e3701.pphosted.com ([148.163.147.86]:43190 "EHLO mx0a-002e3701.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726917AbfJHB7c (ORCPT ); Mon, 7 Oct 2019 21:59:32 -0400 Received: from pps.filterd (m0134420.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x981ukGB014081; Tue, 8 Oct 2019 01:59:21 GMT Received: from g2t2352.austin.hpe.com (g2t2352.austin.hpe.com [15.233.44.25]) by mx0b-002e3701.pphosted.com with ESMTP id 2vg3pwm8p8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 08 Oct 2019 01:59:21 +0000 Received: from g2t2360.austin.hpecorp.net (g2t2360.austin.hpecorp.net [16.196.225.135]) by g2t2352.austin.hpe.com (Postfix) with ESMTP id E1E7763; Tue, 8 Oct 2019 01:59:20 +0000 (UTC) Received: from hpe.com (teo-eag.americas.hpqcorp.net [10.33.152.10]) by g2t2360.austin.hpecorp.net (Postfix) with ESMTP id 4A4EC36; Tue, 8 Oct 2019 01:59:20 +0000 (UTC) Date: Mon, 7 Oct 2019 20:59:20 -0500 From: Dimitri Sivanich To: Joe Perches Cc: Christoph Hellwig , Arnd Bergmann , Greg Kroah-Hartman , linux-kernel , Dimitri Sivanich Subject: Re: [PATCH] sgi-gru: simplify procfs code some more Message-ID: <20191008015919.GA10893@hpe.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-10-07_05:2019-10-07,2019-10-07 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=9 adultscore=0 mlxlogscore=985 impostorscore=0 clxscore=1011 phishscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 priorityscore=1501 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1908290000 definitions=main-1910080019 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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 > --- > 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; > >