* [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 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.