diff options
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/tick-sched.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 1f2fce2479fe..611fa4c0baab 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
@@ -419,8 +419,9 @@ void tick_nohz_restart_sched_tick(void) | |||
419 | { | 419 | { |
420 | int cpu = smp_processor_id(); | 420 | int cpu = smp_processor_id(); |
421 | struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); | 421 | struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); |
422 | #ifndef CONFIG_VIRT_CPU_ACCOUNTING | ||
422 | unsigned long ticks; | 423 | unsigned long ticks; |
423 | cputime_t cputime; | 424 | #endif |
424 | ktime_t now; | 425 | ktime_t now; |
425 | 426 | ||
426 | local_irq_disable(); | 427 | local_irq_disable(); |
@@ -442,6 +443,7 @@ void tick_nohz_restart_sched_tick(void) | |||
442 | tick_do_update_jiffies64(now); | 443 | tick_do_update_jiffies64(now); |
443 | cpu_clear(cpu, nohz_cpu_mask); | 444 | cpu_clear(cpu, nohz_cpu_mask); |
444 | 445 | ||
446 | #ifndef CONFIG_VIRT_CPU_ACCOUNTING | ||
445 | /* | 447 | /* |
446 | * We stopped the tick in idle. Update process times would miss the | 448 | * We stopped the tick in idle. Update process times would miss the |
447 | * time we slept as update_process_times does only a 1 tick | 449 | * time we slept as update_process_times does only a 1 tick |
@@ -451,12 +453,9 @@ void tick_nohz_restart_sched_tick(void) | |||
451 | /* | 453 | /* |
452 | * We might be one off. Do not randomly account a huge number of ticks! | 454 | * We might be one off. Do not randomly account a huge number of ticks! |
453 | */ | 455 | */ |
454 | if (ticks && ticks < LONG_MAX) { | 456 | if (ticks && ticks < LONG_MAX) |
455 | add_preempt_count(HARDIRQ_OFFSET); | 457 | account_idle_ticks(ticks); |
456 | cputime = jiffies_to_cputime(ticks); | 458 | #endif |
457 | account_system_time(current, HARDIRQ_OFFSET, cputime, cputime); | ||
458 | sub_preempt_count(HARDIRQ_OFFSET); | ||
459 | } | ||
460 | 459 | ||
461 | touch_softlockup_watchdog(); | 460 | touch_softlockup_watchdog(); |
462 | /* | 461 | /* |