[PATCH 2/4] ring_buffer: Export for_each_buffer_cpu()

From: Richard Weinberger
Date: Thu Feb 09 2012 - 16:56:53 EST


In order to make ring_buffer usable to other modules
for_each_buffer_cpu() needs to be exported.

Signed-off-by: Richard Weinberger <richard@xxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
---
include/linux/ring_buffer.h | 5 +++++
kernel/trace/ring_buffer.c | 7 +++++++
2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h
index 67be037..5c1c29f 100644
--- a/include/linux/ring_buffer.h
+++ b/include/linux/ring_buffer.h
@@ -185,4 +185,9 @@ enum ring_buffer_flags {
RB_FL_OVERWRITE = 1 << 0,
};

+cpumask_var_t *ring_buffer_mask(struct ring_buffer *buffer);
+
+#define for_each_buffer_cpu(buffer, cpu) \
+ for_each_cpu(cpu, *(ring_buffer_mask(buffer)))
+
#endif /* _LINUX_RING_BUFFER_H */
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index f5b7b5c..a4117c5 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -348,6 +348,7 @@ void *ring_buffer_event_data(struct ring_buffer_event *event)
}
EXPORT_SYMBOL_GPL(ring_buffer_event_data);

+#undef for_each_buffer_cpu
#define for_each_buffer_cpu(buffer, cpu) \
for_each_cpu(cpu, buffer->cpumask)

@@ -4139,3 +4140,9 @@ static int rb_cpu_notify(struct notifier_block *self,
return NOTIFY_OK;
}
#endif
+
+cpumask_var_t *ring_buffer_mask(struct ring_buffer *buffer)
+{
+ return &buffer->cpumask;
+}
+EXPORT_SYMBOL_GPL(ring_buffer_mask);
--
1.7.7.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/