--- linux-2.4.20/arch/i386/kernel/apm.c~ 2003-01-07 11:43:05.000000000 +0100 +++ linux-2.4.20/arch/i386/kernel/apm.c 2003-01-07 11:43:05.000000000 +0100 @@ -506,7 +506,8 @@ unsigned long x = current->cpus_allowed; /* Some bioses don't like being called from CPU != 0 */ if (cpu_number_map(smp_processor_id()) != 0) { - set_cpus_allowed(current, 1 << cpu_logical_map(0)); + current->cpus_allowed = 1 << cpu_logical_map(0); + schedule(); if (unlikely(cpu_number_map(smp_processor_id()) != 0)) BUG(); } @@ -515,7 +516,8 @@ static inline void apm_restore_cpus(unsigned long mask) { - set_cpus_allowed(current, mask); + current->cpus_allowed = mask; + schedule(); } #else --- linux-2.4.20/net/tux/cachemiss.c~ 2003-05-08 20:58:09.000000000 +0200 +++ linux-2.4.20/net/tux/cachemiss.c 2003-05-08 20:58:09.000000000 +0200 @@ -127,7 +127,7 @@ mask = 1 << nr; if (cpu_online_map & mask) - set_cpus_allowed(current, mask); + current->cpus_allowed = mask; } #endif --- linux-2.4.20/net/tux/cgi.c~ 2003-05-08 20:57:45.000000000 +0200 +++ linux-2.4.20/net/tux/cgi.c 2003-05-08 20:57:45.000000000 +0200 @@ -146,9 +146,9 @@ unsigned int mask = cpu_online_map & tux_cgi_cpu_mask; if (mask) - set_cpus_allowed(current, mask); + current->cpus_allowed = mask; else - set_cpus_allowed(current, cpu_online_map); + current->cpus_allowed = cpu_online_map; } #endif --- linux-2.4.20/net/tux/logger.c~ 2003-05-08 20:57:58.000000000 +0200 +++ linux-2.4.20/net/tux/logger.c 2003-05-08 20:57:58.000000000 +0200 @@ -739,7 +739,7 @@ unsigned long mask = log_cpu_mask; if (cpu_online_map & mask) - set_cpus_allowed(current, mask); + current->cpus_allowed = mask; } #endif --- linux-2.4.20/net/tux/main.c~ 2003-05-08 20:57:27.000000000 +0200 +++ linux-2.4.20/net/tux/main.c 2003-05-08 20:57:27.000000000 +0200 @@ -441,7 +441,7 @@ mask = 1 << ((cpu + tux_cpu_offset) % smp_num_cpus); if (cpu_online_map & mask) - set_cpus_allowed(current, mask); + current->cpus_allowed = mask; } #endif ti->thread = current; --- linux-2.4.20/kernel/ksyms.c~ 2003-05-08 20:59:09.000000000 +0200 +++ linux-2.4.20/kernel/ksyms.c 2003-05-08 20:59:09.000000000 +0200 @@ -608,6 +608,9 @@ EXPORT_SYMBOL(cpu_raise_softirq); EXPORT_SYMBOL(__tasklet_schedule); EXPORT_SYMBOL(__tasklet_hi_schedule); +#ifndef __x86_64__ +EXPORT_SYMBOL(sys_wait4); +#endif /* init task, for moving kthread roots - ought to export a function ?? */