diff options
author | jeff <jeff@FreeBSD.org> | 2008-04-25 05:18:50 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2008-04-25 05:18:50 +0000 |
commit | 14b586bf964970197e12228d127a713b7db7abcb (patch) | |
tree | ae275695b8c2f48f9a96c11fe4405ef85fe1bc79 /sys/ia64 | |
parent | 3cd35a205135ce8a15349a035286650c3452cafd (diff) | |
download | FreeBSD-src-14b586bf964970197e12228d127a713b7db7abcb.zip FreeBSD-src-14b586bf964970197e12228d127a713b7db7abcb.tar.gz |
- Add an integer argument to idle to indicate how likely we are to wake
from idle over the next tick.
- Add a new MD routine, cpu_wake_idle() to wakeup idle threads who are
suspended in cpu specific states. This function can fail and cause the
scheduler to fall back to another mechanism (ipi).
- Implement support for mwait in cpu_idle() on i386/amd64 machines that
support it. mwait is a higher performance way to synchronize cpus
as compared to hlt & ipis.
- Allow selecting the idle routine by name via sysctl machdep.idle. This
replaces machdep.cpu_idle_hlt. Only idle routines supported by the
current machine are permitted.
Sponsored by: Nokia
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/machdep.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c index 45e57de..d6ed3c3 100644 --- a/sys/ia64/ia64/machdep.c +++ b/sys/ia64/ia64/machdep.c @@ -335,7 +335,7 @@ cpu_halt() } static void -cpu_idle_default(void) +cpu_idle_default(int busy) { struct ia64_pal_result res; @@ -348,6 +348,13 @@ cpu_idle() (*cpu_idle_hook)(); } +int +cpu_idle_wakeup(int cpu) +{ + + return (0); +} + /* Other subsystems (e.g., ACPI) can hook this later. */ void (*cpu_idle_hook)(void) = cpu_idle_default; |