There is a bug in the CKRM CPU scheduler. This has been reported to the
[linux-2.6.git] / arch / i386 / kernel / init_task.c
index 976e6bc..30cfd40 100644 (file)
@@ -4,6 +4,7 @@
 #include <linux/init.h>
 #include <linux/init_task.h>
 #include <linux/fs.h>
+#include <linux/mqueue.h>
 
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
@@ -26,7 +27,14 @@ EXPORT_SYMBOL(init_mm);
  */
 union thread_union init_thread_union 
        __attribute__((__section__(".data.init_task"))) =
-               { INIT_THREAD_INFO(init_task) };
+               { INIT_THREAD_INFO(init_task, init_thread_union) };
+
+#ifdef CONFIG_X86_STACK_CHECK
+union thread_union stack_overflow_stack
+ __attribute__((__section__(".data.init_task"))) =
+               { INIT_THREAD_INFO(init_task, stack_overflow_stack) };
+#endif
+
 
 /*
  * Initial task structure.
@@ -44,5 +52,5 @@ EXPORT_SYMBOL(init_task);
  * section. Since TSS's are completely CPU-local, we want them
  * on exact cacheline boundaries, to eliminate cacheline ping-pong.
  */ 
-struct tss_struct init_tss[NR_CPUS] __cacheline_aligned = { [0 ... NR_CPUS-1] = INIT_TSS };
+struct tss_struct init_tss[NR_CPUS] __attribute__((__section__(".data.tss"))) = { [0 ... NR_CPUS-1] = INIT_TSS };