From: Steven Rostedt <[email protected]>

The file trace.c has become a catchall for most things tracing. Start
making it smaller by breaking out various aspects into their own files.

Move the __always_inline functions __trace_buffer_lock_reserve(),
__trace_buffer_unlock_commit() and trace_event_setup() into trace.h.

The trace.c file will be split up and these functions will be used in more
than one of these files. As they are already __always_inline they can
easily be moved into the trace.h header file.

Signed-off-by: Steven Rostedt (Google) <[email protected]>
---
 kernel/trace/trace.c | 42 ------------------------------------------
 kernel/trace/trace.h | 41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+), 42 deletions(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index f040ee4fe101..55cd0c774886 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1058,30 +1058,6 @@ static inline void ftrace_trace_stack(struct trace_array 
*tr,
 
 #endif
 
-static __always_inline void
-trace_event_setup(struct ring_buffer_event *event,
-                 int type, unsigned int trace_ctx)
-{
-       struct trace_entry *ent = ring_buffer_event_data(event);
-
-       tracing_generic_entry_update(ent, type, trace_ctx);
-}
-
-static __always_inline struct ring_buffer_event *
-__trace_buffer_lock_reserve(struct trace_buffer *buffer,
-                         int type,
-                         unsigned long len,
-                         unsigned int trace_ctx)
-{
-       struct ring_buffer_event *event;
-
-       event = ring_buffer_lock_reserve(buffer, len);
-       if (event != NULL)
-               trace_event_setup(event, type, trace_ctx);
-
-       return event;
-}
-
 void tracer_tracing_on(struct trace_array *tr)
 {
        if (tr->array_buffer.buffer)
@@ -1109,24 +1085,6 @@ void tracing_on(void)
 }
 EXPORT_SYMBOL_GPL(tracing_on);
 
-
-static __always_inline void
-__buffer_unlock_commit(struct trace_buffer *buffer, struct ring_buffer_event 
*event)
-{
-       __this_cpu_write(trace_taskinfo_save, true);
-
-       /* If this is the temp buffer, we need to commit fully */
-       if (this_cpu_read(trace_buffered_event) == event) {
-               /* Length is in event->array[0] */
-               ring_buffer_write(buffer, event->array[0], &event->array[1]);
-               /* Release the temp buffer */
-               this_cpu_dec(trace_buffered_event_cnt);
-               /* ring_buffer_unlock_commit() enables preemption */
-               preempt_enable_notrace();
-       } else
-               ring_buffer_unlock_commit(buffer);
-}
-
 int __trace_array_puts(struct trace_array *tr, unsigned long ip,
                       const char *str, int size)
 {
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 19cffc7b5852..c2beabe96952 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -1568,6 +1568,47 @@ char *trace_user_fault_read(struct trace_user_buf_info 
*tinfo,
                            const char __user *ptr, size_t size,
                            trace_user_buf_copy copy_func, void *data);
 
+static __always_inline void
+trace_event_setup(struct ring_buffer_event *event,
+                 int type, unsigned int trace_ctx)
+{
+       struct trace_entry *ent = ring_buffer_event_data(event);
+
+       tracing_generic_entry_update(ent, type, trace_ctx);
+}
+
+static __always_inline struct ring_buffer_event *
+__trace_buffer_lock_reserve(struct trace_buffer *buffer,
+                         int type,
+                         unsigned long len,
+                         unsigned int trace_ctx)
+{
+       struct ring_buffer_event *event;
+
+       event = ring_buffer_lock_reserve(buffer, len);
+       if (event != NULL)
+               trace_event_setup(event, type, trace_ctx);
+
+       return event;
+}
+
+static __always_inline void
+__buffer_unlock_commit(struct trace_buffer *buffer, struct ring_buffer_event 
*event)
+{
+       __this_cpu_write(trace_taskinfo_save, true);
+
+       /* If this is the temp buffer, we need to commit fully */
+       if (this_cpu_read(trace_buffered_event) == event) {
+               /* Length is in event->array[0] */
+               ring_buffer_write(buffer, event->array[0], &event->array[1]);
+               /* Release the temp buffer */
+               this_cpu_dec(trace_buffered_event_cnt);
+               /* ring_buffer_unlock_commit() enables preemption */
+               preempt_enable_notrace();
+       } else
+               ring_buffer_unlock_commit(buffer);
+}
+
 static inline void
 __trace_event_discard_commit(struct trace_buffer *buffer,
                             struct ring_buffer_event *event)
-- 
2.51.0



Reply via email to