Searched hist:"2 bc5c282999af41042c2b703bf3a58ca1d7e3ee2" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/arch/ia64/kernel/ |
H A D | mca.c | diff 2bc5c282999af41042c2b703bf3a58ca1d7e3ee2 Thu Sep 20 13:59:12 CDT 2007 Russ Anderson <rja@sgi.com> [IA64] Remove needless delay in MCA rendezvous
While testing the MCA recovery code, noticed that some machines would have a five second delay rendezvousing cpus. What was happening is that ia64_wait_for_slaves() would check to see if all the slave CPUs had rendezvoused. If any had not, it would wait 1 millisecond then check again. If any CPUs had still not rendezvoused, it would wait 5 seconds before checking again.
On some configs the rendezvous takes more than 1 millisecond, causing the code to wait the full 5 seconds, even though the last CPU rendezvoused after only a few milliseconds.
The fix is to check every 1 millisecond to see if all the cpus have rendezvoused. After 5 seconds the code concludes the CPUs will never rendezvous (same as before).
The MCA code is, by definition, not performance critical, but a needless delay of 5 seconds is senseless. The 5 seconds also adds up quickly when running the error injection code in a loop.
This patch both simplifies the code and removes the needless delay.
Signed-off-by: Russ Anderson <rja@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
|