[PATCH 3/4] uprobes/tracing: Kill the pointlesslocal_save_flags/preempt_count calls

From: Oleg Nesterov
Date: Fri Mar 29 2013 - 14:19:06 EST


uprobe_trace_func() is never called with irqs or preemption
disabled, no need to ask preempt_count() or local_save_flags().

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
---
kernel/trace/trace_uprobe.c | 10 +++-------
1 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c
index 8e00901..43d258d 100644
--- a/kernel/trace/trace_uprobe.c
+++ b/kernel/trace/trace_uprobe.c
@@ -492,17 +492,13 @@ static int uprobe_trace_func(struct trace_uprobe *tu, struct pt_regs *regs)
struct ring_buffer_event *event;
struct ring_buffer *buffer;
u8 *data;
- int size, i, pc;
- unsigned long irq_flags;
+ int size, i;
struct ftrace_event_call *call = &tu->call;

- local_save_flags(irq_flags);
- pc = preempt_count();
-
size = sizeof(*entry) + tu->size;

event = trace_current_buffer_lock_reserve(&buffer, call->event.type,
- size, irq_flags, pc);
+ size, 0, 0);
if (!event)
return 0;

@@ -513,7 +509,7 @@ static int uprobe_trace_func(struct trace_uprobe *tu, struct pt_regs *regs)
call_fetch(&tu->args[i].fetch, regs, data + tu->args[i].offset);

if (!filter_current_check_discard(buffer, call, entry, event))
- trace_buffer_unlock_commit(buffer, event, irq_flags, pc);
+ trace_buffer_unlock_commit(buffer, event, 0, 0);

return 0;
}
--
1.5.5.1

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