提交 f6f83785 编写于 作者: P Peter Zijlstra 提交者: Ingo Molnar

perf: Optimize __perf_event_read()

Both callers actually have IRQs disabled, no need doing so
again.
Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <20091120212508.863685796@chello.nl>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 02ffdbc8
...@@ -1517,7 +1517,6 @@ static void __perf_event_read(void *info) ...@@ -1517,7 +1517,6 @@ static void __perf_event_read(void *info)
struct perf_cpu_context *cpuctx = &__get_cpu_var(perf_cpu_context); struct perf_cpu_context *cpuctx = &__get_cpu_var(perf_cpu_context);
struct perf_event *event = info; struct perf_event *event = info;
struct perf_event_context *ctx = event->ctx; struct perf_event_context *ctx = event->ctx;
unsigned long flags;
/* /*
* If this is a task context, we need to check whether it is * If this is a task context, we need to check whether it is
...@@ -1529,12 +1528,10 @@ static void __perf_event_read(void *info) ...@@ -1529,12 +1528,10 @@ static void __perf_event_read(void *info)
if (ctx->task && cpuctx->task_ctx != ctx) if (ctx->task && cpuctx->task_ctx != ctx)
return; return;
local_irq_save(flags);
if (ctx->is_active) if (ctx->is_active)
update_context_time(ctx); update_context_time(ctx);
event->pmu->read(event); event->pmu->read(event);
update_event_times(event); update_event_times(event);
local_irq_restore(flags);
} }
static u64 perf_event_read(struct perf_event *event) static u64 perf_event_read(struct perf_event *event)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册