ACPI / cpuidle: Drop unnecessary calls from ->enter callback routines
acpi_idle_enter_simple() and acpi_idle_enter_bm() don't need to call sched_clock_idle_sleep/wakeup_event(), because that's taken care of by the core already. Namely, sched_clock_idle_sleep_event() is called by tick_nohz_start_idle() called by __tick_nohz_idle_enter() which in turn is called by tick_nohz_idle_enter() and that is called by cpu_idle_loop(). Analogously for sched_clock_idle_wakeup_event(). For this reason, drop those calls from the ACPI cpuidle driver's ->enter callback routines. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
b00783fd90
commit
67f592c8f6
|
@ -791,12 +791,8 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
|
|||
if (cx->type == ACPI_STATE_C3)
|
||||
ACPI_FLUSH_CPU_CACHE();
|
||||
|
||||
/* Tell the scheduler that we are going deep-idle: */
|
||||
sched_clock_idle_sleep_event();
|
||||
acpi_idle_do_entry(cx);
|
||||
|
||||
sched_clock_idle_wakeup_event(0);
|
||||
|
||||
lapic_timer_state_broadcast(pr, cx, 0);
|
||||
return index;
|
||||
}
|
||||
|
@ -842,8 +838,6 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
|
|||
|
||||
acpi_unlazy_tlb(smp_processor_id());
|
||||
|
||||
/* Tell the scheduler that we are going deep-idle: */
|
||||
sched_clock_idle_sleep_event();
|
||||
/*
|
||||
* Must be done before busmaster disable as we might need to
|
||||
* access HPET !
|
||||
|
@ -881,8 +875,6 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
|
|||
raw_spin_unlock(&c3_lock);
|
||||
}
|
||||
|
||||
sched_clock_idle_wakeup_event(0);
|
||||
|
||||
lapic_timer_state_broadcast(pr, cx, 0);
|
||||
return index;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue