diff -NruBbEw linux-2.4.18/arch/i386/kernel/i386_ksyms.c linux-2.4.18-CBS/arch/i386/kernel/i386_ksyms.c --- linux-2.4.18/arch/i386/kernel/i386_ksyms.c 2002-11-11 11:01:55.000000000 +0100 +++ linux-2.4.18-CBS/arch/i386/kernel/i386_ksyms.c 2002-11-11 11:15:17.000000000 +0100 @@ -226,4 +226,9 @@ /* EXPORT_SYMBOL(do_softirq); */ EXPORT_SYMBOL(set_ldt_desc); EXPORT_SYMBOL(default_ldt); + +// CBS in RT-Linux +#include +EXPORT_SYMBOL(cbs_linux_idle); +// !CBS in RT-Linux #endif /* CONFIG_RTLINUX */ diff -NruBbEw linux-2.4.18/include/linux/sched.h linux-2.4.18-CBS/include/linux/sched.h --- linux-2.4.18/include/linux/sched.h 2002-11-11 11:01:56.000000000 +0100 +++ linux-2.4.18-CBS/include/linux/sched.h 2002-11-11 11:28:58.000000000 +0100 @@ -75,6 +75,10 @@ extern int nr_running, nr_threads; extern int last_pid; +// CBS in RT-Linux +extern int cbs_linux_idle; +// !CBS in RT-Linux + #include #include #include diff -NruBbEw linux-2.4.18/kernel/sched.c linux-2.4.18-CBS/kernel/sched.c --- linux-2.4.18/kernel/sched.c 2002-11-11 11:01:56.000000000 +0100 +++ linux-2.4.18-CBS/kernel/sched.c 2002-11-11 11:27:00.000000000 +0100 @@ -43,6 +43,10 @@ unsigned securebits = SECUREBITS_DEFAULT; /* systemwide security settings */ +// CBS in RT-Linux +int cbs_linux_idle; +// !CBS in RT-Linux + extern void mem_use(void); /* @@ -659,6 +663,9 @@ */ #endif /* CONFIG_SMP */ + if(next == idle_task(this_cpu)){ + cbs_linux_idle = 0; + } kstat.context_swtch++; /*