2.1.111 fix for "stuck on smp_invalidate_needed ..."

Eric PAIRE (e.paire@opengroup.org)
Mon, 27 Jul 1998 16:31:06 +0200


Hi Linus,

Since the 2.1.110, people running SMP Linux systems have noticed this
message occuring from time to time: "stuck on smp_invalidate_needed ...".
After having spent hours on it, I have found the reason of this message
that used to stuck SMP systems for seconds. The problem is very simple:

The code added for SMP rescheduling in "smp_send_reschedule()" calls
"smp_message_pass()" with the 4th argument set to 2, which asks the
processor to wait for invalidate map to clear, which has nothing to do
with rescheduling :-) The attached patch obviously fixes the problem.

Best regards,
-Eric
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ Eric PAIRE
Email : e.paire@gr.opengroup.org | THE Open GROUP - Grenoble Research Institute
Phone : +33 (0) 476 63 48 71 | 2, avenue de Vignate
Fax : +33 (0) 476 51 05 32 | F-38610 Gieres FRANCE

------ Cut Here ------ Cut Here ------ Cut Here ------ Cut Here ------
--- arch/i386/kernel/smp.c.OLD Mon Jul 27 09:38:08 1998
+++ arch/i386/kernel/smp.c Mon Jul 27 16:20:14 1998
@@ -1412,7 +1412,7 @@

__save_flags(flags);
__cli();
- smp_message_pass(cpu, MSG_RESCHEDULE, 0L, 2);
+ smp_message_pass(cpu, MSG_RESCHEDULE, 0L, 0);
__restore_flags(flags);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html