android_kernel_xiaomi_sm8350/arch/x86_64/kernel
Ashok Raj 54d5d42404 [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity
When handling writes to /proc/irq, current code is re-programming rte
entries directly. This is not recommended and could potentially cause
chipset's to lockup, or cause missing interrupts.

CONFIG_IRQ_BALANCE does this correctly, where it re-programs only when the
interrupt is pending. The same needs to be done for /proc/irq handling as well.
Otherwise user space irq balancers are really not doing the right thing.

- Changed pending_irq_balance_cpumask to pending_irq_migrate_cpumask for
  lack of a generic name.
- added move_irq out of IRQ_BALANCE, and added this same to X86_64
- Added new proc handler for write, so we can do deferred write at irq
  handling time.
- Display of /proc/irq/XX/smp_affinity used to display CPU_MASKALL, instead
  it now shows only active cpu masks, or exactly what was set.
- Provided a common move_irq implementation, instead of duplicating
  when using generic irq framework.

Tested on i386/x86_64 and ia64 with CONFIG_PCI_MSI turned on and off.
Tested UP builds as well.

MSI testing: tbd: I have cards, need to look for a x-over cable, although I
did test an earlier version of this patch.  Will test in a couple days.

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Acked-by: Zwane Mwaikambo <zwane@holomorphy.com>
Grudgingly-acked-by: Andi Kleen <ak@muc.de>
Signed-off-by: Coywolf Qi Hunt <coywolf@lovecn.org>
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-07 16:57:15 -07:00
..
acpi
cpufreq
aperture.c
apic.c
asm-offsets.c
crash.c
e820.c [PATCH] x86_64: Tell VM about holes in nodes 2005-08-26 19:37:12 -07:00
early_printk.c
entry.S [PATCH] x86_64: Switch to the interrupt stack when running a softirq in local_bh_enable() 2005-07-28 21:46:02 -07:00
genapic_cluster.c
genapic_flat.c [PATCH] x86_64: Support more than 8 cores on AMD systems 2005-07-28 21:46:01 -07:00
genapic.c [PATCH] x86_64: Support more than 8 cores on AMD systems 2005-07-28 21:46:01 -07:00
head64.c
head.S [PATCH] x86_64: Small assembly improvements 2005-07-28 21:46:02 -07:00
i387.c
i8259.c
init_task.c
io_apic.c [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity 2005-09-07 16:57:15 -07:00
ioport.c
irq.c [PATCH] x86_64: Switch to the interrupt stack when running a softirq in local_bh_enable() 2005-07-28 21:46:02 -07:00
kprobes.c
ldt.c
machine_kexec.c [PATCH] x86_64 machine_kexec: Use standard pagetable helpers 2005-07-29 13:12:49 -07:00
Makefile [PATCH] ISA DMA suspend for x86_64 2005-09-05 00:06:14 -07:00
mce_intel.c
mce.c [PATCH] x86_64: ignore machine checks from boot time 2005-08-07 10:00:37 -07:00
module.c
mpparse.c [PATCH] x86_64: avoid wasting IRQs patch update 2005-07-30 13:37:50 -07:00
msr.c
nmi.c [PATCH] swsusp: fix remaining u32 vs. pm_message_t confusion 2005-09-05 00:06:15 -07:00
pci-dma.c
pci-gart.c
pci-nommu.c
pmtimer.c
process.c
ptrace.c
reboot.c [PATCH] x86_64 sync machine_power_off with i386 2005-07-26 14:35:45 -07:00
relocate_kernel.S
setup64.c [PATCH] x86_64: Some cleanup in setup64.c 2005-07-28 21:45:58 -07:00
setup.c [PATCH] x86_64 bootmem: sparse_mem/kexec merge bug. 2005-08-06 13:06:30 -07:00
signal.c [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
smp.c [PATCH] Fix sync_tsc hang 2005-07-29 15:01:13 -07:00
smpboot.c [PATCH] x86_64: Fix race in TSC synchronization 2005-08-19 19:18:47 -07:00
suspend_asm.S
suspend.c
sys_x86_64.c
syscall.c
time.c
trampoline.S
traps.c [PATCH] x86_64: cpu hotplug changes kills nmi watchdog 2005-07-28 21:45:57 -07:00
vmlinux.lds.S
vsyscall.c
x8664_ksyms.c