All of lore.kernel.org
 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>,
	Andi Kleen <andi@firstfloor.org>
Subject: [for-next][PATCH 2/8] ring-buffer: Make rb_reserve_next_event() always inlined
Date: Tue, 29 Nov 2016 10:06:16 -0500	[thread overview]
Message-ID: <20161129150717.479129720@goodmis.org> (raw)
In-Reply-To: 20161129150614.797594570@goodmis.org

[-- Attachment #1: 0002-ring-buffer-Make-rb_reserve_next_event-always-inline.patch --]
[-- Type: text/plain, Size: 1177 bytes --]

From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>

The function rb_reserved_next_event() is called by two functions:
ring_buffer_lock_reserve() and ring_buffer_write(). This is in a very hot
path of the tracing code, and it is best that they are not functions. The
two callers are basically wrapers for rb_reserver_next_event(). Removing the
function calls can save execution time in the hotpath of tracing.

Link: http://lkml.kernel.org/r/20161121183700.GW26852@two.firstfloor.org

Reported-by: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/trace/ring_buffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 9c143739b8d7..1f3580cee6cc 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -2733,7 +2733,7 @@ __rb_reserve_next(struct ring_buffer_per_cpu *cpu_buffer,
 	return event;
 }
 
-static struct ring_buffer_event *
+static __always_inline struct ring_buffer_event *
 rb_reserve_next_event(struct ring_buffer *buffer,
 		      struct ring_buffer_per_cpu *cpu_buffer,
 		      unsigned long length)
-- 
2.10.2

  parent reply	other threads:[~2016-11-29 15:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-29 15:06 [for-next][PATCH 0/8] tracing: Some micro optimizations Steven Rostedt
2016-11-29 15:06 ` [for-next][PATCH 1/8] tracing: Create a always_inlined __trace_buffer_lock_reserve() Steven Rostedt
2016-11-29 15:06 ` Steven Rostedt [this message]
2016-11-29 15:06 ` [for-next][PATCH 3/8] ring-buffer: Always inline rb_event_data() Steven Rostedt
2016-11-29 15:06 ` [for-next][PATCH 4/8] tracing: Make tracepoint_printk a static_key Steven Rostedt
2016-11-29 15:06 ` [for-next][PATCH 5/8] tracing: Make __buffer_unlock_commit() always_inline Steven Rostedt
2016-11-29 15:06 ` [for-next][PATCH 6/8] ring-buffer: Force inline of hotpath helper functions Steven Rostedt
2016-11-29 15:06 ` [for-next][PATCH 7/8] ring-buffer: Froce rb_update_write_stamp() to be inlined Steven Rostedt
2016-11-29 15:06 ` [for-next][PATCH 8/8] ring-buffer: Force rb_end_commit() and rb_set_commit_to_write() inline 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=20161129150717.479129720@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.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.