* [PATCH] perf,core: do no try to schedule task events if there are none.
@ 2011-11-22 14:08 Gleb Natapov
2011-11-22 14:12 ` Peter Zijlstra
2011-12-07 15:44 ` [tip:perf/urgent] perf: Do " tip-bot for Gleb Natapov
0 siblings, 2 replies; 3+ messages in thread
From: Gleb Natapov @ 2011-11-22 14:08 UTC (permalink / raw)
To: Peter Zijlstra; +Cc: Ingo Molnar, linux-kernel
perf_event_sched_in() shouldn't try to schedule task events if there
are none otherwise task's ctx->is_active will be set and will not be
cleared during sched_out. This will prevent newly added events from
being scheduled into the task context.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
The patch is against tip/perf/urgent since it depends on commit
1d5f003f5a9 there. I've sent updated version of above commit earlier but
unfortunately old version was applied and I do not see amended version
in Peter's queue either. So here is incremental fix.
diff --git a/kernel/events/core.c b/kernel/events/core.c
index b0c1186..920314e 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -2171,11 +2171,11 @@ static void perf_event_context_sched_in(struct perf_event_context *ctx,
*/
cpu_ctx_sched_out(cpuctx, EVENT_FLEXIBLE);
- perf_event_sched_in(cpuctx, ctx, task);
-
if (ctx->nr_events)
cpuctx->task_ctx = ctx;
+ perf_event_sched_in(cpuctx, cpuctx->task_ctx, task);
+
perf_pmu_enable(ctx->pmu);
perf_ctx_unlock(cpuctx, ctx);
--
Gleb.
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] perf,core: do no try to schedule task events if there are none.
2011-11-22 14:08 [PATCH] perf,core: do no try to schedule task events if there are none Gleb Natapov
@ 2011-11-22 14:12 ` Peter Zijlstra
2011-12-07 15:44 ` [tip:perf/urgent] perf: Do " tip-bot for Gleb Natapov
1 sibling, 0 replies; 3+ messages in thread
From: Peter Zijlstra @ 2011-11-22 14:12 UTC (permalink / raw)
To: Gleb Natapov; +Cc: Ingo Molnar, linux-kernel
On Tue, 2011-11-22 at 16:08 +0200, Gleb Natapov wrote:
> The patch is against tip/perf/urgent since it depends on commit
> 1d5f003f5a9 there. I've sent updated version of above commit earlier but
> unfortunately old version was applied and I do not see amended version
> in Peter's queue either. So here is incremental fix.
Ah, sorry for messing that up, I did pick up the new version, but must
have crossed wires with Ingo merging and I failed to double check which
version ended up in the tree.
Thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
* [tip:perf/urgent] perf: Do no try to schedule task events if there are none
2011-11-22 14:08 [PATCH] perf,core: do no try to schedule task events if there are none Gleb Natapov
2011-11-22 14:12 ` Peter Zijlstra
@ 2011-12-07 15:44 ` tip-bot for Gleb Natapov
1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Gleb Natapov @ 2011-12-07 15:44 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, gleb, hpa, mingo, a.p.zijlstra, tglx, mingo
Commit-ID: 86b47c25494b824da655b95f6fdb4fdb3f17aa77
Gitweb: http://git.kernel.org/tip/86b47c25494b824da655b95f6fdb4fdb3f17aa77
Author: Gleb Natapov <gleb@redhat.com>
AuthorDate: Tue, 22 Nov 2011 16:08:21 +0200
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Wed, 7 Dec 2011 16:31:22 +0100
perf: Do no try to schedule task events if there are none
perf_event_sched_in() shouldn't try to schedule task events if there
are none otherwise task's ctx->is_active will be set and will not be
cleared during sched_out. This will prevent newly added events from
being scheduled into the task context.
Fixes a boo-boo in commit 1d5f003f5a9 ("perf: Do not set task_ctx
pointer in cpuctx if there are no events in the context").
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20111122140821.GF2557@redhat.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
kernel/events/core.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 600c162..d3b9df5 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -2174,11 +2174,11 @@ static void perf_event_context_sched_in(struct perf_event_context *ctx,
*/
cpu_ctx_sched_out(cpuctx, EVENT_FLEXIBLE);
- perf_event_sched_in(cpuctx, ctx, task);
-
if (ctx->nr_events)
cpuctx->task_ctx = ctx;
+ perf_event_sched_in(cpuctx, cpuctx->task_ctx, task);
+
perf_pmu_enable(ctx->pmu);
perf_ctx_unlock(cpuctx, ctx);
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-12-07 15:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-22 14:08 [PATCH] perf,core: do no try to schedule task events if there are none Gleb Natapov
2011-11-22 14:12 ` Peter Zijlstra
2011-12-07 15:44 ` [tip:perf/urgent] perf: Do " tip-bot for Gleb Natapov
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.