[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1410513954-28909-1-git-send-email-linux@rasmusvillemoes.dk>
Date: Fri, 12 Sep 2014 11:25:48 +0200
From: Rasmus Villemoes <linux@...musvillemoes.dk>
To: Julia Lawall <Julia.Lawall@...6.fr>,
Steven Rostedt <rostedt@...dmis.org>,
Ingo Molnar <mingo@...hat.com>
Cc: linux-kernel@...r.kernel.org,
Rasmus Villemoes <linux@...musvillemoes.dk>
Subject: [PATCH 0/6] Small seqfile-use improvements
Patches 1-3 are semantic patches for replacing certain seq_* calls
with simpler equivalents, e.g. seq_printf(m, "literal") -> seq_puts(m,
"literal"). 1 and 3 are guaranteed to preserve the semantics of the
code. 2 may change it slightly, since if the seq_file overflows midway
through a series of seq_puts calls, some of the strings have been
printed; after applying 2, it is all-or-nothing. However, consecutive
seq_puts calls with literal strings is mostly used to print long
headers, so overflow is very unlikely.
As an example, I applied these coccinelle scripts to kernel/trace/.
The net result is a nice round, but admittedly tiny, 256 byte .text
reduction.
Rasmus Villemoes (6):
Coccinelle: Semantic patch for replacing puts with putc
Coccinelle: Semantic patch for joining seq_puts calls
Coccinelle: Semantic patch for replacing seq_printf calls with
equivalent but simpler functions
trace: Replace seq_printf by simpler equivalents
trace: Merge consecutive seq_puts calls
trace: Replace single-character seq_puts with seq_putc
kernel/trace/ftrace.c | 30 +++---
kernel/trace/trace.c | 86 ++++++++-------
kernel/trace/trace_branch.c | 31 +++---
kernel/trace/trace_events.c | 4 +-
kernel/trace/trace_events_trigger.c | 6 +-
kernel/trace/trace_functions.c | 2 +-
kernel/trace/trace_functions_graph.c | 28 ++---
kernel/trace/trace_kprobe.c | 12 +--
kernel/trace/trace_printk.c | 2 +-
kernel/trace/trace_uprobe.c | 4 +-
scripts/coccinelle/api/seq_printf.cocci | 156 +++++++++++++++++++++++++++
scripts/coccinelle/api/seq_puts_concat.cocci | 71 ++++++++++++
scripts/coccinelle/api/seq_putsc.cocci | 61 +++++++++++
13 files changed, 393 insertions(+), 100 deletions(-)
create mode 100644 scripts/coccinelle/api/seq_printf.cocci
create mode 100644 scripts/coccinelle/api/seq_puts_concat.cocci
create mode 100644 scripts/coccinelle/api/seq_putsc.cocci
--
2.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists