Ivan.
--- 2.5.30/arch/alpha/kernel/smp.c	Fri Aug  2 01:16:16 2002
+++ linux/arch/alpha/kernel/smp.c	Thu Aug  8 19:45:19 2002
@@ -62,7 +63,6 @@ static struct {
 
 enum ipi_message_type {
 	IPI_RESCHEDULE,
-	IPI_MIGRATION,
 	IPI_CALL_FUNC,
 	IPI_CPU_STOP,
 };
@@ -668,33 +658,21 @@ send_ipi_message(unsigned long to_whom, 
 {
 	unsigned long i, set, n;
 
-	set = to_whom & -to_whom;
-	if (to_whom == set) {
+	mb();
+	for (i = to_whom; i ; i &= ~set) {
+		set = i & -i;
 		n = __ffs(set);
-		mb();
 		set_bit(operation, &ipi_data[n].bits);
-		mb();
-		wripir(n);
-	} else {
-		mb();
-		for (i = to_whom; i ; i &= ~set) {
-			set = i & -i;
-			n = __ffs(set);
-			set_bit(operation, &ipi_data[n].bits);
-		}
+	}
 
-		mb();
-		for (i = to_whom; i ; i &= ~set) {
-			set = i & -i;
-			n = __ffs(set);
-			wripir(n);
-		}
+	mb();
+	for (i = to_whom; i ; i &= ~set) {
+		set = i & -i;
+		n = __ffs(set);
+		wripir(n);
 	}
 }
 
-/* Data for IPI_MIGRATION.  */
-static task_t *migration_task;
-
 /* Structure and data for smp_call_function.  This is designed to 
    minimize static memory requirements.  Plus it looks cleaner.  */
 
@@ -768,15 +746,6 @@ handle_ipi(struct pt_regs *regs)
 			   is done by the interrupt return path.  */
 			break;
 
-		case IPI_MIGRATION:
-		    {
-			task_t *t = migration_task;
-			mb();
-			migration_task = 0;
-			sched_task_migrated(t);
-			break;
-		    }
-
 		case IPI_CALL_FUNC:
 		    {
 			struct smp_call_struct *data;
@@ -835,19 +804,6 @@ smp_send_reschedule(int cpu)
 }
 
 void
-smp_migrate_task(int cpu, task_t *t)
-{
-#if DEBUG_IPI_MSG
-	if (cpu == hard_smp_processor_id())
-		printk(KERN_WARNING
-		       "smp_migrate_task: Sending IPI to self.\n");
-#endif
-	/* Acquire the migration_task mutex.  */
-	pointer_lock(&migration_task, t, 1);
-	send_ipi_message(1UL << cpu, IPI_MIGRATION);
-}
-
-void
 smp_send_stop(void)
 {
 	unsigned long to_whom = cpu_present_mask & ~(1UL << smp_processor_id());
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/