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]); |
