Skip to content

Commit

Permalink
uprobes/tracing: Kill the pointless local_save_flags/preempt_count calls
Browse files Browse the repository at this point in the history
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@redhat.com>
Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Tested-by: Anton Arapov <anton@redhat.com>
  • Loading branch information
Oleg Nesterov committed Apr 13, 2013
1 parent 456fdbc commit 0e3853d
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions kernel/trace/trace_uprobe.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;
}
Expand Down

0 comments on commit 0e3853d

Please sign in to comment.