timer_list: Reduce SEQ_printf footprint
PATCH 1/1 timer_list: Reduce SEQ_printf footprint
This macro can be converted to a static inline to reduce object size.
(x86-64 defconfig)
$ size kernel/time/timer_list.o* text data bss dec hex filename 4647 8 0 4655 122f kernel/time/timer_list.o.new 6583 8 0 6591 19bf kernel/time/timer_list.o.old
Signed-off-by Joe Perches <[email protected]>
--- kernel/time/timer_list.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)
kernel/time/timer_list.c +14 -7
@@ -35,13 +35,20 @@ DECLARE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases);* This allows printing both to /proc/timer_list and * to the console (on SysRq-Q): */ -#define SEQ_printf(m, x...) \ - do { \ - if (m) \ - seq_printf(m, x); \ - else \ - printk(x); \ - } while (0) +__printf(2, 3) +static void SEQ_printf (struct seq_file *m,const char *fmt, ...) +{ +va_list args; + +va_start (args, fmt); + +if (m) +seq_vprintf (m, fmt, args); +else +vprintk (fmt, args); + +va_end (args); +}static void print_name_offset (struct seq_file *m,void *sym) {
Quoted 2 lines · Joe Perches
This macro can be converted to a static inline to reduce object size.
bah, that should be "static function".
tip-bot for Joe Perches
merge bottimer_list: Reduce SEQ_printf footprint
Commit-ID: 7de4e74430139f2484cb16cedf6c281d1a5a696e Gitweb: http://git.kernel.org/tip/7de4e74430139f2484cb16cedf6c281d1a5a696e Author: Joe Perches <[email protected]> AuthorDate: Fri, 17 Apr 2015 11:39:18 -0700 Committer: Thomas Gleixner <[email protected]> CommitDate: Wed, 22 Apr 2015 12:03:39 +0200
timer_list: Reduce SEQ_printf footprint
This macro can be converted to a static function to reduce object size.
(x86-64 defconfig)
$ size kernel/time/timer_list.o* text data bss dec hex filename 6583 8 0 6591 19bf kernel/time/timer_list.o.old 4647 8 0 4655 122f kernel/time/timer_list.o.new
Signed-off-by Joe Perches <[email protected]>
Cc John Stultz <[email protected]>
Signed-off-by Thomas Gleixner <[email protected]>
--- kernel/time/timer_list.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)
kernel/time/timer_list.c +14 -7
@@ -35,13 +35,20 @@ DECLARE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases);* This allows printing both to /proc/timer_list and * to the console (on SysRq-Q): */ -#define SEQ_printf(m, x...) \ - do { \ - if (m) \ - seq_printf(m, x); \ - else \ - printk(x); \ - } while (0) +__printf(2, 3) +static void SEQ_printf (struct seq_file *m,const char *fmt, ...) +{ +va_list args; + +va_start (args, fmt); + +if (m) +seq_vprintf (m, fmt, args); +else +vprintk (fmt, args); + +va_end (args); +}static void print_name_offset (struct seq_file *m,void *sym) {