Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 147476
b: refs/heads/master
c: c44d70a
h: refs/heads/master
v: v3
  • Loading branch information
Ingo Molnar committed May 19, 2009
1 parent f835224 commit 6f37ca5
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 33b2fb303fe7f6b08bbb32f708e67b96eaa94a7a
refs/heads/master: c44d70a340554a33071339064a303ac0f1a31623
1 change: 1 addition & 0 deletions trunk/include/linux/perf_counter.h
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,7 @@ struct perf_counter_context {
int nr_counters;
int nr_active;
int is_active;
int rr_allowed;
struct task_struct *task;

/*
Expand Down
10 changes: 9 additions & 1 deletion trunk/kernel/perf_counter.c
Original file line number Diff line number Diff line change
Expand Up @@ -1120,7 +1120,8 @@ void perf_counter_task_tick(struct task_struct *curr, int cpu)
__perf_counter_task_sched_out(ctx);

rotate_ctx(&cpuctx->ctx);
rotate_ctx(ctx);
if (ctx->rr_allowed)
rotate_ctx(ctx);

perf_counter_cpu_sched_in(cpuctx, cpu);
perf_counter_task_sched_in(curr, cpu);
Expand Down Expand Up @@ -3108,6 +3109,7 @@ __perf_counter_init_context(struct perf_counter_context *ctx,
mutex_init(&ctx->mutex);
INIT_LIST_HEAD(&ctx->counter_list);
INIT_LIST_HEAD(&ctx->event_list);
ctx->rr_allowed = 1;
ctx->task = task;
}

Expand Down Expand Up @@ -3348,6 +3350,9 @@ void perf_counter_init_task(struct task_struct *child)
*/
mutex_lock(&parent_ctx->mutex);

parent_ctx->rr_allowed = 0;
barrier(); /* irqs */

/*
* We dont have to disable NMIs - we are only looking at
* the list, not manipulating it:
Expand All @@ -3361,6 +3366,9 @@ void perf_counter_init_task(struct task_struct *child)
break;
}

barrier(); /* irqs */
parent_ctx->rr_allowed = 1;

mutex_unlock(&parent_ctx->mutex);
}

Expand Down

0 comments on commit 6f37ca5

Please sign in to comment.