aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/trace_seq.h
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2014-06-26 09:42:41 -0400
committerSteven Rostedt <rostedt@goodmis.org>2014-07-01 07:13:39 -0400
commit7b039cb4c5a90d8ea576b17e096f7334457aeb57 (patch)
treef901548a3740e26a36f142e049e28918199ca67f /include/linux/trace_seq.h
parenttracing: Remove unnecessary null test before debugfs_remove() (diff)
downloadlinux-dev-7b039cb4c5a90d8ea576b17e096f7334457aeb57.tar.xz
linux-dev-7b039cb4c5a90d8ea576b17e096f7334457aeb57.zip
tracing: Add trace_seq_buffer_ptr() helper function
There's several locations in the kernel that open code the calculation of the next location in the trace_seq buffer. This is usually done with p->buffer + p->len Instead of having this open coded, supply a helper function in the header to do it for them. This function is called trace_seq_buffer_ptr(). Link: http://lkml.kernel.org/p/20140626220129.452783019@goodmis.org Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/linux/trace_seq.h')
-rw-r--r--include/linux/trace_seq.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/trace_seq.h b/include/linux/trace_seq.h
index dd85753e1bb0..ea6c9dea79e3 100644
--- a/include/linux/trace_seq.h
+++ b/include/linux/trace_seq.h
@@ -25,6 +25,21 @@ trace_seq_init(struct trace_seq *s)
s->full = 0;
}
+/**
+ * trace_seq_buffer_ptr - return pointer to next location in buffer
+ * @s: trace sequence descriptor
+ *
+ * Returns the pointer to the buffer where the next write to
+ * the buffer will happen. This is useful to save the location
+ * that is about to be written to and then return the result
+ * of that write.
+ */
+static inline unsigned char *
+trace_seq_buffer_ptr(struct trace_seq *s)
+{
+ return s->buffer + s->len;
+}
+
/*
* Currently only defined when tracing is enabled.
*/