public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH tip 1/2] ring_buffer: remove unused flags parameter
@ 2009-02-05 18:12 Arnaldo Carvalho de Melo
  2009-02-05 22:17 ` Frederic Weisbecker
  2009-02-06  0:02 ` Ingo Molnar
  0 siblings, 2 replies; 12+ messages in thread
From: Arnaldo Carvalho de Melo @ 2009-02-05 18:12 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Ingo Molnar, Frédéric Weisbecker, Jens Axboe,
	Linux Kernel Mailing List

Impact: API change, cleanup

>From ring_buffer_{lock_reserve,unlock_commit}.

Cc: Ingo Molnar <mingo@elte.hu>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 block/blktrace.c                 |    8 +++---
 include/linux/ring_buffer.h      |    9 ++----
 kernel/trace/kmemtrace.c         |   12 +++-----
 kernel/trace/ring_buffer.c       |    9 +-----
 kernel/trace/trace.c             |   56 +++++++++++++------------------------
 kernel/trace/trace_boot.c        |   12 +++-----
 kernel/trace/trace_branch.c      |    7 ++---
 kernel/trace/trace_hw_branches.c |    6 ++--
 kernel/trace/trace_mmiotrace.c   |   12 +++-----
 kernel/trace/trace_power.c       |   12 +++-----
 10 files changed, 51 insertions(+), 92 deletions(-)

$ codiff /tmp/vmlinux.before /tmp/vmlinux.after
linux-2.6-tip/kernel/trace/trace.c:
  trace_vprintk              |  -14
  trace_graph_return         |  -14
  trace_graph_entry          |  -10
  trace_function             |   -8
  __ftrace_trace_stack       |   -8
  ftrace_trace_userstack     |   -8
  tracing_sched_switch_trace |   -8
  ftrace_trace_special       |  -12
  tracing_sched_wakeup_trace |   -8
 9 functions changed, 90 bytes removed, diff: -90

linux-2.6-tip/block/blktrace.c:
  __blk_add_trace |   -1
 1 function changed, 1 bytes removed, diff: -1

/tmp/vmlinux.after:
 10 functions changed, 91 bytes removed, diff: -91

diff --git a/block/blktrace.c b/block/blktrace.c
index d9d7146..8e52f24 100644
--- a/block/blktrace.c
+++ b/block/blktrace.c
@@ -165,7 +165,7 @@ static void __blk_add_trace(struct blk_trace *bt, sector_t sector, int bytes,
 	struct task_struct *tsk = current;
 	struct ring_buffer_event *event = NULL;
 	struct blk_io_trace *t;
-	unsigned long flags;
+	unsigned long flags = 0;
 	unsigned long *sequence;
 	pid_t pid;
 	int cpu, pc = 0;
@@ -191,7 +191,7 @@ static void __blk_add_trace(struct blk_trace *bt, sector_t sector, int bytes,
 		tracing_record_cmdline(current);
 
 		event = ring_buffer_lock_reserve(blk_tr->buffer,
-						 sizeof(*t) + pdu_len, &flags);
+						 sizeof(*t) + pdu_len);
 		if (!event)
 			return;
 
@@ -241,11 +241,11 @@ record_it:
 			memcpy((void *) t + sizeof(*t), pdu_data, pdu_len);
 
 		if (blk_tr) {
-			ring_buffer_unlock_commit(blk_tr->buffer, event, flags);
+			ring_buffer_unlock_commit(blk_tr->buffer, event);
 			if (pid != 0 &&
 			    !(blk_tracer_flags.val & TRACE_BLK_OPT_CLASSIC) &&
 			    (trace_flags & TRACE_ITER_STACKTRACE) != 0)
-				__trace_stack(blk_tr, flags, 5, pc);
+				__trace_stack(blk_tr, 0, 5, pc);
 			trace_wake_up();
 			return;
 		}
diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h
index b3b3596..3110d92 100644
--- a/include/linux/ring_buffer.h
+++ b/include/linux/ring_buffer.h
@@ -74,13 +74,10 @@ void ring_buffer_free(struct ring_buffer *buffer);
 
 int ring_buffer_resize(struct ring_buffer *buffer, unsigned long size);
 
-struct ring_buffer_event *
-ring_buffer_lock_reserve(struct ring_buffer *buffer,
-			 unsigned long length,
-			 unsigned long *flags);
+struct ring_buffer_event *ring_buffer_lock_reserve(struct ring_buffer *buffer,
+						   unsigned long length);
 int ring_buffer_unlock_commit(struct ring_buffer *buffer,
-			      struct ring_buffer_event *event,
-			      unsigned long flags);
+			      struct ring_buffer_event *event);
 int ring_buffer_write(struct ring_buffer *buffer,
 		      unsigned long length, void *data);
 
diff --git a/kernel/trace/kmemtrace.c b/kernel/trace/kmemtrace.c
index f04c062..256749d 100644
--- a/kernel/trace/kmemtrace.c
+++ b/kernel/trace/kmemtrace.c
@@ -272,13 +272,11 @@ void kmemtrace_mark_alloc_node(enum kmemtrace_type_id type_id,
 	struct ring_buffer_event *event;
 	struct kmemtrace_alloc_entry *entry;
 	struct trace_array *tr = kmemtrace_array;
-	unsigned long irq_flags;
 
 	if (!kmem_tracing_enabled)
 		return;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
@@ -292,7 +290,7 @@ void kmemtrace_mark_alloc_node(enum kmemtrace_type_id type_id,
 	entry->gfp_flags = gfp_flags;
 	entry->node	=	node;
 
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
 	trace_wake_up();
 }
@@ -305,13 +303,11 @@ void kmemtrace_mark_free(enum kmemtrace_type_id type_id,
 	struct ring_buffer_event *event;
 	struct kmemtrace_free_entry *entry;
 	struct trace_array *tr = kmemtrace_array;
-	unsigned long irq_flags;
 
 	if (!kmem_tracing_enabled)
 		return;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
@@ -322,7 +318,7 @@ void kmemtrace_mark_free(enum kmemtrace_type_id type_id,
 	entry->call_site = call_site;
 	entry->ptr = ptr;
 
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
 	trace_wake_up();
 }
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index b36d737..aee76b3 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -1257,7 +1257,6 @@ static DEFINE_PER_CPU(int, rb_need_resched);
  * ring_buffer_lock_reserve - reserve a part of the buffer
  * @buffer: the ring buffer to reserve from
  * @length: the length of the data to reserve (excluding event header)
- * @flags: a pointer to save the interrupt flags
  *
  * Returns a reseverd event on the ring buffer to copy directly to.
  * The user of this interface will need to get the body to write into
@@ -1270,9 +1269,7 @@ static DEFINE_PER_CPU(int, rb_need_resched);
  * If NULL is returned, then nothing has been allocated or locked.
  */
 struct ring_buffer_event *
-ring_buffer_lock_reserve(struct ring_buffer *buffer,
-			 unsigned long length,
-			 unsigned long *flags)
+ring_buffer_lock_reserve(struct ring_buffer *buffer, unsigned long length)
 {
 	struct ring_buffer_per_cpu *cpu_buffer;
 	struct ring_buffer_event *event;
@@ -1339,15 +1336,13 @@ static void rb_commit(struct ring_buffer_per_cpu *cpu_buffer,
  * ring_buffer_unlock_commit - commit a reserved
  * @buffer: The buffer to commit to
  * @event: The event pointer to commit.
- * @flags: the interrupt flags received from ring_buffer_lock_reserve.
  *
  * This commits the data to the ring buffer, and releases any locks held.
  *
  * Must be paired with ring_buffer_lock_reserve.
  */
 int ring_buffer_unlock_commit(struct ring_buffer *buffer,
-			      struct ring_buffer_event *event,
-			      unsigned long flags)
+			      struct ring_buffer_event *event)
 {
 	struct ring_buffer_per_cpu *cpu_buffer;
 	int cpu = raw_smp_processor_id();
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 3536ef4..eb453a2 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -783,14 +783,12 @@ trace_function(struct trace_array *tr,
 {
 	struct ring_buffer_event *event;
 	struct ftrace_entry *entry;
-	unsigned long irq_flags;
 
 	/* If we are reading the ring buffer, don't trace */
 	if (unlikely(local_read(&__get_cpu_var(ftrace_cpu_disabled))))
 		return;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
@@ -798,7 +796,7 @@ trace_function(struct trace_array *tr,
 	entry->ent.type			= TRACE_FN;
 	entry->ip			= ip;
 	entry->parent_ip		= parent_ip;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 }
 
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
@@ -809,20 +807,18 @@ static void __trace_graph_entry(struct trace_array *tr,
 {
 	struct ring_buffer_event *event;
 	struct ftrace_graph_ent_entry *entry;
-	unsigned long irq_flags;
 
 	if (unlikely(local_read(&__get_cpu_var(ftrace_cpu_disabled))))
 		return;
 
-	event = ring_buffer_lock_reserve(global_trace.buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(global_trace.buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
 	tracing_generic_entry_update(&entry->ent, flags, pc);
 	entry->ent.type			= TRACE_GRAPH_ENT;
 	entry->graph_ent			= *trace;
-	ring_buffer_unlock_commit(global_trace.buffer, event, irq_flags);
+	ring_buffer_unlock_commit(global_trace.buffer, event);
 }
 
 static void __trace_graph_return(struct trace_array *tr,
@@ -832,20 +828,18 @@ static void __trace_graph_return(struct trace_array *tr,
 {
 	struct ring_buffer_event *event;
 	struct ftrace_graph_ret_entry *entry;
-	unsigned long irq_flags;
 
 	if (unlikely(local_read(&__get_cpu_var(ftrace_cpu_disabled))))
 		return;
 
-	event = ring_buffer_lock_reserve(global_trace.buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(global_trace.buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
 	tracing_generic_entry_update(&entry->ent, flags, pc);
 	entry->ent.type			= TRACE_GRAPH_RET;
 	entry->ret				= *trace;
-	ring_buffer_unlock_commit(global_trace.buffer, event, irq_flags);
+	ring_buffer_unlock_commit(global_trace.buffer, event);
 }
 #endif
 
@@ -866,10 +860,8 @@ static void __ftrace_trace_stack(struct trace_array *tr,
 	struct ring_buffer_event *event;
 	struct stack_entry *entry;
 	struct stack_trace trace;
-	unsigned long irq_flags;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
@@ -884,7 +876,7 @@ static void __ftrace_trace_stack(struct trace_array *tr,
 	trace.entries		= entry->caller;
 
 	save_stack_trace(&trace);
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 #endif
 }
 
@@ -912,13 +904,11 @@ static void ftrace_trace_userstack(struct trace_array *tr,
 	struct ring_buffer_event *event;
 	struct userstack_entry *entry;
 	struct stack_trace trace;
-	unsigned long irq_flags;
 
 	if (!(trace_flags & TRACE_ITER_USERSTACKTRACE))
 		return;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
@@ -933,7 +923,7 @@ static void ftrace_trace_userstack(struct trace_array *tr,
 	trace.entries		= entry->caller;
 
 	save_stack_trace_user(&trace);
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 #endif
 }
 
@@ -950,10 +940,8 @@ ftrace_trace_special(void *__tr,
 	struct ring_buffer_event *event;
 	struct trace_array *tr = __tr;
 	struct special_entry *entry;
-	unsigned long irq_flags;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
@@ -962,9 +950,9 @@ ftrace_trace_special(void *__tr,
 	entry->arg1			= arg1;
 	entry->arg2			= arg2;
 	entry->arg3			= arg3;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
-	ftrace_trace_stack(tr, irq_flags, 4, pc);
-	ftrace_trace_userstack(tr, irq_flags, pc);
+	ring_buffer_unlock_commit(tr->buffer, event);
+	ftrace_trace_stack(tr, 0, 4, pc);
+	ftrace_trace_userstack(tr, 0, pc);
 
 	trace_wake_up();
 }
@@ -984,10 +972,8 @@ tracing_sched_switch_trace(struct trace_array *tr,
 {
 	struct ring_buffer_event *event;
 	struct ctx_switch_entry *entry;
-	unsigned long irq_flags;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					   &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
@@ -1000,7 +986,7 @@ tracing_sched_switch_trace(struct trace_array *tr,
 	entry->next_prio		= next->prio;
 	entry->next_state		= next->state;
 	entry->next_cpu	= task_cpu(next);
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 	ftrace_trace_stack(tr, flags, 5, pc);
 	ftrace_trace_userstack(tr, flags, pc);
 }
@@ -1013,10 +999,8 @@ tracing_sched_wakeup_trace(struct trace_array *tr,
 {
 	struct ring_buffer_event *event;
 	struct ctx_switch_entry *entry;
-	unsigned long irq_flags;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					   &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		return;
 	entry	= ring_buffer_event_data(event);
@@ -1029,7 +1013,7 @@ tracing_sched_wakeup_trace(struct trace_array *tr,
 	entry->next_prio		= wakee->prio;
 	entry->next_state		= wakee->state;
 	entry->next_cpu			= task_cpu(wakee);
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 	ftrace_trace_stack(tr, flags, 6, pc);
 	ftrace_trace_userstack(tr, flags, pc);
 
@@ -2841,7 +2825,7 @@ int trace_vprintk(unsigned long ip, int depth, const char *fmt, va_list args)
 	trace_buf[len] = 0;
 
 	size = sizeof(*entry) + len + 1;
-	event = ring_buffer_lock_reserve(tr->buffer, size, &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, size);
 	if (!event)
 		goto out_unlock;
 	entry = ring_buffer_event_data(event);
@@ -2852,7 +2836,7 @@ int trace_vprintk(unsigned long ip, int depth, const char *fmt, va_list args)
 
 	memcpy(&entry->buf, trace_buf, len);
 	entry->buf[len] = 0;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
  out_unlock:
 	spin_unlock_irqrestore(&trace_buf_lock, irq_flags);
diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c
index 1f07895..4e08deb 100644
--- a/kernel/trace/trace_boot.c
+++ b/kernel/trace/trace_boot.c
@@ -132,7 +132,6 @@ void trace_boot_call(struct boot_trace_call *bt, initcall_t fn)
 {
 	struct ring_buffer_event *event;
 	struct trace_boot_call *entry;
-	unsigned long irq_flags;
 	struct trace_array *tr = boot_trace;
 
 	if (!tr || !pre_initcalls_finished)
@@ -144,15 +143,14 @@ void trace_boot_call(struct boot_trace_call *bt, initcall_t fn)
 	sprint_symbol(bt->func, (unsigned long)fn);
 	preempt_disable();
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		goto out;
 	entry	= ring_buffer_event_data(event);
 	tracing_generic_entry_update(&entry->ent, 0, 0);
 	entry->ent.type = TRACE_BOOT_CALL;
 	entry->boot_call = *bt;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
 	trace_wake_up();
 
@@ -164,7 +162,6 @@ void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn)
 {
 	struct ring_buffer_event *event;
 	struct trace_boot_ret *entry;
-	unsigned long irq_flags;
 	struct trace_array *tr = boot_trace;
 
 	if (!tr || !pre_initcalls_finished)
@@ -173,15 +170,14 @@ void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn)
 	sprint_symbol(bt->func, (unsigned long)fn);
 	preempt_disable();
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		goto out;
 	entry	= ring_buffer_event_data(event);
 	tracing_generic_entry_update(&entry->ent, 0, 0);
 	entry->ent.type = TRACE_BOOT_RET;
 	entry->boot_ret = *bt;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
 	trace_wake_up();
 
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
index 027e836..770e52a 100644
--- a/kernel/trace/trace_branch.c
+++ b/kernel/trace/trace_branch.c
@@ -33,7 +33,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect)
 	struct trace_array *tr = branch_tracer;
 	struct ring_buffer_event *event;
 	struct trace_branch *entry;
-	unsigned long flags, irq_flags;
+	unsigned long flags;
 	int cpu, pc;
 	const char *p;
 
@@ -52,8 +52,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect)
 	if (atomic_inc_return(&tr->data[cpu]->disabled) != 1)
 		goto out;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		goto out;
 
@@ -75,7 +74,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect)
 	entry->line = f->line;
 	entry->correct = val == expect;
 
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
  out:
 	atomic_dec(&tr->data[cpu]->disabled);
diff --git a/kernel/trace/trace_hw_branches.c b/kernel/trace/trace_hw_branches.c
index fff3545..e720c00 100644
--- a/kernel/trace/trace_hw_branches.c
+++ b/kernel/trace/trace_hw_branches.c
@@ -175,7 +175,7 @@ void trace_hw_branch(u64 from, u64 to)
 	struct trace_array *tr = hw_branch_trace;
 	struct ring_buffer_event *event;
 	struct hw_branch_entry *entry;
-	unsigned long irq1, irq2;
+	unsigned long irq1;
 	int cpu;
 
 	if (unlikely(!tr))
@@ -189,7 +189,7 @@ void trace_hw_branch(u64 from, u64 to)
 	if (atomic_inc_return(&tr->data[cpu]->disabled) != 1)
 		goto out;
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry), &irq2);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		goto out;
 	entry	= ring_buffer_event_data(event);
@@ -198,7 +198,7 @@ void trace_hw_branch(u64 from, u64 to)
 	entry->ent.cpu = cpu;
 	entry->from = from;
 	entry->to   = to;
-	ring_buffer_unlock_commit(tr->buffer, event, irq2);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
  out:
 	atomic_dec(&tr->data[cpu]->disabled);
diff --git a/kernel/trace/trace_mmiotrace.c b/kernel/trace/trace_mmiotrace.c
index ec78e24..104ddeb 100644
--- a/kernel/trace/trace_mmiotrace.c
+++ b/kernel/trace/trace_mmiotrace.c
@@ -307,10 +307,8 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
 {
 	struct ring_buffer_event *event;
 	struct trace_mmiotrace_rw *entry;
-	unsigned long irq_flags;
 
-	event	= ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					   &irq_flags);
+	event	= ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event) {
 		atomic_inc(&dropped_count);
 		return;
@@ -319,7 +317,7 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
 	tracing_generic_entry_update(&entry->ent, 0, preempt_count());
 	entry->ent.type			= TRACE_MMIO_RW;
 	entry->rw			= *rw;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
 	trace_wake_up();
 }
@@ -337,10 +335,8 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
 {
 	struct ring_buffer_event *event;
 	struct trace_mmiotrace_map *entry;
-	unsigned long irq_flags;
 
-	event	= ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					   &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event) {
 		atomic_inc(&dropped_count);
 		return;
@@ -349,7 +345,7 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
 	tracing_generic_entry_update(&entry->ent, 0, preempt_count());
 	entry->ent.type			= TRACE_MMIO_MAP;
 	entry->map			= *map;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
 	trace_wake_up();
 }
diff --git a/kernel/trace/trace_power.c b/kernel/trace/trace_power.c
index faa6ab7..3b1a292 100644
--- a/kernel/trace/trace_power.c
+++ b/kernel/trace/trace_power.c
@@ -115,7 +115,6 @@ void trace_power_end(struct power_trace *it)
 	struct ring_buffer_event *event;
 	struct trace_power *entry;
 	struct trace_array_cpu *data;
-	unsigned long irq_flags;
 	struct trace_array *tr = power_trace;
 
 	if (!trace_power_enabled)
@@ -125,15 +124,14 @@ void trace_power_end(struct power_trace *it)
 	it->end = ktime_get();
 	data = tr->data[smp_processor_id()];
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		goto out;
 	entry	= ring_buffer_event_data(event);
 	tracing_generic_entry_update(&entry->ent, 0, 0);
 	entry->ent.type = TRACE_POWER;
 	entry->state_data = *it;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
 	trace_wake_up();
 
@@ -148,7 +146,6 @@ void trace_power_mark(struct power_trace *it, unsigned int type,
 	struct ring_buffer_event *event;
 	struct trace_power *entry;
 	struct trace_array_cpu *data;
-	unsigned long irq_flags;
 	struct trace_array *tr = power_trace;
 
 	if (!trace_power_enabled)
@@ -162,15 +159,14 @@ void trace_power_mark(struct power_trace *it, unsigned int type,
 	it->end = it->stamp;
 	data = tr->data[smp_processor_id()];
 
-	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
-					 &irq_flags);
+	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
 	if (!event)
 		goto out;
 	entry	= ring_buffer_event_data(event);
 	tracing_generic_entry_update(&entry->ent, 0, 0);
 	entry->ent.type = TRACE_POWER;
 	entry->state_data = *it;
-	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+	ring_buffer_unlock_commit(tr->buffer, event);
 
 	trace_wake_up();
 
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-05 18:12 [PATCH tip 1/2] ring_buffer: remove unused flags parameter Arnaldo Carvalho de Melo
@ 2009-02-05 22:17 ` Frederic Weisbecker
  2009-02-05 22:39   ` Steven Rostedt
                     ` (2 more replies)
  2009-02-06  0:02 ` Ingo Molnar
  1 sibling, 3 replies; 12+ messages in thread
From: Frederic Weisbecker @ 2009-02-05 22:17 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Steven Rostedt, Ingo Molnar, Jens Axboe,
	Linux Kernel Mailing List

On Thu, Feb 05, 2009 at 04:12:56PM -0200, Arnaldo Carvalho de Melo wrote:
> Impact: API change, cleanup
> 
> From ring_buffer_{lock_reserve,unlock_commit}.
> 
> Cc: Ingo Molnar <mingo@elte.hu>
> Cc: Frédéric Weisbecker <fweisbec@gmail.com>
> Cc: Jens Axboe <jens.axboe@oracle.com>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
>  block/blktrace.c                 |    8 +++---
>  include/linux/ring_buffer.h      |    9 ++----
>  kernel/trace/kmemtrace.c         |   12 +++-----
>  kernel/trace/ring_buffer.c       |    9 +-----
>  kernel/trace/trace.c             |   56 +++++++++++++------------------------
>  kernel/trace/trace_boot.c        |   12 +++-----
>  kernel/trace/trace_branch.c      |    7 ++---
>  kernel/trace/trace_hw_branches.c |    6 ++--
>  kernel/trace/trace_mmiotrace.c   |   12 +++-----
>  kernel/trace/trace_power.c       |   12 +++-----
>  10 files changed, 51 insertions(+), 92 deletions(-)
> 
> $ codiff /tmp/vmlinux.before /tmp/vmlinux.after
> linux-2.6-tip/kernel/trace/trace.c:
>   trace_vprintk              |  -14
>   trace_graph_return         |  -14
>   trace_graph_entry          |  -10
>   trace_function             |   -8
>   __ftrace_trace_stack       |   -8
>   ftrace_trace_userstack     |   -8
>   tracing_sched_switch_trace |   -8
>   ftrace_trace_special       |  -12
>   tracing_sched_wakeup_trace |   -8
>  9 functions changed, 90 bytes removed, diff: -90
> 
> linux-2.6-tip/block/blktrace.c:
>   __blk_add_trace |   -1
>  1 function changed, 1 bytes removed, diff: -1
> 
> /tmp/vmlinux.after:
>  10 functions changed, 91 bytes removed, diff: -91


codiff... I didn't know this great tool! :-)

 
> diff --git a/block/blktrace.c b/block/blktrace.c
> index d9d7146..8e52f24 100644
> --- a/block/blktrace.c
> +++ b/block/blktrace.c
> @@ -165,7 +165,7 @@ static void __blk_add_trace(struct blk_trace *bt, sector_t sector, int bytes,
>  	struct task_struct *tsk = current;
>  	struct ring_buffer_event *event = NULL;
>  	struct blk_io_trace *t;
> -	unsigned long flags;
> +	unsigned long flags = 0;
>  	unsigned long *sequence;
>  	pid_t pid;
>  	int cpu, pc = 0;
> @@ -191,7 +191,7 @@ static void __blk_add_trace(struct blk_trace *bt, sector_t sector, int bytes,
>  		tracing_record_cmdline(current);
>  
>  		event = ring_buffer_lock_reserve(blk_tr->buffer,
> -						 sizeof(*t) + pdu_len, &flags);
> +						 sizeof(*t) + pdu_len);
>  		if (!event)
>  			return;
>  
> @@ -241,11 +241,11 @@ record_it:
>  			memcpy((void *) t + sizeof(*t), pdu_data, pdu_len);
>  
>  		if (blk_tr) {
> -			ring_buffer_unlock_commit(blk_tr->buffer, event, flags);
> +			ring_buffer_unlock_commit(blk_tr->buffer, event);
>  			if (pid != 0 &&
>  			    !(blk_tracer_flags.val & TRACE_BLK_OPT_CLASSIC) &&
>  			    (trace_flags & TRACE_ITER_STACKTRACE) != 0)
> -				__trace_stack(blk_tr, flags, 5, pc);
> +				__trace_stack(blk_tr, 0, 5, pc);
>  			trace_wake_up();
>  			return;
>  		}
> diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h
> index b3b3596..3110d92 100644
> --- a/include/linux/ring_buffer.h
> +++ b/include/linux/ring_buffer.h
> @@ -74,13 +74,10 @@ void ring_buffer_free(struct ring_buffer *buffer);
>  
>  int ring_buffer_resize(struct ring_buffer *buffer, unsigned long size);
>  
> -struct ring_buffer_event *
> -ring_buffer_lock_reserve(struct ring_buffer *buffer,
> -			 unsigned long length,
> -			 unsigned long *flags);
> +struct ring_buffer_event *ring_buffer_lock_reserve(struct ring_buffer *buffer,
> +						   unsigned long length);
>  int ring_buffer_unlock_commit(struct ring_buffer *buffer,
> -			      struct ring_buffer_event *event,
> -			      unsigned long flags);
> +			      struct ring_buffer_event *event);
>  int ring_buffer_write(struct ring_buffer *buffer,
>  		      unsigned long length, void *data);
>  
> diff --git a/kernel/trace/kmemtrace.c b/kernel/trace/kmemtrace.c
> index f04c062..256749d 100644
> --- a/kernel/trace/kmemtrace.c
> +++ b/kernel/trace/kmemtrace.c
> @@ -272,13 +272,11 @@ void kmemtrace_mark_alloc_node(enum kmemtrace_type_id type_id,
>  	struct ring_buffer_event *event;
>  	struct kmemtrace_alloc_entry *entry;
>  	struct trace_array *tr = kmemtrace_array;
> -	unsigned long irq_flags;
>  
>  	if (!kmem_tracing_enabled)
>  		return;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
> @@ -292,7 +290,7 @@ void kmemtrace_mark_alloc_node(enum kmemtrace_type_id type_id,
>  	entry->gfp_flags = gfp_flags;
>  	entry->node	=	node;
>  
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>  	trace_wake_up();
>  }
> @@ -305,13 +303,11 @@ void kmemtrace_mark_free(enum kmemtrace_type_id type_id,
>  	struct ring_buffer_event *event;
>  	struct kmemtrace_free_entry *entry;
>  	struct trace_array *tr = kmemtrace_array;
> -	unsigned long irq_flags;
>  
>  	if (!kmem_tracing_enabled)
>  		return;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
> @@ -322,7 +318,7 @@ void kmemtrace_mark_free(enum kmemtrace_type_id type_id,
>  	entry->call_site = call_site;
>  	entry->ptr = ptr;
>  
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>  	trace_wake_up();
>  }
> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
> index b36d737..aee76b3 100644
> --- a/kernel/trace/ring_buffer.c
> +++ b/kernel/trace/ring_buffer.c
> @@ -1257,7 +1257,6 @@ static DEFINE_PER_CPU(int, rb_need_resched);
>   * ring_buffer_lock_reserve - reserve a part of the buffer
>   * @buffer: the ring buffer to reserve from
>   * @length: the length of the data to reserve (excluding event header)
> - * @flags: a pointer to save the interrupt flags
>   *
>   * Returns a reseverd event on the ring buffer to copy directly to.
>   * The user of this interface will need to get the body to write into
> @@ -1270,9 +1269,7 @@ static DEFINE_PER_CPU(int, rb_need_resched);
>   * If NULL is returned, then nothing has been allocated or locked.
>   */
>  struct ring_buffer_event *
> -ring_buffer_lock_reserve(struct ring_buffer *buffer,
> -			 unsigned long length,
> -			 unsigned long *flags)
> +ring_buffer_lock_reserve(struct ring_buffer *buffer, unsigned long length)
>  {
>  	struct ring_buffer_per_cpu *cpu_buffer;
>  	struct ring_buffer_event *event;
> @@ -1339,15 +1336,13 @@ static void rb_commit(struct ring_buffer_per_cpu *cpu_buffer,
>   * ring_buffer_unlock_commit - commit a reserved
>   * @buffer: The buffer to commit to
>   * @event: The event pointer to commit.
> - * @flags: the interrupt flags received from ring_buffer_lock_reserve.
>   *
>   * This commits the data to the ring buffer, and releases any locks held.
>   *
>   * Must be paired with ring_buffer_lock_reserve.
>   */
>  int ring_buffer_unlock_commit(struct ring_buffer *buffer,
> -			      struct ring_buffer_event *event,
> -			      unsigned long flags)
> +			      struct ring_buffer_event *event)
>  {
>  	struct ring_buffer_per_cpu *cpu_buffer;
>  	int cpu = raw_smp_processor_id();
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index 3536ef4..eb453a2 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -783,14 +783,12 @@ trace_function(struct trace_array *tr,
>  {
>  	struct ring_buffer_event *event;
>  	struct ftrace_entry *entry;
> -	unsigned long irq_flags;
>  
>  	/* If we are reading the ring buffer, don't trace */
>  	if (unlikely(local_read(&__get_cpu_var(ftrace_cpu_disabled))))
>  		return;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
> @@ -798,7 +796,7 @@ trace_function(struct trace_array *tr,
>  	entry->ent.type			= TRACE_FN;
>  	entry->ip			= ip;
>  	entry->parent_ip		= parent_ip;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  }
>  
>  #ifdef CONFIG_FUNCTION_GRAPH_TRACER
> @@ -809,20 +807,18 @@ static void __trace_graph_entry(struct trace_array *tr,
>  {
>  	struct ring_buffer_event *event;
>  	struct ftrace_graph_ent_entry *entry;
> -	unsigned long irq_flags;
>  
>  	if (unlikely(local_read(&__get_cpu_var(ftrace_cpu_disabled))))
>  		return;
>  
> -	event = ring_buffer_lock_reserve(global_trace.buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(global_trace.buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
>  	tracing_generic_entry_update(&entry->ent, flags, pc);
>  	entry->ent.type			= TRACE_GRAPH_ENT;
>  	entry->graph_ent			= *trace;
> -	ring_buffer_unlock_commit(global_trace.buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(global_trace.buffer, event);
>  }
>  
>  static void __trace_graph_return(struct trace_array *tr,
> @@ -832,20 +828,18 @@ static void __trace_graph_return(struct trace_array *tr,
>  {
>  	struct ring_buffer_event *event;
>  	struct ftrace_graph_ret_entry *entry;
> -	unsigned long irq_flags;
>  
>  	if (unlikely(local_read(&__get_cpu_var(ftrace_cpu_disabled))))
>  		return;
>  
> -	event = ring_buffer_lock_reserve(global_trace.buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(global_trace.buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
>  	tracing_generic_entry_update(&entry->ent, flags, pc);
>  	entry->ent.type			= TRACE_GRAPH_RET;
>  	entry->ret				= *trace;
> -	ring_buffer_unlock_commit(global_trace.buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(global_trace.buffer, event);
>  }
>  #endif
>  
> @@ -866,10 +860,8 @@ static void __ftrace_trace_stack(struct trace_array *tr,
>  	struct ring_buffer_event *event;
>  	struct stack_entry *entry;
>  	struct stack_trace trace;
> -	unsigned long irq_flags;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
> @@ -884,7 +876,7 @@ static void __ftrace_trace_stack(struct trace_array *tr,
>  	trace.entries		= entry->caller;
>  
>  	save_stack_trace(&trace);
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  #endif
>  }
>  
> @@ -912,13 +904,11 @@ static void ftrace_trace_userstack(struct trace_array *tr,
>  	struct ring_buffer_event *event;
>  	struct userstack_entry *entry;
>  	struct stack_trace trace;
> -	unsigned long irq_flags;
>  
>  	if (!(trace_flags & TRACE_ITER_USERSTACKTRACE))
>  		return;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
> @@ -933,7 +923,7 @@ static void ftrace_trace_userstack(struct trace_array *tr,
>  	trace.entries		= entry->caller;
>  
>  	save_stack_trace_user(&trace);
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  #endif
>  }
>  
> @@ -950,10 +940,8 @@ ftrace_trace_special(void *__tr,
>  	struct ring_buffer_event *event;
>  	struct trace_array *tr = __tr;
>  	struct special_entry *entry;
> -	unsigned long irq_flags;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
> @@ -962,9 +950,9 @@ ftrace_trace_special(void *__tr,
>  	entry->arg1			= arg1;
>  	entry->arg2			= arg2;
>  	entry->arg3			= arg3;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> -	ftrace_trace_stack(tr, irq_flags, 4, pc);
> -	ftrace_trace_userstack(tr, irq_flags, pc);
> +	ring_buffer_unlock_commit(tr->buffer, event);
> +	ftrace_trace_stack(tr, 0, 4, pc);
> +	ftrace_trace_userstack(tr, 0, pc);
>  
>  	trace_wake_up();
>  }
> @@ -984,10 +972,8 @@ tracing_sched_switch_trace(struct trace_array *tr,
>  {
>  	struct ring_buffer_event *event;
>  	struct ctx_switch_entry *entry;
> -	unsigned long irq_flags;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					   &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
> @@ -1000,7 +986,7 @@ tracing_sched_switch_trace(struct trace_array *tr,
>  	entry->next_prio		= next->prio;
>  	entry->next_state		= next->state;
>  	entry->next_cpu	= task_cpu(next);
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  	ftrace_trace_stack(tr, flags, 5, pc);
>  	ftrace_trace_userstack(tr, flags, pc);
>  }
> @@ -1013,10 +999,8 @@ tracing_sched_wakeup_trace(struct trace_array *tr,
>  {
>  	struct ring_buffer_event *event;
>  	struct ctx_switch_entry *entry;
> -	unsigned long irq_flags;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					   &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		return;
>  	entry	= ring_buffer_event_data(event);
> @@ -1029,7 +1013,7 @@ tracing_sched_wakeup_trace(struct trace_array *tr,
>  	entry->next_prio		= wakee->prio;
>  	entry->next_state		= wakee->state;
>  	entry->next_cpu			= task_cpu(wakee);
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  	ftrace_trace_stack(tr, flags, 6, pc);
>  	ftrace_trace_userstack(tr, flags, pc);
>  
> @@ -2841,7 +2825,7 @@ int trace_vprintk(unsigned long ip, int depth, const char *fmt, va_list args)
>  	trace_buf[len] = 0;
>  
>  	size = sizeof(*entry) + len + 1;
> -	event = ring_buffer_lock_reserve(tr->buffer, size, &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, size);
>  	if (!event)
>  		goto out_unlock;
>  	entry = ring_buffer_event_data(event);
> @@ -2852,7 +2836,7 @@ int trace_vprintk(unsigned long ip, int depth, const char *fmt, va_list args)
>  
>  	memcpy(&entry->buf, trace_buf, len);
>  	entry->buf[len] = 0;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>   out_unlock:
>  	spin_unlock_irqrestore(&trace_buf_lock, irq_flags);
> diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c
> index 1f07895..4e08deb 100644
> --- a/kernel/trace/trace_boot.c
> +++ b/kernel/trace/trace_boot.c
> @@ -132,7 +132,6 @@ void trace_boot_call(struct boot_trace_call *bt, initcall_t fn)
>  {
>  	struct ring_buffer_event *event;
>  	struct trace_boot_call *entry;
> -	unsigned long irq_flags;
>  	struct trace_array *tr = boot_trace;
>  
>  	if (!tr || !pre_initcalls_finished)
> @@ -144,15 +143,14 @@ void trace_boot_call(struct boot_trace_call *bt, initcall_t fn)
>  	sprint_symbol(bt->func, (unsigned long)fn);
>  	preempt_disable();
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		goto out;
>  	entry	= ring_buffer_event_data(event);
>  	tracing_generic_entry_update(&entry->ent, 0, 0);
>  	entry->ent.type = TRACE_BOOT_CALL;
>  	entry->boot_call = *bt;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>  	trace_wake_up();
>  
> @@ -164,7 +162,6 @@ void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn)
>  {
>  	struct ring_buffer_event *event;
>  	struct trace_boot_ret *entry;
> -	unsigned long irq_flags;
>  	struct trace_array *tr = boot_trace;
>  
>  	if (!tr || !pre_initcalls_finished)
> @@ -173,15 +170,14 @@ void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn)
>  	sprint_symbol(bt->func, (unsigned long)fn);
>  	preempt_disable();
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		goto out;
>  	entry	= ring_buffer_event_data(event);
>  	tracing_generic_entry_update(&entry->ent, 0, 0);
>  	entry->ent.type = TRACE_BOOT_RET;
>  	entry->boot_ret = *bt;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>  	trace_wake_up();
>  
> diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
> index 027e836..770e52a 100644
> --- a/kernel/trace/trace_branch.c
> +++ b/kernel/trace/trace_branch.c
> @@ -33,7 +33,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect)
>  	struct trace_array *tr = branch_tracer;
>  	struct ring_buffer_event *event;
>  	struct trace_branch *entry;
> -	unsigned long flags, irq_flags;
> +	unsigned long flags;
>  	int cpu, pc;
>  	const char *p;
>  
> @@ -52,8 +52,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect)
>  	if (atomic_inc_return(&tr->data[cpu]->disabled) != 1)
>  		goto out;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		goto out;
>  
> @@ -75,7 +74,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect)
>  	entry->line = f->line;
>  	entry->correct = val == expect;
>  
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>   out:
>  	atomic_dec(&tr->data[cpu]->disabled);
> diff --git a/kernel/trace/trace_hw_branches.c b/kernel/trace/trace_hw_branches.c
> index fff3545..e720c00 100644
> --- a/kernel/trace/trace_hw_branches.c
> +++ b/kernel/trace/trace_hw_branches.c
> @@ -175,7 +175,7 @@ void trace_hw_branch(u64 from, u64 to)
>  	struct trace_array *tr = hw_branch_trace;
>  	struct ring_buffer_event *event;
>  	struct hw_branch_entry *entry;
> -	unsigned long irq1, irq2;
> +	unsigned long irq1;
>  	int cpu;
>  
>  	if (unlikely(!tr))
> @@ -189,7 +189,7 @@ void trace_hw_branch(u64 from, u64 to)
>  	if (atomic_inc_return(&tr->data[cpu]->disabled) != 1)
>  		goto out;
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry), &irq2);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		goto out;
>  	entry	= ring_buffer_event_data(event);
> @@ -198,7 +198,7 @@ void trace_hw_branch(u64 from, u64 to)
>  	entry->ent.cpu = cpu;
>  	entry->from = from;
>  	entry->to   = to;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq2);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>   out:
>  	atomic_dec(&tr->data[cpu]->disabled);
> diff --git a/kernel/trace/trace_mmiotrace.c b/kernel/trace/trace_mmiotrace.c
> index ec78e24..104ddeb 100644
> --- a/kernel/trace/trace_mmiotrace.c
> +++ b/kernel/trace/trace_mmiotrace.c
> @@ -307,10 +307,8 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
>  {
>  	struct ring_buffer_event *event;
>  	struct trace_mmiotrace_rw *entry;
> -	unsigned long irq_flags;
>  
> -	event	= ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					   &irq_flags);
> +	event	= ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event) {
>  		atomic_inc(&dropped_count);
>  		return;
> @@ -319,7 +317,7 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
>  	tracing_generic_entry_update(&entry->ent, 0, preempt_count());
>  	entry->ent.type			= TRACE_MMIO_RW;
>  	entry->rw			= *rw;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>  	trace_wake_up();
>  }
> @@ -337,10 +335,8 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
>  {
>  	struct ring_buffer_event *event;
>  	struct trace_mmiotrace_map *entry;
> -	unsigned long irq_flags;
>  
> -	event	= ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					   &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event) {
>  		atomic_inc(&dropped_count);
>  		return;
> @@ -349,7 +345,7 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
>  	tracing_generic_entry_update(&entry->ent, 0, preempt_count());
>  	entry->ent.type			= TRACE_MMIO_MAP;
>  	entry->map			= *map;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>  	trace_wake_up();
>  }
> diff --git a/kernel/trace/trace_power.c b/kernel/trace/trace_power.c
> index faa6ab7..3b1a292 100644
> --- a/kernel/trace/trace_power.c
> +++ b/kernel/trace/trace_power.c
> @@ -115,7 +115,6 @@ void trace_power_end(struct power_trace *it)
>  	struct ring_buffer_event *event;
>  	struct trace_power *entry;
>  	struct trace_array_cpu *data;
> -	unsigned long irq_flags;
>  	struct trace_array *tr = power_trace;
>  
>  	if (!trace_power_enabled)
> @@ -125,15 +124,14 @@ void trace_power_end(struct power_trace *it)
>  	it->end = ktime_get();
>  	data = tr->data[smp_processor_id()];
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		goto out;
>  	entry	= ring_buffer_event_data(event);
>  	tracing_generic_entry_update(&entry->ent, 0, 0);
>  	entry->ent.type = TRACE_POWER;
>  	entry->state_data = *it;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>  	trace_wake_up();
>  
> @@ -148,7 +146,6 @@ void trace_power_mark(struct power_trace *it, unsigned int type,
>  	struct ring_buffer_event *event;
>  	struct trace_power *entry;
>  	struct trace_array_cpu *data;
> -	unsigned long irq_flags;
>  	struct trace_array *tr = power_trace;
>  
>  	if (!trace_power_enabled)
> @@ -162,15 +159,14 @@ void trace_power_mark(struct power_trace *it, unsigned int type,
>  	it->end = it->stamp;
>  	data = tr->data[smp_processor_id()];
>  
> -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> -					 &irq_flags);
> +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
>  	if (!event)
>  		goto out;
>  	entry	= ring_buffer_event_data(event);
>  	tracing_generic_entry_update(&entry->ent, 0, 0);
>  	entry->ent.type = TRACE_POWER;
>  	entry->state_data = *it;
> -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> +	ring_buffer_unlock_commit(tr->buffer, event);
>  
>  	trace_wake_up();
>  
> -- 
> 1.6.0.6
> 


I don't what Steven planned (or not) with this flag.
If it's not related to his lockless ring buffer project or anything, this
cleanup is welcome.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-05 22:17 ` Frederic Weisbecker
@ 2009-02-05 22:39   ` Steven Rostedt
  2009-02-05 23:27     ` Frederic Weisbecker
  2009-02-06  0:04   ` Ingo Molnar
  2009-02-06  1:48   ` Arnaldo Carvalho de Melo
  2 siblings, 1 reply; 12+ messages in thread
From: Steven Rostedt @ 2009-02-05 22:39 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Arnaldo Carvalho de Melo, Ingo Molnar, Jens Axboe,
	Linux Kernel Mailing List


On Thu, 5 Feb 2009, Frederic Weisbecker wrote:
> >  
> > -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> > -					 &irq_flags);
> > +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
> >  	if (!event)
> >  		goto out;
> >  	entry	= ring_buffer_event_data(event);
> >  	tracing_generic_entry_update(&entry->ent, 0, 0);
> >  	entry->ent.type = TRACE_POWER;
> >  	entry->state_data = *it;
> > -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> > +	ring_buffer_unlock_commit(tr->buffer, event);
> >  
> >  	trace_wake_up();
> >  
> > -- 
> > 1.6.0.6
> > 
> 
> 
> I don't what Steven planned (or not) with this flag.
> If it's not related to his lockless ring buffer project or anything, this
> cleanup is welcome.

The irq_flags is legacy from the original implementation. Arnaldo is just 
going through my todo list (without even me telling him what it is ;-)

Now only if I can get Arnaldo to do the TODO list my wife gives me ;-)

-- Steve


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-05 22:39   ` Steven Rostedt
@ 2009-02-05 23:27     ` Frederic Weisbecker
  0 siblings, 0 replies; 12+ messages in thread
From: Frederic Weisbecker @ 2009-02-05 23:27 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Arnaldo Carvalho de Melo, Ingo Molnar, Jens Axboe,
	Linux Kernel Mailing List

On Thu, Feb 05, 2009 at 05:39:04PM -0500, Steven Rostedt wrote:
> 
> On Thu, 5 Feb 2009, Frederic Weisbecker wrote:
> > >  
> > > -	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry),
> > > -					 &irq_flags);
> > > +	event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
> > >  	if (!event)
> > >  		goto out;
> > >  	entry	= ring_buffer_event_data(event);
> > >  	tracing_generic_entry_update(&entry->ent, 0, 0);
> > >  	entry->ent.type = TRACE_POWER;
> > >  	entry->state_data = *it;
> > > -	ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
> > > +	ring_buffer_unlock_commit(tr->buffer, event);
> > >  
> > >  	trace_wake_up();
> > >  
> > > -- 
> > > 1.6.0.6
> > > 
> > 
> > 
> > I don't what Steven planned (or not) with this flag.
> > If it's not related to his lockless ring buffer project or anything, this
> > cleanup is welcome.
> 
> The irq_flags is legacy from the original implementation. Arnaldo is just 
> going through my todo list (without even me telling him what it is ;-)
> 
> Now only if I can get Arnaldo to do the TODO list my wife gives me ;-)


Can we pull it from somewhere? :-)
 
> -- Steve
> 


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-05 18:12 [PATCH tip 1/2] ring_buffer: remove unused flags parameter Arnaldo Carvalho de Melo
  2009-02-05 22:17 ` Frederic Weisbecker
@ 2009-02-06  0:02 ` Ingo Molnar
  2009-02-06  0:15   ` [PATCH] ring_buffer: remove unused flags parameter, fix Ingo Molnar
  1 sibling, 1 reply; 12+ messages in thread
From: Ingo Molnar @ 2009-02-06  0:02 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Steven Rostedt, Frédéric Weisbecker, Jens Axboe,
	Linux Kernel Mailing List


* Arnaldo Carvalho de Melo <acme@redhat.com> wrote:

> Impact: API change, cleanup
> 
> >From ring_buffer_{lock_reserve,unlock_commit}.
> 
> Cc: Ingo Molnar <mingo@elte.hu>
> Cc: Frédéric Weisbecker <fweisbec@gmail.com>
> Cc: Jens Axboe <jens.axboe@oracle.com>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
>  block/blktrace.c                 |    8 +++---
>  include/linux/ring_buffer.h      |    9 ++----
>  kernel/trace/kmemtrace.c         |   12 +++-----
>  kernel/trace/ring_buffer.c       |    9 +-----
>  kernel/trace/trace.c             |   56 +++++++++++++------------------------
>  kernel/trace/trace_boot.c        |   12 +++-----
>  kernel/trace/trace_branch.c      |    7 ++---
>  kernel/trace/trace_hw_branches.c |    6 ++--
>  kernel/trace/trace_mmiotrace.c   |   12 +++-----
>  kernel/trace/trace_power.c       |   12 +++-----
>  10 files changed, 51 insertions(+), 92 deletions(-)

Applied to tip:tracing/ftrace, thanks Arnaldo!

	Ingo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-05 22:17 ` Frederic Weisbecker
  2009-02-05 22:39   ` Steven Rostedt
@ 2009-02-06  0:04   ` Ingo Molnar
  2009-02-06  0:06     ` Ingo Molnar
  2009-02-06  1:48   ` Arnaldo Carvalho de Melo
  2 siblings, 1 reply; 12+ messages in thread
From: Ingo Molnar @ 2009-02-06  0:04 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Arnaldo Carvalho de Melo, Steven Rostedt, Jens Axboe,
	Linux Kernel Mailing List


* Frederic Weisbecker <fweisbec@gmail.com> wrote:

> > $ codiff /tmp/vmlinux.before /tmp/vmlinux.after
> > linux-2.6-tip/kernel/trace/trace.c:
> >   trace_vprintk              |  -14
> >   trace_graph_return         |  -14
> >   trace_graph_entry          |  -10
> >   trace_function             |   -8
> >   __ftrace_trace_stack       |   -8
> >   ftrace_trace_userstack     |   -8
> >   tracing_sched_switch_trace |   -8
> >   ftrace_trace_special       |  -12
> >   tracing_sched_wakeup_trace |   -8
> >  9 functions changed, 90 bytes removed, diff: -90
> > 
> > linux-2.6-tip/block/blktrace.c:
> >   __blk_add_trace |   -1
> >  1 function changed, 1 bytes removed, diff: -1
> > 
> > /tmp/vmlinux.after:
> >  10 functions changed, 91 bytes removed, diff: -91
> 
> 
> codiff... I didn't know this great tool! :-)

yes, very nice!

I've moved all the codiff output from the (discarded) diffstat
section into the commit log, they are very much worth preserving.

	Ingo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-06  0:04   ` Ingo Molnar
@ 2009-02-06  0:06     ` Ingo Molnar
  2009-02-06  0:09       ` Frederic Weisbecker
  0 siblings, 1 reply; 12+ messages in thread
From: Ingo Molnar @ 2009-02-06  0:06 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Arnaldo Carvalho de Melo, Steven Rostedt, Jens Axboe,
	Linux Kernel Mailing List


> > codiff... I didn't know this great tool! :-)

Btw., you can find this tool in the 'dwarves' package on most distros.

	Ingo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-06  0:06     ` Ingo Molnar
@ 2009-02-06  0:09       ` Frederic Weisbecker
  0 siblings, 0 replies; 12+ messages in thread
From: Frederic Weisbecker @ 2009-02-06  0:09 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Arnaldo Carvalho de Melo, Steven Rostedt, Jens Axboe,
	Linux Kernel Mailing List

On Fri, Feb 06, 2009 at 01:06:30AM +0100, Ingo Molnar wrote:
> 
> > > codiff... I didn't know this great tool! :-)
> 
> Btw., you can find this tool in the 'dwarves' package on most distros.
> 
> 	Ingo

Exact, I just installed it.
Thanks.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] ring_buffer: remove unused flags parameter, fix
  2009-02-06  0:02 ` Ingo Molnar
@ 2009-02-06  0:15   ` Ingo Molnar
  2009-02-06  1:43     ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 12+ messages in thread
From: Ingo Molnar @ 2009-02-06  0:15 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Steven Rostedt, Frédéric Weisbecker, Jens Axboe,
	Linux Kernel Mailing List


Small fixlet below, applied to tip:tracing/ftrace.

	Ingo

--------------->
>From 304cc6ae1bf7a8e6d00053fbe0b7e2b26cdddda2 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 6 Feb 2009 01:12:02 +0100
Subject: [PATCH] ring_buffer: remove unused flags parameter, fix

Oprofile's ring-buffer use was not considered.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 drivers/oprofile/cpu_buffer.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c
index e76d715..f0e99d4 100644
--- a/drivers/oprofile/cpu_buffer.c
+++ b/drivers/oprofile/cpu_buffer.c
@@ -161,7 +161,7 @@ struct op_sample
 {
 	entry->event = ring_buffer_lock_reserve
 		(op_ring_buffer_write, sizeof(struct op_sample) +
-		 size * sizeof(entry->sample->data[0]), &entry->irq_flags);
+		 size * sizeof(entry->sample->data[0]));
 	if (entry->event)
 		entry->sample = ring_buffer_event_data(entry->event);
 	else
@@ -178,8 +178,7 @@ struct op_sample
 
 int op_cpu_buffer_write_commit(struct op_entry *entry)
 {
-	return ring_buffer_unlock_commit(op_ring_buffer_write, entry->event,
-					 entry->irq_flags);
+	return ring_buffer_unlock_commit(op_ring_buffer_write, entry->event);
 }
 
 struct op_sample *op_cpu_buffer_read_entry(struct op_entry *entry, int cpu)

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] ring_buffer: remove unused flags parameter, fix
  2009-02-06  0:15   ` [PATCH] ring_buffer: remove unused flags parameter, fix Ingo Molnar
@ 2009-02-06  1:43     ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 12+ messages in thread
From: Arnaldo Carvalho de Melo @ 2009-02-06  1:43 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Steven Rostedt, Frédéric Weisbecker, Jens Axboe,
	Linux Kernel Mailing List

Em Fri, Feb 06, 2009 at 01:15:00AM +0100, Ingo Molnar escreveu:
> 
> Small fixlet below, applied to tip:tracing/ftrace.
> 
> 	Ingo
> 
> --------------->
> >From 304cc6ae1bf7a8e6d00053fbe0b7e2b26cdddda2 Mon Sep 17 00:00:00 2001
> From: Ingo Molnar <mingo@elte.hu>
> Date: Fri, 6 Feb 2009 01:12:02 +0100
> Subject: [PATCH] ring_buffer: remove unused flags parameter, fix
> 
> Oprofile's ring-buffer use was not considered.

Thank you, adding oprofile to my kvm minimal config for tracing devel.

- Arnaldo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-05 22:17 ` Frederic Weisbecker
  2009-02-05 22:39   ` Steven Rostedt
  2009-02-06  0:04   ` Ingo Molnar
@ 2009-02-06  1:48   ` Arnaldo Carvalho de Melo
  2009-02-06  2:41     ` Frederic Weisbecker
  2 siblings, 1 reply; 12+ messages in thread
From: Arnaldo Carvalho de Melo @ 2009-02-06  1:48 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Steven Rostedt, Ingo Molnar, Jens Axboe,
	Linux Kernel Mailing List

Em Thu, Feb 05, 2009 at 11:17:02PM +0100, Frederic Weisbecker escreveu:
> On Thu, Feb 05, 2009 at 04:12:56PM -0200, Arnaldo Carvalho de Melo wrote:
> > Impact: API change, cleanup
> > 
> > From ring_buffer_{lock_reserve,unlock_commit}.
> > 
> > Cc: Ingo Molnar <mingo@elte.hu>
> > Cc: Frédéric Weisbecker <fweisbec@gmail.com>
> > Cc: Jens Axboe <jens.axboe@oracle.com>
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > ---
> >  block/blktrace.c                 |    8 +++---
> >  include/linux/ring_buffer.h      |    9 ++----
> >  kernel/trace/kmemtrace.c         |   12 +++-----
> >  kernel/trace/ring_buffer.c       |    9 +-----
> >  kernel/trace/trace.c             |   56 +++++++++++++------------------------
> >  kernel/trace/trace_boot.c        |   12 +++-----
> >  kernel/trace/trace_branch.c      |    7 ++---
> >  kernel/trace/trace_hw_branches.c |    6 ++--
> >  kernel/trace/trace_mmiotrace.c   |   12 +++-----
> >  kernel/trace/trace_power.c       |   12 +++-----
> >  10 files changed, 51 insertions(+), 92 deletions(-)
> > 
> > $ codiff /tmp/vmlinux.before /tmp/vmlinux.after
> > linux-2.6-tip/kernel/trace/trace.c:
> >   trace_vprintk              |  -14
> >   trace_graph_return         |  -14
> >   trace_graph_entry          |  -10
> >   trace_function             |   -8
> >   __ftrace_trace_stack       |   -8
> >   ftrace_trace_userstack     |   -8
> >   tracing_sched_switch_trace |   -8
> >   ftrace_trace_special       |  -12
> >   tracing_sched_wakeup_trace |   -8
> >  9 functions changed, 90 bytes removed, diff: -90
> > 
> > linux-2.6-tip/block/blktrace.c:
> >   __blk_add_trace |   -1
> >  1 function changed, 1 bytes removed, diff: -1
> > 
> > /tmp/vmlinux.after:
> >  10 functions changed, 91 bytes removed, diff: -91
> 
> 
> codiff... I didn't know this great tool! :-)

My marketing dept is not so good, but since you liked it, I guess its
appropriate to point you to this, that is the only documentation
available about it and some of its friends, like pahole:

https://ols2006.108.redhat.com/2007/Reprints/melo-Reprint.pdf

Now back to the Rostedts extended TODO list.

- Arnaldo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH tip 1/2] ring_buffer: remove unused flags parameter
  2009-02-06  1:48   ` Arnaldo Carvalho de Melo
@ 2009-02-06  2:41     ` Frederic Weisbecker
  0 siblings, 0 replies; 12+ messages in thread
From: Frederic Weisbecker @ 2009-02-06  2:41 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Steven Rostedt, Ingo Molnar, Jens Axboe,
	Linux Kernel Mailing List

On Thu, Feb 05, 2009 at 11:48:40PM -0200, Arnaldo Carvalho de Melo wrote:
> Em Thu, Feb 05, 2009 at 11:17:02PM +0100, Frederic Weisbecker escreveu:
> > On Thu, Feb 05, 2009 at 04:12:56PM -0200, Arnaldo Carvalho de Melo wrote:
> > > Impact: API change, cleanup
> > > 
> > > From ring_buffer_{lock_reserve,unlock_commit}.
> > > 
> > > Cc: Ingo Molnar <mingo@elte.hu>
> > > Cc: Frédéric Weisbecker <fweisbec@gmail.com>
> > > Cc: Jens Axboe <jens.axboe@oracle.com>
> > > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > > ---
> > >  block/blktrace.c                 |    8 +++---
> > >  include/linux/ring_buffer.h      |    9 ++----
> > >  kernel/trace/kmemtrace.c         |   12 +++-----
> > >  kernel/trace/ring_buffer.c       |    9 +-----
> > >  kernel/trace/trace.c             |   56 +++++++++++++------------------------
> > >  kernel/trace/trace_boot.c        |   12 +++-----
> > >  kernel/trace/trace_branch.c      |    7 ++---
> > >  kernel/trace/trace_hw_branches.c |    6 ++--
> > >  kernel/trace/trace_mmiotrace.c   |   12 +++-----
> > >  kernel/trace/trace_power.c       |   12 +++-----
> > >  10 files changed, 51 insertions(+), 92 deletions(-)
> > > 
> > > $ codiff /tmp/vmlinux.before /tmp/vmlinux.after
> > > linux-2.6-tip/kernel/trace/trace.c:
> > >   trace_vprintk              |  -14
> > >   trace_graph_return         |  -14
> > >   trace_graph_entry          |  -10
> > >   trace_function             |   -8
> > >   __ftrace_trace_stack       |   -8
> > >   ftrace_trace_userstack     |   -8
> > >   tracing_sched_switch_trace |   -8
> > >   ftrace_trace_special       |  -12
> > >   tracing_sched_wakeup_trace |   -8
> > >  9 functions changed, 90 bytes removed, diff: -90
> > > 
> > > linux-2.6-tip/block/blktrace.c:
> > >   __blk_add_trace |   -1
> > >  1 function changed, 1 bytes removed, diff: -1
> > > 
> > > /tmp/vmlinux.after:
> > >  10 functions changed, 91 bytes removed, diff: -91
> > 
> > 
> > codiff... I didn't know this great tool! :-)
> 
> My marketing dept is not so good, but since you liked it, I guess its
> appropriate to point you to this, that is the only documentation
> available about it and some of its friends, like pahole:
> 
> https://ols2006.108.redhat.com/2007/Reprints/melo-Reprint.pdf

Oh thank you! :-)
 
> Now back to the Rostedts extended TODO list.
> 
> - Arnaldo


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-02-06  2:41 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-05 18:12 [PATCH tip 1/2] ring_buffer: remove unused flags parameter Arnaldo Carvalho de Melo
2009-02-05 22:17 ` Frederic Weisbecker
2009-02-05 22:39   ` Steven Rostedt
2009-02-05 23:27     ` Frederic Weisbecker
2009-02-06  0:04   ` Ingo Molnar
2009-02-06  0:06     ` Ingo Molnar
2009-02-06  0:09       ` Frederic Weisbecker
2009-02-06  1:48   ` Arnaldo Carvalho de Melo
2009-02-06  2:41     ` Frederic Weisbecker
2009-02-06  0:02 ` Ingo Molnar
2009-02-06  0:15   ` [PATCH] ring_buffer: remove unused flags parameter, fix Ingo Molnar
2009-02-06  1:43     ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox