Messages in this thread Patch in this message | | | Date | Tue, 22 Sep 2009 16:47:02 +0800 | From | Xiao Guangrong <> | Subject | [PATCH] perf_counter: cleanup for __perf_event_sched_in() |
| |
It must be a group leader if event->attr.pinned is "1"
Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> --- kernel/perf_event.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 76ac4db..fdd9c94 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -1258,12 +1258,11 @@ __perf_event_sched_in(struct perf_event_context *ctx, if (event->cpu != -1 && event->cpu != cpu) continue; - if (event != event->group_leader) - event_sched_in(event, cpuctx, ctx, cpu); - else { - if (group_can_go_on(event, cpuctx, 1)) - group_sched_in(event, cpuctx, ctx, cpu); - } + /* Only a group leader can be pinned */ + BUG_ON(event != event->group_leader); + + if (group_can_go_on(event, cpuctx, 1)) + group_sched_in(event, cpuctx, ctx, cpu); /* * If this pinned group hasn't been scheduled, -- 1.6.1.2
| |