diff -urNp 2.4.21pre5/include/linux/sched.h x/include/linux/sched.h --- 2.4.21pre5/include/linux/sched.h 2003-02-27 08:15:41.000000000 +0100 +++ x/include/linux/sched.h 2003-03-11 20:02:57.000000000 +0100 @@ -163,12 +163,6 @@ extern void flush_scheduled_tasks(void); extern int start_context_thread(void); extern int current_is_keventd(void); -#if CONFIG_SMP -extern void set_cpus_allowed(struct task_struct *p, unsigned long new_mask); -#else -# define set_cpus_allowed(p, new_mask) do { } while (0) -#endif - /* * The default fd array needs to be at least BITS_PER_LONG, * as this is the granularity returned by copy_fdset(). diff -urNp 2.4.21pre5/kernel/ksyms.c x/kernel/ksyms.c --- 2.4.21pre5/kernel/ksyms.c 2003-02-27 08:15:43.000000000 +0100 +++ x/kernel/ksyms.c 2003-03-11 20:02:57.000000000 +0100 @@ -452,9 +452,6 @@ EXPORT_SYMBOL(interruptible_sleep_on); EXPORT_SYMBOL(interruptible_sleep_on_timeout); EXPORT_SYMBOL(schedule); EXPORT_SYMBOL(schedule_timeout); -#if CONFIG_SMP -EXPORT_SYMBOL(set_cpus_allowed); -#endif EXPORT_SYMBOL(yield); EXPORT_SYMBOL(__cond_resched); EXPORT_SYMBOL(jiffies); diff -urNp 2.4.21pre5/kernel/sched.c x/kernel/sched.c --- 2.4.21pre5/kernel/sched.c 2003-02-27 08:15:43.000000000 +0100 +++ x/kernel/sched.c 2003-03-11 20:02:57.000000000 +0100 @@ -850,44 +850,6 @@ long sleep_on_timeout(wait_queue_head_t void scheduling_functions_end_here(void) { } -#if CONFIG_SMP -/** - * set_cpus_allowed() - change a given task's processor affinity - * @p: task to bind - * @new_mask: bitmask of allowed processors - * - * Upon return, the task is running on a legal processor. Note the caller - * must have a valid reference to the task: it must not exit() prematurely. - * This call can sleep; do not hold locks on call. - */ -void set_cpus_allowed(struct task_struct *p, unsigned long new_mask) -{ - new_mask &= cpu_online_map; - BUG_ON(!new_mask); - - p->cpus_allowed = new_mask; - - /* - * If the task is on a no-longer-allowed processor, we need to move - * it. If the task is not current, then set need_resched and send - * its processor an IPI to reschedule. - */ - if (!(p->cpus_runnable & p->cpus_allowed)) { - if (p != current) { - p->need_resched = 1; - smp_send_reschedule(p->processor); - } - /* - * Wait until we are on a legal processor. If the task is - * current, then we should be on a legal processor the next - * time we reschedule. Otherwise, we need to wait for the IPI. - */ - while (!(p->cpus_runnable & p->cpus_allowed)) - schedule(); - } -} -#endif /* CONFIG_SMP */ - #ifndef __alpha__ /*