diff options
-rw-r--r-- | include/linux/init_task.h | 2 | ||||
-rw-r--r-- | kernel/perf_counter.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 219748d00262..ca226a91abee 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -124,6 +124,8 @@ extern struct cred init_cred; | |||
124 | # define INIT_PERF_COUNTERS(tsk) \ | 124 | # define INIT_PERF_COUNTERS(tsk) \ |
125 | .perf_counter_ctx.counter_list = \ | 125 | .perf_counter_ctx.counter_list = \ |
126 | LIST_HEAD_INIT(tsk.perf_counter_ctx.counter_list), \ | 126 | LIST_HEAD_INIT(tsk.perf_counter_ctx.counter_list), \ |
127 | .perf_counter_ctx.event_list = \ | ||
128 | LIST_HEAD_INIT(tsk.perf_counter_ctx.event_list), \ | ||
127 | .perf_counter_ctx.lock = \ | 129 | .perf_counter_ctx.lock = \ |
128 | __SPIN_LOCK_UNLOCKED(tsk.perf_counter_ctx.lock), | 130 | __SPIN_LOCK_UNLOCKED(tsk.perf_counter_ctx.lock), |
129 | #else | 131 | #else |
diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c index b39456ad74a1..4c4e9eb37ab0 100644 --- a/kernel/perf_counter.c +++ b/kernel/perf_counter.c | |||
@@ -1506,7 +1506,7 @@ static void perf_swcounter_ctx_event(struct perf_counter_context *ctx, | |||
1506 | { | 1506 | { |
1507 | struct perf_counter *counter; | 1507 | struct perf_counter *counter; |
1508 | 1508 | ||
1509 | if (list_empty(&ctx->event_list)) | 1509 | if (system_state != SYSTEM_RUNNING || list_empty(&ctx->event_list)) |
1510 | return; | 1510 | return; |
1511 | 1511 | ||
1512 | rcu_read_lock(); | 1512 | rcu_read_lock(); |