linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Rasmus Villemoes <rasmus.villemoes@prevas.dk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org,
	Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@free-electrons.com>,
	linux-rtc@vger.kernel.org
Cc: Mark Salyzyn <salyzyn@android.com>
Subject: Re: [PATCH v1 00/25] lib, rtc: Print rtc_time via %pt[dt][rv]
Date: Tue, 18 Jul 2017 11:32:48 -0700	[thread overview]
Message-ID: <1500402768.25934.29.camel@perches.com> (raw)
In-Reply-To: <1500400523.29303.92.camel@linux.intel.com>

On Tue, 2017-07-18 at 20:55 +0300, Andy Shevchenko wrote:
> On Tue, 2017-07-18 at 10:50 -0700, Joe Perches wrote:
> > On Thu, 2017-06-08 at 16:47 +0300, Andy Shevchenko wrote:
> > > Recently I have noticed too many users of struct rtc_time that
> > > printing
> > > its content field by field.
> > > 
> > > In this series I introduce %pt[dt][rv] specifier to make life a bit
> > > easier.
> > 
> > Hey Andy.
> > 
> > I just saw a patch with a printk for rtc time from Mark Salyzyn.
> > https://lkml.org/lkml/2017/7/18/885
> 
> Same!
> 
> > Any idea if you want to push this extension?
> 
> Yes, just really lack of time for everything.
> 
> I like the idea to make it conditional (config BLABLABLA). It will
> address some comments about footprint for no users.

Only one of the other %p<foo> extensions is conditional
and that
conditional is probably not too useful.

I think the code size is relatively small and not
particularly valuable for the additional complexity.

For instance, all of the code that emits MAC and
IP[46] addresses %pM and %pI variants is 2.5K.
(x86 allnoconfig)

There are lots more code size savings than that
lying about.

And auditing all the code that might emit a MAC
address when CONFIG_NET is not set is probably
not worth the effort for the size reduction.

$ size lib/vsprintf.o*
   text	   data	    bss	    dec	    hex	
filename
  12140	      4	      0	  12144	   2f70	
lib/vsprintf.o.allnoconfig.new
  14785	      4	      0	  14789	   39c5	
lib/vsprintf.o.allnoconfig.old
---
 lib/vsprintf.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 86c3385b9eb3..de95e78ca5f0 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -933,6 +933,7 @@ char *bitmap_list_string(char *buf, char *end, unsigned long *bitmap,
 	return buf;
 }
 
+#ifdef CONFIG_NET
 static noinline_for_stack
 char *mac_address_string(char *buf, char *end, u8 *addr,
 			 struct printf_spec spec, const char *fmt)
@@ -1241,6 +1242,7 @@ char *ip4_addr_string_sa(char *buf, char *end, const struct sockaddr_in *sa,
 
 	return string(buf, end, ip4_addr, spec);
 }
+#endif
 
 static noinline_for_stack
 char *escaped_string(char *buf, char *end, u8 *addr, struct printf_spec spec,
@@ -1741,6 +1743,7 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
 		default:
 			return bitmap_string(buf, end, ptr, spec, fmt);
 		}
+#ifdef CONFIG_NET
 	case 'M':			/* Colon separated: 00:01:02:03:04:05 */
 	case 'm':			/* Contiguous: 000102030405 */
 					/* [mM]F (FDDI) */
@@ -1777,6 +1780,7 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
 			}}
 		}
 		break;
+#endif
 	case 'E':
 		return escaped_string(buf, end, ptr, spec, fmt);
 	case 'U':

  reply	other threads:[~2017-07-18 18:32 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-08 13:47 [PATCH v1 00/25] lib, rtc: Print rtc_time via %pt[dt][rv] Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 01/25] lib/vsprintf: Remove useless NULL checks Andy Shevchenko
2017-06-08 20:59   ` Rasmus Villemoes
2017-07-20 10:22     ` Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 02/25] lib/vsprintf: Make decspec global Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 03/25] lib/vsprintf: Make strspec global Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 04/25] lib/vsprintf: Print time and date in human readable format via %pt Andy Shevchenko
2017-06-08 14:49   ` Arnd Bergmann
2017-06-08 14:55     ` Andy Shevchenko
2017-06-08 15:05       ` Alexandre Belloni
2017-06-08 17:57         ` Andy Shevchenko
2017-06-08 18:41           ` Alexandre Belloni
2017-06-08 18:49             ` Andy Shevchenko
2017-06-08 20:42               ` Rasmus Villemoes
2017-06-08 21:25                 ` Andy Shevchenko
2017-06-08 21:45                   ` Arnd Bergmann
2017-07-20 10:30                     ` Andy Shevchenko
2017-06-08 15:33       ` Arnd Bergmann
2017-06-08 15:48         ` Joe Perches
2017-06-08 18:02         ` Andy Shevchenko
2017-06-08 23:09           ` Joe Perches
2017-06-08 13:47 ` [PATCH v1 05/25] ds1302: Switch to use %pt Andy Shevchenko
2017-06-08 14:00   ` Greg Kroah-Hartman
2017-06-08 13:47 ` [PATCH v1 06/25] rtc: " Andy Shevchenko
2017-06-08 14:00   ` Greg Kroah-Hartman
2017-06-08 18:38     ` Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 07/25] rtc: at91rm9200: " Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 08/25] rtc: at91sam9: " Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 09/25] rtc: m41t80: " Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 10/25] rtc: m48t59: " Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 11/25] rtc: mcp795: " Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 12/25] rtc: pcf50633: " Andy Shevchenko
2017-06-08 13:47 ` [PATCH v1 13/25] rtc: pic32: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 14/25] rtc: pm8xxx: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 15/25] rtc: puv3: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 16/25] rtc: rk808: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 17/25] rtc: rx6110: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 18/25] rtc: rx8025: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 19/25] rtc: s3c: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 20/25] rtc: s5m: " Andy Shevchenko
2017-06-08 16:46   ` Krzysztof Kozlowski
2017-06-08 13:48 ` [PATCH v1 21/25] rtc: tegra: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 22/25] mk68/mac: " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 23/25] Input: hp_sdc_rtc - " Andy Shevchenko
2017-06-08 13:48 ` [PATCH v1 24/25] kdb: " Andy Shevchenko
2017-06-09 13:42   ` Daniel Thompson
2017-10-12 13:31   ` Arnd Bergmann
2017-10-12 17:05     ` Andy Shevchenko
2017-10-13  7:42       ` Arnd Bergmann
2017-06-08 13:48 ` [PATCH v1 25/25] PM: " Andy Shevchenko
2017-06-08 17:16   ` Rafael J. Wysocki
2017-06-08 14:52 ` [PATCH v1 00/25] lib, rtc: Print rtc_time via %pt[dt][rv] Joe Perches
2017-06-08 15:02   ` Andy Shevchenko
2017-06-09  5:08     ` Joe Perches
2017-07-18 17:50 ` Joe Perches
2017-07-18 17:55   ` Andy Shevchenko
2017-07-18 18:32     ` Joe Perches [this message]
2017-07-18 19:57   ` Mark Salyzyn
2017-07-20 10:33     ` Andy Shevchenko
2017-07-20 17:57       ` Mark Salyzyn
2017-07-21  4:07         ` Joe Perches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1500402768.25934.29.camel@perches.com \
    --to=joe@perches.com \
    --cc=a.zummo@towertech.it \
    --cc=akpm@linux-foundation.org \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=rasmus.villemoes@prevas.dk \
    --cc=salyzyn@android.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).