kernel_optimize_test/arch/ia64/kernel
Russ Anderson 2bc5c28299 [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>
2007-10-12 15:17:44 -07:00
..
cpufreq [IA64] Fix processor_get_freq 2007-08-15 13:20:38 -07:00
acpi-ext.c
acpi-processor.c [IA64] Fix using uninitialized data in _PDC setup 2007-05-24 10:14:30 -07:00
acpi.c [IA64] Fix wrong assumption in acpi_gsi_to_irq 2007-07-26 14:27:42 -07:00
asm-offsets.c [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
brl_emu.c
crash_dump.c
crash.c [IA64] kdump on INIT needs multi-nodes sync-up (v.2) 2007-05-14 15:55:39 -07:00
cyclone.c cyclone.c: silly use of volatile, __iomem fixes 2007-07-26 11:11:57 -07:00
efi_stub.S
efi.c handle kernelcore=: generic 2007-07-17 10:22:59 -07:00
entry.h
entry.S [IA64] fallocate system call 2007-07-19 13:48:00 -07:00
err_inject.c [IA64] typo s/kenrel/kernel/ 2007-05-10 09:35:30 -07:00
esi_stub.S
esi.c
fsys.S [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
fsyscall_gtod_data.h [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
gate-data.S
gate.lds.S
gate.S [IA64] Stop bit for brl instruction 2007-07-09 13:37:44 -07:00
head.S [IA64] fix section mismatch warnings 2007-07-25 13:08:26 -07:00
ia64_ksyms.c
init_task.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
iosapic.c [IA64] Fix wrong access to irq_desc[] in iosapic_register_intr(). 2007-08-01 11:57:59 -07:00
irq_ia64.c [IA64] Fix unexpected interrupt vector handling 2007-08-28 16:01:21 -07:00
irq_lsapic.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
irq.c [IA64] SN2 needs platform specific irq_to_vector() function. 2007-08-13 10:31:26 -07:00
ivt.S
jprobes.S
kprobes.c jprobes: make jprobes a little safer for users 2007-07-19 10:04:44 -07:00
machine_kexec.c
machvec.c [IA64] Ensure that machvec is set up takes place before serial console 2007-07-25 11:12:47 -07:00
Makefile
mca_asm.S [IA64] Support multiple CPUs going through OS_MCA 2007-07-11 11:50:11 -07:00
mca_drv_asm.S [IA64] Don't set psr.ic and psr.i simultaneously 2007-07-09 10:30:28 -07:00
mca_drv.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
mca_drv.h
mca.c [IA64] Remove needless delay in MCA rendezvous 2007-10-12 15:17:44 -07:00
minstate.h
module.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
msi_ia64.c [IA64] Support irq migration across domain 2007-07-17 09:57:42 -07:00
numa.c
pal.S
palinfo.c [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations 2007-10-12 14:13:38 -07:00
patch.c
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
perfmon_montecito.h
perfmon.c [IA64] perfmon: Remove exit_pfm_fs() 2007-10-12 14:19:21 -07:00
process.c [IA64] disable irq's and check need_resched before safe_halt 2007-08-13 10:17:23 -07:00
ptrace.c Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH 2007-09-10 18:57:47 -07:00
relocate_kernel.S [IA64] Removal of percpu TR cleanup in kexec code 2007-05-08 10:00:28 -07:00
sal.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
salinfo.c [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations 2007-10-12 14:13:38 -07:00
semaphore.c
setup.c [IA64] Enable early console for Ski simulator 2007-09-01 02:50:39 -07:00
sigframe.h [IA64] Add TIF_RESTORE_SIGMASK 2007-05-08 14:51:59 -07:00
signal.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2007-05-09 13:38:45 -07:00
smp.c [IA64] Allow smp_call_function_single() to current cpu 2007-07-30 16:26:45 -07:00
smpboot.c [IA64] SN: Add support for CPU disable 2007-09-01 02:49:57 -07:00
sys_ia64.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
time.c [IA64] ITC: Reduce rating for ITC clock if ITCs are drifty 2007-08-01 14:02:36 -07:00
topology.c [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations 2007-10-12 14:13:38 -07:00
traps.c Report that kernel is tainted if there was an OOPS 2007-07-17 10:23:02 -07:00
unaligned.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
uncached.c
unwind_decoder.c
unwind_i.h
unwind.c [IA64] Correct unwind validation code 2007-06-26 13:33:10 -07:00
vmlinux.lds.S [IA64] get back PT_IA_64_UNWIND program header 2007-08-13 14:50:35 -07:00