--- ./kernel/sched.c.orig Tue Apr 22 02:07:02 2003 +++ ./kernel/sched.c Tue Apr 22 02:07:58 2003 @@ -860,44 +860,6 @@ 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 */ - -#if CONFIG_SMP /** * set_cpus_allowed() - change a given task's processor affinity