From: Andi Kleen <andi@firstfloor.org>
To: akpm@linux-foundation.org
Cc: linux-kernel@vger.kernel.org, Andi Kleen <ak@linux.intel.com>,
rostedt@goodmis.org
Subject: [PATCH 1/7] trace: Move trace_seq_overflowed out of line
Date: Tue, 14 Mar 2017 19:14:25 -0700 [thread overview]
Message-ID: <20170315021431.13107-2-andi@firstfloor.org> (raw)
In-Reply-To: <20170315021431.13107-1-andi@firstfloor.org>
From: Andi Kleen <ak@linux.intel.com>
Inlining trace_seq_overflowed takes ~17k in text size in my kernel.
The function doesn't seem to be time critical, so we can just out of line it.
Function Total Avg Num
trace_seq_has_overflowed 17134 (0.00%) 33 514
This saves around 6k here
text data bss dec hex filename
9102881 5367568 11116544 25586993 1866d31 vmlinux-orig
9096494 5367568 11116544 25580606 186543e vmlinux-trace-seq
Cc: rostedt@goodmis.org
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
include/linux/trace_seq.h | 12 +-----------
kernel/trace/trace_seq.c | 15 +++++++++++++++
2 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/include/linux/trace_seq.h b/include/linux/trace_seq.h
index cfaf5a1d4bad..442e4f087b95 100644
--- a/include/linux/trace_seq.h
+++ b/include/linux/trace_seq.h
@@ -56,17 +56,7 @@ trace_seq_buffer_ptr(struct trace_seq *s)
return s->buffer + seq_buf_used(&s->seq);
}
-/**
- * trace_seq_has_overflowed - return true if the trace_seq took too much
- * @s: trace sequence descriptor
- *
- * Returns true if too much data was added to the trace_seq and it is
- * now full and will not take anymore.
- */
-static inline bool trace_seq_has_overflowed(struct trace_seq *s)
-{
- return s->full || seq_buf_has_overflowed(&s->seq);
-}
+bool trace_seq_has_overflowed(struct trace_seq *s);
/*
* Currently only defined when tracing is enabled.
diff --git a/kernel/trace/trace_seq.c b/kernel/trace/trace_seq.c
index e694c9f9efa4..4367cd43e38c 100644
--- a/kernel/trace/trace_seq.c
+++ b/kernel/trace/trace_seq.c
@@ -375,3 +375,18 @@ int trace_seq_to_user(struct trace_seq *s, char __user *ubuf, int cnt)
return seq_buf_to_user(&s->seq, ubuf, cnt);
}
EXPORT_SYMBOL_GPL(trace_seq_to_user);
+
+
+
+/**
+ * trace_seq_has_overflowed - return true if the trace_seq took too much
+ * @s: trace sequence descriptor
+ *
+ * Returns true if too much data was added to the trace_seq and it is
+ * now full and will not take anymore.
+ */
+bool trace_seq_has_overflowed(struct trace_seq *s)
+{
+ return s->full || seq_buf_has_overflowed(&s->seq);
+}
+EXPORT_SYMBOL_GPL(trace_seq_has_overflowed);
--
2.9.3
next prev parent reply other threads:[~2017-03-15 2:14 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-15 2:14 Some inline debloating, 4.11 edition Andi Kleen
2017-03-15 2:14 ` Andi Kleen [this message]
2017-03-16 0:54 ` [PATCH 1/7] trace: Move trace_seq_overflowed out of line Steven Rostedt
2017-03-16 2:27 ` Andi Kleen
2017-03-16 3:20 ` Steven Rostedt
2017-03-16 3:41 ` Steven Rostedt
2017-03-15 2:14 ` [PATCH 2/7] x86/atomic: Move __atomic_add_unless " Andi Kleen
2017-03-15 2:14 ` [PATCH 3/7] sched: Out of line __update_load_avg Andi Kleen
2017-03-15 2:14 ` [PATCH 4/7] kref: Remove WARN_ON for NULL release functions Andi Kleen
2017-03-15 2:46 ` Greg KH
2017-03-15 12:27 ` Peter Zijlstra
2017-03-15 2:14 ` [PATCH 5/7] Out of line dma_alloc/free_attrs Andi Kleen
2017-03-15 2:14 ` [PATCH 6/7] megasas: Remove expensive inline from megasas_return_cmd Andi Kleen
2017-03-15 12:17 ` Sumit Saxena
2017-03-15 2:14 ` [PATCH 7/7] Remove expensive WARN_ON in pagefault_disabled_dec Andi Kleen
2017-03-15 21:49 ` Andrew Morton
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=20170315021431.13107-2-andi@firstfloor.org \
--to=andi@firstfloor.org \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.