Re: broken suspend (sched related) [Was: 2.6.24-rc4-mm1]

Jiri Slaby
2007-12-08T23:13:11Z

On 12/08/2007 04:24 PM, Ingo Molnar wrote:
> i'm wondering why it had no effect now

diff --git a/kernel/cpu.c b/kernel/cpu.c
index e0d3a4f..a46c252 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -47,15 +47,21 @@ void __init cpu_hotplug_init(void)
}

#ifdef CONFIG_HOTPLUG_CPU
-
+#include <asm/io.h>
void get_online_cpus(void)
{
+ outb(0x20, 0x80);
might_sleep();
+ outb(0x21, 0x80);
if (cpu_hotplug.active_writer == current)
return;
+ outb(0x22, 0x80);
mutex_lock(&cpu_hotplug.lock);
+ outb(0x23, 0x80);
cpu_hotplug.refcount++;
+ outb(0x24, 0x80);
mutex_unlock(&cpu_hotplug.lock);
+ outb(0x25, 0x80);

}
EXPORT_SYMBOL_GPL(get_online_cpus);

produces 0x22 on the LCD (called from watchdog kthread).

Going to catch some sleep,
--js