android_kernel_xiaomi_sm8350/arch/ia64/kernel
Hidetoshi Seto ddb4f0df04 [IA64] CMC/CPE: Reverse the order of fetching log and checking poll threshold
This patch reverses the order of fetching log from SAL and
checking poll threshold. This will fix following trivial issues:

- If SAL_GET_SATE_INFO is unbelievably slow (due to huge system
   or just its silly implementation) and if it takes more than
   1/5 sec, CMCI/CPEI will never switch to CMCP/CPEP.
- Assuming terrible flood of interrupt (continuous corrected
   errors let all CPUs enter to handler at once and bind them
   in it), CPUs will be serialized by IA64_LOG_LOCK(*).
   Now we check the poll threshold after the lock and log fetch,
   so we need to call SAL_GET_STATE_INFO (num_online_cpus() + 4)
   times in the worst case.
   if we can check the threshold before the lock, we can shut up
   interrupts quickly without waiting preceding log fetches, and
   the number of times will be reduced to (num_online_cpus()) in
   the same situation.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-09-26 15:27:56 -07:00
..
cpufreq Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
acpi-ext.c Pull acpi_os_free into release branch 2006-07-01 17:19:08 -04:00
acpi-processor.c
acpi.c ACPI: relax BAD_MADT_ENTRY check to allow LSAPIC variable length string UIDs 2006-08-18 12:56:50 -04:00
asm-offsets.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
audit.c [PATCH] audit: AUDIT_PERM support 2006-09-11 13:32:30 -04:00
brl_emu.c
cyclone.c
efi_stub.S
efi.c [IA64] sparse cleanups 2006-08-02 16:03:44 -07:00
entry.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
entry.S Revert "[IA64] Unwire set/get_robust_list" 2006-09-26 14:04:42 -07:00
esi_stub.S
esi.c
fsys.S
gate-data.S
gate.lds.S [PATCH] vDSO hash-style fix 2006-07-31 13:28:43 -07:00
gate.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
head.S [IA64] Save register stack contents on cpu start 2006-09-08 11:05:13 -07:00
ia64_ksyms.c Pull esi-support into release branch 2006-09-26 09:47:30 -07:00
init_task.c
iosapic.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
irq_ia64.c [PATCH] irq-flags: IA64: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
irq_lsapic.c [PATCH] genirq: add ->retrigger() irq op to consolidate hw_irq_resend() 2006-06-29 10:26:23 -07:00
irq.c
ivt.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
jprobes.S
kprobes.c [IA64] kprobes: fixup the pagefault exception caused by probehandlers 2006-09-26 11:33:32 -07:00
machvec.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Makefile Pull esi-support into release branch 2006-09-26 09:47:30 -07:00
mca_asm.S [IA64] ar.fpsr not set on MCA/INIT kernel entry 2006-09-26 15:20:35 -07:00
mca_drv_asm.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mca_drv.c [IA64] printing support for MCA/INIT 2006-09-26 14:44:37 -07:00
mca_drv.h [IA64] printing support for MCA/INIT 2006-09-26 14:44:37 -07:00
mca.c [IA64] CMC/CPE: Reverse the order of fetching log and checking poll threshold 2006-09-26 15:27:56 -07:00
minstate.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
module.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
numa.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pal.S [IA64] Do not assume output registers be reservered. 2006-08-02 16:12:08 -07:00
palinfo.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2006-08-03 12:50:20 -07:00
patch.c
perfmon_default_smpl.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
perfmon.c [IA64] Move perfmon tables from thread_struct to pfm_context 2006-09-26 12:03:13 -07:00
process.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ptrace.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sal.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
salinfo.c [IA64] printing support for MCA/INIT 2006-09-26 14:44:37 -07:00
semaphore.c
setup.c Pull model-name into release branch 2006-09-26 09:47:04 -07:00
sigframe.h
signal.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
smp.c
smpboot.c [IA64] Add interface so modules can discover whether multithreading is on. 2006-09-26 11:39:38 -07:00
sys_ia64.c [PATCH] IA64,sparc: local DoS with corrupted ELFs 2006-09-08 08:40:46 -07:00
time.c [PATCH] irq-flags: IA64: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
topology.c [IA64] panic if topology_init kzalloc fails 2006-08-24 08:29:24 -07:00
traps.c [PATCH] Change panic_on_oops message to "Fatal exception" 2006-08-14 12:54:29 -07:00
unaligned.c
uncached.c [IA64] make uncached allocator more node aware 2006-08-04 10:27:27 -07:00
unwind_decoder.c
unwind_i.h
unwind.c
vmlinux.lds.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00