diff options
Diffstat (limited to 'kernel/profile.c')
-rw-r--r-- | kernel/profile.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/profile.c b/kernel/profile.c index 9bfadb248dd8..cc91b9bf759d 100644 --- a/kernel/profile.c +++ b/kernel/profile.c | |||
@@ -340,6 +340,7 @@ static int __devinit profile_cpu_callback(struct notifier_block *info, | |||
340 | 340 | ||
341 | switch (action) { | 341 | switch (action) { |
342 | case CPU_UP_PREPARE: | 342 | case CPU_UP_PREPARE: |
343 | case CPU_UP_PREPARE_FROZEN: | ||
343 | node = cpu_to_node(cpu); | 344 | node = cpu_to_node(cpu); |
344 | per_cpu(cpu_profile_flip, cpu) = 0; | 345 | per_cpu(cpu_profile_flip, cpu) = 0; |
345 | if (!per_cpu(cpu_profile_hits, cpu)[1]) { | 346 | if (!per_cpu(cpu_profile_hits, cpu)[1]) { |
@@ -365,10 +366,13 @@ static int __devinit profile_cpu_callback(struct notifier_block *info, | |||
365 | __free_page(page); | 366 | __free_page(page); |
366 | return NOTIFY_BAD; | 367 | return NOTIFY_BAD; |
367 | case CPU_ONLINE: | 368 | case CPU_ONLINE: |
369 | case CPU_ONLINE_FROZEN: | ||
368 | cpu_set(cpu, prof_cpu_mask); | 370 | cpu_set(cpu, prof_cpu_mask); |
369 | break; | 371 | break; |
370 | case CPU_UP_CANCELED: | 372 | case CPU_UP_CANCELED: |
373 | case CPU_UP_CANCELED_FROZEN: | ||
371 | case CPU_DEAD: | 374 | case CPU_DEAD: |
375 | case CPU_DEAD_FROZEN: | ||
372 | cpu_clear(cpu, prof_cpu_mask); | 376 | cpu_clear(cpu, prof_cpu_mask); |
373 | if (per_cpu(cpu_profile_hits, cpu)[0]) { | 377 | if (per_cpu(cpu_profile_hits, cpu)[0]) { |
374 | page = virt_to_page(per_cpu(cpu_profile_hits, cpu)[0]); | 378 | page = virt_to_page(per_cpu(cpu_profile_hits, cpu)[0]); |