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/pc98 | |
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/pc98')
-rw-r--r-- | sys/pc98/pc98/machdep.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c index 942b804..b77f67e 100644 --- a/sys/pc98/pc98/machdep.c +++ b/sys/pc98/pc98/machdep.c @@ -1133,7 +1133,7 @@ cpu_idle_default(void) * is a runnable process. */ void -cpu_idle(void) +cpu_idle(int busy) { #ifdef SMP @@ -1150,6 +1150,13 @@ cpu_idle(void) } } +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; |