diff --git a/[refs] b/[refs] index 34fbf86b69b7..980e7b59fdb8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b6c5a71da1477d261bc36254fe1f20d32b57598d +refs/heads/master: 01ef09d9ffb5ce9f8d62d1e5206da3d5ca612acc diff --git a/trunk/include/linux/init_task.h b/trunk/include/linux/init_task.h index 219748d00262..ca226a91abee 100644 --- a/trunk/include/linux/init_task.h +++ b/trunk/include/linux/init_task.h @@ -124,6 +124,8 @@ extern struct cred init_cred; # define INIT_PERF_COUNTERS(tsk) \ .perf_counter_ctx.counter_list = \ LIST_HEAD_INIT(tsk.perf_counter_ctx.counter_list), \ + .perf_counter_ctx.event_list = \ + LIST_HEAD_INIT(tsk.perf_counter_ctx.event_list), \ .perf_counter_ctx.lock = \ __SPIN_LOCK_UNLOCKED(tsk.perf_counter_ctx.lock), #else diff --git a/trunk/kernel/perf_counter.c b/trunk/kernel/perf_counter.c index b39456ad74a1..4c4e9eb37ab0 100644 --- a/trunk/kernel/perf_counter.c +++ b/trunk/kernel/perf_counter.c @@ -1506,7 +1506,7 @@ static void perf_swcounter_ctx_event(struct perf_counter_context *ctx, { struct perf_counter *counter; - if (list_empty(&ctx->event_list)) + if (system_state != SYSTEM_RUNNING || list_empty(&ctx->event_list)) return; rcu_read_lock();