]> err.no Git - linux-2.6/commit
sched: sched_clock_idle_[sleep|wakeup]_event()
authorIngo Molnar <mingo@elte.hu>
Thu, 23 Aug 2007 13:18:02 +0000 (15:18 +0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 23 Aug 2007 13:18:02 +0000 (15:18 +0200)
commit2aa44d0567ed21b47b87d68819415d48194cb923
tree7be2a8a30a23b363e1e2aecd41934e75f581e115
parentb377fd3982ad957c796758a90e2988401a884241
sched: sched_clock_idle_[sleep|wakeup]_event()

construct a more or less wall-clock time out of sched_clock(), by
using ACPI-idle's existing knowledge about how much time we spent
idling. This allows the rq clock to work around TSC-stops-in-C2,
TSC-gets-corrupted-in-C3 type of problems.

( Besides the scheduler's statistics this also benefits blktrace and
  printk-timestamps as well. )

Furthermore, the precise before-C2/C3-sleep and after-C2/C3-wakeup
callbacks allow the scheduler to get out the most of the period where
the CPU has a reliable TSC. This results in slightly more precise
task statistics.

the ACPI bits were acked by Len.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Len Brown <len.brown@intel.com>
arch/i386/kernel/tsc.c
drivers/acpi/processor_idle.c
include/linux/sched.h
kernel/sched.c
kernel/sched_debug.c