mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Frederic Weisbecker <fweisbec@gmail.com>
Subject: [for-next][PATCH 0/4] tracing: trace_puts() and faster trace_printk()
Date: Sun, 10 Mar 2013 11:27:52 -0400	[thread overview]
Message-ID: <20130310152752.848922120@goodmis.org> (raw)


I thought I was done with my ftrace 3.10 patches, but oh well. There's
a few more things that I want to do for 3.10.

I noticed that I used trace_printk() in my tracing_snapshot() in case
it was used incorrectly, but then I realized that those caused the
kernel to preallocate the trace_printk() context buffers all the time
(1 page per context [4 of them], and per cpu). This was not what I wanted.
Thus is started creating a special "internal to ftrace" use that
would not need the context buffers. I added a trace_puts() for this
and then realized that this would be nice for others to use as trace_printk(),
even when doing a trace_bprintk(), still requires a scan of the fmt
string when there are no arguments in use.

Then I thought it would be nice if the compiler just picked trace_puts()
when trace_printk() had no args. Thus, I pulled out my old macro wizard
robe, hat and wand and started playing again. And I came up with patch #2.
:-)

These 4 patches are specific for using ftrace by developers, as the
functions an not called anywhere and are only to be used when a developer
is debugging their code.

Enjoy,

-- Steve


Steven Rostedt (Red Hat) (4):
      tracing: Add trace_puts() for even faster trace_printk() tracing
      tracing: Optimize trace_printk() with one arg to use trace_puts()
      tracing: Add internal ftrace trace_puts() for ftrace to use
      tracing: Let tracing_snapshot() be used by modules but not NMI

----
 include/linux/kernel.h       |   64 +++++++++++++++++++++++++++-
 kernel/trace/trace.c         |   94 ++++++++++++++++++++++++++++++++++++++++--
 kernel/trace/trace.h         |   13 ++++++
 kernel/trace/trace_entries.h |   23 +++++++++--
 kernel/trace/trace_output.c  |   75 +++++++++++++++++++++++++++++++++
 kernel/trace/trace_output.h  |    2 +
 6 files changed, 261 insertions(+), 10 deletions(-)

             reply	other threads:[~2013-03-10 15:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-10 15:27 Steven Rostedt [this message]
2013-03-10 15:27 ` [for-next][PATCH 1/4] tracing: Add trace_puts() for even faster trace_printk() tracing Steven Rostedt
2013-03-10 15:27 ` [for-next][PATCH 2/4] tracing: Optimize trace_printk() with one arg to use trace_puts() Steven Rostedt
2013-03-10 15:27 ` [for-next][PATCH 3/4] tracing: Add internal ftrace trace_puts() for ftrace to use Steven Rostedt
2013-03-10 15:27 ` [for-next][PATCH 4/4] tracing: Let tracing_snapshot() be used by modules but not NMI Steven Rostedt

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=20130310152752.848922120@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=akpm@linux-foundation.org \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /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

all inboxes | Powered by JetHome®