OpenCloudOS-Kernel/arch/x86/include/asm
Prarit Bhargava da6139e49c x86: Add check for number of available vectors before CPU down
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64791

When a cpu is downed on a system, the irqs on the cpu are assigned to
other cpus.  It is possible, however, that when a cpu is downed there
aren't enough free vectors on the remaining cpus to account for the
vectors from the cpu that is being downed.

This results in an interesting "overflow" condition where irqs are
"assigned" to a CPU but are not handled.

For example, when downing cpus on a 1-64 logical processor system:

<snip>
[  232.021745] smpboot: CPU 61 is now offline
[  238.480275] smpboot: CPU 62 is now offline
[  245.991080] ------------[ cut here ]------------
[  245.996270] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:264 dev_watchdog+0x246/0x250()
[  246.005688] NETDEV WATCHDOG: p786p1 (ixgbe): transmit queue 0 timed out
[  246.013070] Modules linked in: lockd sunrpc iTCO_wdt iTCO_vendor_support sb_edac ixgbe microcode e1000e pcspkr joydev edac_core lpc_ich ioatdma ptp mdio mfd_core i2c_i801 dca pps_core i2c_core wmi acpi_cpufreq isci libsas scsi_transport_sas
[  246.037633] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.12.0+ #14
[  246.044451] Hardware name: Intel Corporation S4600LH ........../SVRBD-ROW_T, BIOS SE5C600.86B.01.08.0003.022620131521 02/26/2013
[  246.057371]  0000000000000009 ffff88081fa03d40 ffffffff8164fbf6 ffff88081fa0ee48
[  246.065728]  ffff88081fa03d90 ffff88081fa03d80 ffffffff81054ecc ffff88081fa13040
[  246.074073]  0000000000000000 ffff88200cce0000 0000000000000040 0000000000000000
[  246.082430] Call Trace:
[  246.085174]  <IRQ>  [<ffffffff8164fbf6>] dump_stack+0x46/0x58
[  246.091633]  [<ffffffff81054ecc>] warn_slowpath_common+0x8c/0xc0
[  246.098352]  [<ffffffff81054fb6>] warn_slowpath_fmt+0x46/0x50
[  246.104786]  [<ffffffff815710d6>] dev_watchdog+0x246/0x250
[  246.110923]  [<ffffffff81570e90>] ? dev_deactivate_queue.constprop.31+0x80/0x80
[  246.119097]  [<ffffffff8106092a>] call_timer_fn+0x3a/0x110
[  246.125224]  [<ffffffff8106280f>] ? update_process_times+0x6f/0x80
[  246.132137]  [<ffffffff81570e90>] ? dev_deactivate_queue.constprop.31+0x80/0x80
[  246.140308]  [<ffffffff81061db0>] run_timer_softirq+0x1f0/0x2a0
[  246.146933]  [<ffffffff81059a80>] __do_softirq+0xe0/0x220
[  246.152976]  [<ffffffff8165fedc>] call_softirq+0x1c/0x30
[  246.158920]  [<ffffffff810045f5>] do_softirq+0x55/0x90
[  246.164670]  [<ffffffff81059d35>] irq_exit+0xa5/0xb0
[  246.170227]  [<ffffffff8166062a>] smp_apic_timer_interrupt+0x4a/0x60
[  246.177324]  [<ffffffff8165f40a>] apic_timer_interrupt+0x6a/0x70
[  246.184041]  <EOI>  [<ffffffff81505a1b>] ? cpuidle_enter_state+0x5b/0xe0
[  246.191559]  [<ffffffff81505a17>] ? cpuidle_enter_state+0x57/0xe0
[  246.198374]  [<ffffffff81505b5d>] cpuidle_idle_call+0xbd/0x200
[  246.204900]  [<ffffffff8100b7ae>] arch_cpu_idle+0xe/0x30
[  246.210846]  [<ffffffff810a47b0>] cpu_startup_entry+0xd0/0x250
[  246.217371]  [<ffffffff81646b47>] rest_init+0x77/0x80
[  246.223028]  [<ffffffff81d09e8e>] start_kernel+0x3ee/0x3fb
[  246.229165]  [<ffffffff81d0989f>] ? repair_env_string+0x5e/0x5e
[  246.235787]  [<ffffffff81d095a5>] x86_64_start_reservations+0x2a/0x2c
[  246.242990]  [<ffffffff81d0969f>] x86_64_start_kernel+0xf8/0xfc
[  246.249610] ---[ end trace fb74fdef54d79039 ]---
[  246.254807] ixgbe 0000:c2:00.0 p786p1: initiating reset due to tx timeout
[  246.262489] ixgbe 0000:c2:00.0 p786p1: Reset adapter
Last login: Mon Nov 11 08:35:14 from 10.18.17.119
[root@(none) ~]# [  246.792676] ixgbe 0000:c2:00.0 p786p1: detected SFP+: 5
[  249.231598] ixgbe 0000:c2:00.0 p786p1: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[  246.792676] ixgbe 0000:c2:00.0 p786p1: detected SFP+: 5
[  249.231598] ixgbe 0000:c2:00.0 p786p1: NIC Link is Up 10 Gbps, Flow Control: RX/TX

(last lines keep repeating.  ixgbe driver is dead until module reload.)

If the downed cpu has more vectors than are free on the remaining cpus on the
system, it is possible that some vectors are "orphaned" even though they are
assigned to a cpu.  In this case, since the ixgbe driver had a watchdog, the
watchdog fired and notified that something was wrong.

This patch adds a function, check_vectors(), to compare the number of vectors
on the CPU going down and compares it to the number of vectors available on
the system.  If there aren't enough vectors for the CPU to go down, an
error is returned and propogated back to userspace.

v2: Do not need to look at percpu irqs
v3: Need to check affinity to prevent counting of MSIs in IOAPIC Lowest
    Priority Mode
v4: Additional changes suggested by Gong Chen.
v5/v6/v7/v8: Updated comment text

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Link: http://lkml.kernel.org/r/1389613861-3853-1-git-send-email-prarit@redhat.com
Reviewed-by: Gong Chen <gong.chen@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Seiji Aguchi <seiji.aguchi@hds.com>
Cc: Yang Zhang <yang.z.zhang@Intel.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Janet Morgan <janet.morgan@intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Ruiv Wang <ruiv.wang@gmail.com>
Cc: Gong Chen <gong.chen@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: <stable@vger.kernel.org>
2014-01-15 22:24:02 -08:00
..
crypto crypto: move x86 to the generic version of ablk_helper 2013-09-24 06:02:24 +10:00
numachip x86/PCI: Add NumaChip remote PCI support 2012-12-07 14:24:32 -07:00
trace ftrace, perf: Avoid infinite event generation loop 2013-11-19 16:57:40 +01:00
uv Revert "x86/UV: Add uvtrace support" 2013-11-11 19:53:42 +01:00
visws x86: Move pci init function to x86_init 2010-02-19 16:12:29 -08:00
xen xen: introduce xen_dma_map/unmap_page and xen_dma_sync_single_for_cpu/device 2013-10-25 10:39:49 +00:00
Kbuild sched, x86: Provide a per-cpu preempt_count implementation 2013-09-25 14:07:57 +02:00
a.out-core.h hw-breakpoints: Fix broken a.out format dump 2009-11-10 11:23:05 +01:00
acpi.h ACPI / x86: Increase override tables number limit 2013-09-25 16:59:39 +02:00
agp.h agp: kill phys_to_gart() and gart_to_phys() 2009-08-03 09:05:00 +01:00
alternative-asm.h x86, alternative: Add header guards to <asm/alternative-asm.h> 2012-09-21 12:45:26 -07:00
alternative.h kprobes/x86: Call out into INT3 handler directly instead of using notifier 2013-07-23 10:12:57 +02:00
amd_nb.h x86, AMD, NB: Add multi-domain support 2013-01-10 16:17:58 +01:00
apb_timer.h Merge branch 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-23 10:34:47 -07:00
apic.h x86/ioapic/kcrash: Prevent crash_kexec() from deadlocking on ioapic_lock 2013-08-20 09:26:33 +02:00
apic_flat_64.h x86: Make flat_init_apic_ldr() available 2011-12-05 17:17:07 +01:00
apicdef.h x86/apic: Fix typo EIO_ACK -> EOI_ACK and document it 2012-05-18 09:46:07 +02:00
apm.h
arch_hweight.h x86, hweight: Use a 32-bit popcnt for __arch_hweight32() 2010-05-17 15:17:16 -07:00
archrandom.h x86, random: Verify RDRAND functionality and allow it to be disabled 2011-07-31 14:02:19 -07:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm.h x86, asm: Extend definitions of _ASM_* with a raw format 2013-08-29 13:26:32 -07:00
atomic.h x86, bitops: Correct the assembly constraints to testing bitops 2013-12-04 14:31:28 -08:00
atomic64_32.h atomic64_32.h: fix parameter naming mismatch 2012-05-09 11:38:20 +02:00
atomic64_64.h x86, bitops: Correct the assembly constraints to testing bitops 2013-12-04 14:31:28 -08:00
barrier.h Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00
bios_ebda.h x86: Better comments for get_bios_ebda() 2011-04-29 14:13:15 -07:00
bitops.h x86, bitops: Correct the assembly constraints to testing bitops 2013-12-04 14:31:28 -08:00
boot.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
bootparam_utils.h x86: Don't clear olpc_ofw_header when sentinel is detected 2013-08-09 15:29:48 -07:00
bug.h dump_stack: unify debug information printed by show_regs() 2013-04-30 17:04:02 -07:00
bugs.h
cache.h Rename .data.read_mostly to .data..read_mostly. 2010-03-03 11:26:00 +01:00
cacheflush.h Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00
calgary.h x86, iommu: Make all IOMMU's detection routines return a value. 2010-08-26 15:13:13 -07:00
calling.h sched, x86: Optimize the preempt_schedule() call 2013-09-25 14:23:07 +02:00
ce4100.h x86: ce4100: Set pci ops via callback instead of module init 2011-03-14 15:13:23 +01:00
checksum.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
checksum_32.h x86, smap: Handle csum_partial_copy_*_user() 2013-09-01 14:09:48 -07:00
checksum_64.h x86, asmlinkage: Make 64bit checksum functions visible 2013-08-06 14:20:59 -07:00
clocksource.h x86: pvclock: generic pvclock vsyscall initialization 2012-11-27 23:29:09 -02:00
cmpxchg.h x86 cmpxchg.h: fix wrong comment 2013-04-25 10:39:04 +02:00
cmpxchg_32.h x86, 386 removal: Remove CONFIG_CMPXCHG 2012-11-29 13:23:01 -08:00
cmpxchg_64.h x86: Fix and improve cmpxchg_double{,_local}() 2012-01-04 15:01:54 +01:00
compat.h compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
context_tracking.h context_tracking: Move exception handling to generic code 2013-03-07 17:09:25 +01:00
cpu.h x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
cpu_device_id.h Add driver auto probing for x86 features v4 2012-01-26 16:44:41 -08:00
cpufeature.h compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2013-10-11 07:39:14 +02:00
cpumask.h
cputime.h
current.h x86: replace percpu_xxx funcs with this_cpu_xxx 2012-05-14 14:15:31 -07:00
debugreg.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
delay.h asm-generic: move archictures to common delay.h 2011-07-22 18:46:24 +02:00
desc.h x86, trace: Delete __trace_alloc_intr_gate() 2013-11-08 14:15:47 -08:00
desc_defs.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
device.h driver core / ACPI: Move ACPI support to core device and driver types 2012-11-15 00:28:00 +01:00
div64.h x86/div64: Add a micro-optimization shortcut if base is power of two 2011-12-05 18:16:11 +01:00
dma-contiguous.h drivers: dma-contiguous: clean source code and prepare for device tree 2013-08-27 09:18:29 +02:00
dma-mapping.h dma-debug: New interfaces to debug dma mapping errors 2012-10-24 17:06:43 +02:00
dma.h x86, NUMA: Enable emulation on 32bit too 2011-05-02 17:24:48 +02:00
dmi.h
dwarf2.h x86-64: Fix CFI data for interrupt frames 2011-09-28 19:04:52 +02:00
e820.h x86: avoid remapping data in parse_setup_data() 2013-08-13 23:29:19 -07:00
edac.h
efi.h x86/efi: Add EFI framebuffer earlyprintk support 2013-10-28 18:09:58 +00:00
elf.h mm: use vm_unmapped_area() on x86_64 architecture 2012-12-11 17:22:25 -08:00
emergency-restart.h reboot: move arch/x86 reboot= handling to generic kernel 2013-07-09 10:33:29 -07:00
entry_arch.h x86, trace: Add irq vector tracepoints 2013-06-20 22:25:34 -07:00
exec.h Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00
fb.h x86-64: Allow fbdev primary video code 2010-02-16 21:22:26 -08:00
fixmap.h ix86: Don't waste fixmap entries 2013-05-31 13:08:18 +02:00
floppy.h x86/debug: Add KERN_<LEVEL> to bare printks, convert printks to pr_<level> 2012-06-06 09:17:22 +02:00
fpu-internal.h x86, fpu, amd: Clear exceptions in AMD FXSAVE workaround 2014-01-11 19:15:52 -08:00
frame.h x86: Unify rwlock assembly implementation 2011-07-21 09:03:31 +02:00
ftrace.h tracing/syscalls: Allow archs to ignore tracing compat syscalls 2013-02-12 17:46:28 -05:00
futex.h x86, 386 removal: Remove CONFIG_BSWAP 2012-11-29 13:23:02 -08:00
gart.h x86, gart: Set DISTLBWALKPRB bit always 2011-04-18 09:26:48 -07:00
genapic.h
geode.h cs5535: drop the Geode-specific MFGPT/GPIO code 2009-12-15 08:53:28 -08:00
gpio.h gpiolib/arches: Centralise bolierplate asm/gpio.h 2012-05-11 18:00:14 -06:00
hardirq.h KVM: VMX: Register a new IPI for posted interrupt 2013-04-16 16:32:39 -03:00
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hpet.h x86, hpet: Introduce x86_msi_ops.setup_hpet_msi 2013-01-28 10:48:30 +01:00
hugetlb.h mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
hw_breakpoint.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
hw_irq.h x86, trace: Register exception handler to trace IDT 2013-11-08 14:15:45 -08:00
hypertransport.h
hypervisor.h x86: Correctly detect hypervisor 2013-08-05 06:35:33 -07:00
i387.h x86, kvm: fix kvm's usage of kernel_fpu_begin/end() 2012-09-21 16:59:04 -07:00
i8259.h x86: i8259: Convert to new irq_chip functions 2010-10-12 16:53:36 +02:00
ia32.h x86: switch to generic old sigaction 2013-02-03 18:16:27 -05:00
ia32_unistd.h x86: Generate system call tables and unistd_*.h from tables 2011-11-17 13:35:37 -08:00
idle.h x86: Merge the x86_32 and x86_64 cpu_idle() functions 2012-03-26 03:16:07 +02:00
inat.h x86: Fix to decode grouped AVX with VEX pp bits 2012-02-11 15:11:35 +01:00
inat_types.h x86: Instruction decoder API 2009-08-27 00:35:56 +02:00
init.h x86, 64bit, mm: Add generic kernel/ident mapping helper 2013-01-29 15:12:25 -08:00
insn.h x86: Fix to decode grouped AVX with VEX pp bits 2012-02-11 15:11:35 +01:00
inst.h x86, crc32-pclmul: Fix build with older binutils 2013-05-30 16:36:23 -07:00
intel-mid.h intel_mid: Move platform device setups to their own platform_<device>.* files 2013-10-17 16:41:50 -07:00
intel_mid_vrtc.h intel_mid: Renamed *mrst* to *intel_mid* 2013-10-17 16:40:36 -07:00
intel_scu_ipc.h x86,mrst: Power control commands update 2011-12-05 12:42:11 +01:00
io.h Add arch_phys_wc_{add, del} to manipulate WC MTRRs if needed 2013-05-31 13:02:52 +10:00
io_apic.h x86, io_apic: Introduce eoi_ioapic_pin call-back 2013-01-28 12:51:52 +01:00
iomap.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
iommu.h iommu: Remove group_mf 2012-06-25 13:48:30 +02:00
iommu_table.h x86/iommu: Use NULL instead of plain 0 for __IOMMU_INIT 2012-09-05 10:52:26 +02:00
ipi.h x86: Make default_send_IPI_mask_sequence/allbutself_logical() 32bit only 2011-01-28 14:54:05 +01:00
irq.h x86: Add check for number of available vectors before CPU down 2014-01-15 22:24:02 -08:00
irq_regs.h x86: replace percpu_xxx funcs with this_cpu_xxx 2012-05-14 14:15:31 -07:00
irq_remapping.h iommu: Fix compile warnings with forward declarations 2013-04-19 20:34:55 +02:00
irq_vectors.h KVM: VMX: Register a new IPI for posted interrupt 2013-04-16 16:32:39 -03:00
irqflags.h tracing, x86/irq: Do not trace arch_local_{*,irq_*}() functions 2011-07-07 19:22:32 +02:00
ist.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
jump_label.h compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2013-10-11 07:39:14 +02:00
kbdleds.h keyboard: Use BIOS Keyboard variable to set Numlock 2012-05-08 14:19:41 -07:00
kdebug.h x86/dumpstack: Fix printk_address for direct addresses 2013-11-12 21:06:06 +01:00
kexec.h x86, kexec: Remove 1024G limitation for kexec buffer on 64bit 2013-01-29 15:26:23 -08:00
kgdb.h kgdb: x86: Return all segment registers also in 64-bit mode 2012-03-22 15:07:15 -05:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kmemcheck.h kmemcheck: add the kmemcheck core 2009-06-13 15:37:30 +02:00
kprobes.h x86, asmlinkage: Make kprobes code visible and fix assembler code 2013-08-06 14:19:48 -07:00
kvm_emulate.h kvm, emulator: Rename VendorSpecific flag 2013-10-30 18:54:40 +01:00
kvm_guest.h x86: kvm guest: pvclock vsyscall support 2012-11-27 23:29:10 -02:00
kvm_host.h kvm: Delete prototype for non-existent function kvm_check_iopl 2013-11-06 11:07:09 +02:00
kvm_para.h Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-04 11:55:10 -07:00
lguest.h lguest: map Switcher below fixmap. 2013-04-22 15:45:03 +09:30
lguest_hcall.h lguest: update comments 2011-07-22 14:39:50 +09:30
linkage.h ix86: Tighten asmlinkage_protect() constraints 2013-01-24 11:25:59 +01:00
local.h x86, bitops: Correct the assembly constraints to testing bitops 2013-12-04 14:31:28 -08:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
mach_timer.h time: x86: Remove CLOCK_TICK_RATE from mach_timer.h 2011-11-21 19:00:57 -08:00
mach_traps.h x86/mrst: Avoid reporting wrong nmi status 2011-11-10 16:21:01 +01:00
math_emu.h
mc146818rtc.h x86: Increase precision of x86_platform.get/set_wallclock() 2013-05-28 14:00:59 -07:00
mce.h ACPI, x86: Extended error log driver for x86 platform 2013-10-23 10:09:07 -07:00
microcode.h x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
microcode_amd.h x86, microcode, AMD: Fix early microcode loading 2013-08-12 18:32:45 +02:00
microcode_intel.h x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
misc.h x86: Improve the printout of the SMP bootup CPU table 2013-09-28 10:10:26 +02:00
mmconfig.h x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
mmu.h x86: Reorder mm_context_t to remove x86_64 alignment padding and thus shrink mm_struct 2011-05-25 16:16:41 +02:00
mmu_context.h sched/x86: Optimize switch_mm() for multi-threaded workloads 2013-08-01 09:10:26 +02:00
mmx.h
mmzone.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
mmzone_32.h x86-32, mm: Remove reference to resume_map_numa_kva() 2013-01-31 14:12:30 -08:00
mmzone_64.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h x86, 386 removal: Remove CONFIG_M386 from Kconfig 2012-11-29 13:23:01 -08:00
mpspec.h x86 / ACPI: simplify _acpi_map_lsapic() 2013-09-24 01:39:40 +02:00
mpspec_def.h MCA: delete all remaining traces of microchannel bus support. 2012-05-17 19:06:13 -04:00
mshyperv.h x86, trace: Add irq vector tracepoints 2013-06-20 22:25:34 -07:00
msidef.h
msr.h x86 / msr: add 64bit _on_cpu access functions 2013-10-17 00:36:06 +02:00
mtrr.h Add arch_phys_wc_{add, del} to manipulate WC MTRRs if needed 2013-05-31 13:02:52 +10:00
mutex.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
mutex_32.h arch: Make __mutex_fastpath_lock_retval return whether fastpath succeeded or not 2013-06-26 12:10:55 +02:00
mutex_64.h compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2013-10-11 07:39:14 +02:00
mwait.h intel_idle: remove assumption of one C-state per MWAIT flag 2013-02-08 19:29:16 -05:00
nmi.h x86: Fix trigger_all_cpu_backtrace() implementation 2013-06-20 14:00:21 +02:00
nops.h x86, nop: Make the ASM_NOP* macros work from assembly 2012-04-19 15:07:42 -07:00
numa.h x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
numa_32.h x86, NUMA: Move NUMA init logic from numa_64.c to numa.c 2011-05-02 14:18:53 +02:00
numaq.h x86-32, NUMA: Update numaq to use new NUMA init protocol 2011-05-02 14:18:53 +02:00
olpc.h x86: OLPC: switch over to using new EC driver on x86 2012-07-31 23:27:30 -04:00
olpc_ofw.h x86, olpc: Use device tree for platform identification 2011-03-15 14:17:23 -07:00
page.h Merge remote-tracking branch 'origin/x86/mm' into x86/mm2 2013-02-01 02:28:36 -08:00
page_32.h x86: Make it so that __pa_symbol can only process kernel symbols on x86_64 2012-11-16 16:42:09 -08:00
page_32_types.h x86, relocs: Move ELF relocation handling to C 2013-08-07 21:00:04 -07:00
page_64.h x86: Make it so that __pa_symbol can only process kernel symbols on x86_64 2012-11-16 16:42:09 -08:00
page_64_types.h x86, relocs: Move ELF relocation handling to C 2013-08-07 21:00:04 -07:00
page_types.h x86, relocs: Move ELF relocation handling to C 2013-08-07 21:00:04 -07:00
paravirt.h x86, ticketlock: Add slowpath logic 2013-08-09 07:54:00 -07:00
paravirt_types.h Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-04 11:55:10 -07:00
parport.h X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pat.h x86, platform: Change is_untracked_pat_range() to bool; cleanup init 2009-11-23 17:09:59 -08:00
pci-direct.h
pci-functions.h
pci.h ACPI / driver core: Store an ACPI device pointer in struct acpi_dev_node 2013-11-14 23:14:43 +01:00
pci_64.h x86: Only call dma32_reserve_bootmem 64bit !CONFIG_NUMA 2010-02-10 17:47:18 -08:00
pci_x86.h PCI changes for the v3.9 merge window: 2013-02-25 21:18:18 -08:00
percpu.h Merge branch 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2013-11-13 15:17:16 +09:00
perf_event.h perf/x86/intel: Add simple Haswell PMU support 2013-06-19 14:43:33 +02:00
perf_event_p4.h perf/x86/intel/P4: Robistify P4 PMU types 2013-04-26 09:31:41 +02:00
pgalloc.h x86, mm: enable split page table lock for PMD level 2013-11-15 09:32:15 +09:00
pgtable-2level.h mm: save soft-dirty bits on file pages 2013-08-13 17:57:48 -07:00
pgtable-2level_types.h
pgtable-3level.h mm: save soft-dirty bits on file pages 2013-08-13 17:57:48 -07:00
pgtable-3level_types.h
pgtable.h mm: fix TLB flush race between migration, and change_protection_range 2013-12-18 19:04:51 -08:00
pgtable_32.h x86/mm: Convert update_mmu_cache() and update_mmu_cache_pmd() to functions 2013-01-24 16:12:13 +01:00
pgtable_32_types.h x86: use __ASSEMBLY__ rather than __ASSEMBLER__ 2010-06-07 17:27:11 -07:00
pgtable_64.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-02-21 18:06:55 -08:00
pgtable_64_types.h x86, 64bit: Use a #PF handler to materialize early mappings on demand 2013-01-29 15:20:06 -08:00
pgtable_types.h mm: make sure _PAGE_SWP_SOFT_DIRTY bit is not set on present pte 2013-09-11 15:58:06 -07:00
posix_types.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
preempt.h sched: Remove PREEMPT_NEED_RESCHED from generic code 2013-12-11 15:52:32 +01:00
probe_roms.h x86: Introduce pci_map_biosrom() 2011-03-15 15:34:15 -07:00
processor-cyrix.h
processor-flags.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
processor.h x86: move fpu_counter into ARCH specific thread_struct 2013-11-13 12:09:13 +09:00
prom.h of: remove HAVE_ARCH_DEVTREE_FIXUPS 2013-10-09 20:04:08 -05:00
proto.h x86-64: don't set the early IDT to point directly to 'early_idt_handler' 2013-02-22 13:09:51 -08:00
ptrace.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
pvclock-abi.h x86: pvclock: Add flag to indicate that a vm was stopped by the host 2012-04-08 12:48:57 +03:00
pvclock.h pvclock: detect watchdog reset at pvclock read 2013-11-06 09:48:43 +02:00
realmode.h x86, realmode: Separate real_mode reserve and setup 2013-01-29 15:13:24 -08:00
reboot.h x86-64, reboot: Allow reboot=bios and reboot-cpu override on x86-64 2012-06-17 10:51:01 -07:00
reboot_fixups.h
required-features.h x86: Require MOVBE feature in cpuid when we use it 2013-01-28 16:59:55 -08:00
resume-trace.h
rio.h
rmwcc.h x86, bitops: Correct the assembly constraints to testing bitops 2013-12-04 14:31:28 -08:00
rtc.h
rwlock.h x86: Fix write lock scalability 64-bit issue 2011-07-21 09:03:36 +02:00
rwsem.h x86 rwsem: avoid taking slow path when stealing write lock 2013-05-07 07:20:17 -07:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
seccomp_32.h
seccomp_64.h
sections.h x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA 2009-10-20 14:46:00 +09:00
segment.h x86, trace: Register exception handler to trace IDT 2013-11-08 14:15:45 -08:00
serial.h
setup.h intel_mid: Renamed *mrst* to *intel_mid* 2013-10-17 16:40:47 -07:00
setup_arch.h
shmparam.h
sigcontext.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
sigframe.h x32: Add rt_sigframe_x32 2012-02-20 12:52:05 -08:00
sighandling.h x86/signals: Propagate RF EFLAGS bit through the signal restore call 2013-05-28 08:46:50 +02:00
signal.h x86: switch to generic old sigaction 2013-02-03 18:16:27 -05:00
simd.h crypto: move x86 to the generic version of ablk_helper 2013-09-24 06:02:24 +10:00
smap.h x86, smap: Add STAC and CLAC instructions to control user space access 2012-09-21 12:45:27 -07:00
smp.h x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
smpboot_hooks.h x86: Serialize SMP bootup CMOS accesses on rtc_lock 2011-07-21 09:20:59 +02:00
sparsemem.h x86: 46 bit physical address support on 64 bits 2009-05-05 19:10:18 -07:00
special_insns.h x86, asmlinkage: Make several variables used from assembler/linker script visible 2013-08-06 14:20:13 -07:00
spinlock.h Linux 3.11-rc7 2013-09-09 12:05:37 -04:00
spinlock_types.h x86, ticketlock: Add slowpath logic 2013-08-09 07:54:00 -07:00
sta2x11.h mfd: Add driver for STA2X11 MFD block 2012-05-09 15:34:28 +02:00
stackprotector.h x86: replace percpu_xxx funcs with this_cpu_xxx 2012-05-14 14:15:31 -07:00
stacktrace.h x86: Remove warning and warning_symbol from struct stacktrace_ops 2011-05-12 15:31:28 +02:00
string.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
string_32.h x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy 2009-09-28 16:43:15 -07:00
string_64.h x86: add hooks for kmemcheck 2009-06-15 12:40:02 +02:00
suspend.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
suspend_32.h x86, gdt, hibernate: Store/load GDT for hibernate path. 2013-05-02 11:27:35 -07:00
suspend_64.h x86, gdt, hibernate: Store/load GDT for hibernate path. 2013-05-02 11:27:35 -07:00
svm.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
swiotlb.h x86, swiotlb: Simplify SWIOTLB pci_swiotlb_detect routine. 2010-08-26 15:13:29 -07:00
switch_to.h x86, asmlinkage: Make 32bit/64bit __switch_to visible 2013-08-06 14:18:30 -07:00
sync_bitops.h x86, bitops: Change bitops to be native operand size 2013-07-16 15:24:04 -07:00
sys_ia32.h unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
syscall.h x86: Fix sys_call_table type in asm/syscall.h 2013-08-06 14:18:08 -07:00
syscalls.h x86, asmlinkage: Make various syscalls asmlinkage 2013-08-06 14:18:33 -07:00
sysfb.h x86: sysfb: move EFI quirks from efifb to sysfb 2013-08-02 16:17:47 -07:00
tce.h
thread_info.h preempt: Make PREEMPT_ACTIVE generic 2013-11-13 20:21:47 +01:00
time.h x86: i8253: Consolidate definitions of global_clock_event 2011-06-09 15:01:40 +02:00
timer.h sched/x86: Fix overflow in cyc2ns_offset 2012-03-13 16:27:51 +01:00
timex.h time: move PIT_TICK_RATE to linux/timex.h 2009-06-16 19:47:27 -07:00
tlb.h x86-32: Fix possible incomplete TLB invalidate with PAE pagetables 2013-04-12 16:56:47 -07:00
tlbflush.h mm: vmstats: track TLB flush stats on UP too 2013-09-11 15:57:09 -07:00
topology.h x86 / cpu topology: remove the stale macro arch_provides_topology_pointers 2013-07-29 13:12:45 -07:00
trace_clock.h tracing: Format non-nanosec times from tsc clock without a decimal point. 2012-11-13 15:48:40 -05:00
traps.h x86, trace: Register exception handler to trace IDT 2013-11-08 14:15:45 -08:00
tsc.h perf/x86: Add ability to calculate TSC from perf sample timestamps 2013-07-23 12:17:45 +02:00
uaccess.h x86: Unify copy_to_user() and add size checking to it 2013-10-26 12:27:37 +02:00
uaccess_32.h x86: Unify copy_to_user() and add size checking to it 2013-10-26 12:27:37 +02:00
uaccess_64.h Merge branch 'x86-uaccess-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 11:46:06 +09:00
unaligned.h
unistd.h consolidate cond_syscall and SYSCALL_ALIAS declarations 2013-03-03 22:55:19 -05:00
uprobes.h uprobes: Introduce arch_uprobe->ixol 2013-11-06 20:00:05 +01:00
user.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
user32.h
user_32.h
user_64.h
vdso.h x86/vdso: Add __user annotation to VDSO32_SYMBOL 2012-09-05 10:52:23 +02:00
vga.h efifb: Implement vga_default_device() (v2) 2012-04-24 09:50:18 +01:00
vgtod.h time: Convert x86_64 to using new update_vsyscall 2012-09-24 12:38:09 -04:00
virtext.h Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00
vm86.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
vmx.h nEPT: Nested INVEPT 2013-08-07 15:57:42 +02:00
vsyscall.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
vvar.h x86, asmlinkage, vdso: Mark vdso variables __visible 2013-08-06 14:21:08 -07:00
word-at-a-time.h word-at-a-time: make the interfaces truly generic 2012-05-26 11:33:40 -07:00
x2apic.h x86/apic: Factor out default target_cpus() operation 2012-06-06 10:22:17 +02:00
x86_init.h PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq() 2013-11-06 16:32:19 -07:00
xcr.h
xor.h x86/xor: Add alternative SSE implementation only prefetching once per 64-byte line 2013-01-25 09:23:50 +01:00
xor_32.h x86/xor: Add alternative SSE implementation only prefetching once per 64-byte line 2013-01-25 09:23:50 +01:00
xor_64.h x86/xor: Add alternative SSE implementation only prefetching once per 64-byte line 2013-01-25 09:23:50 +01:00
xor_avx.h crypto: xor - Check for osxsave as well as avx in crypto/xor 2013-08-21 21:08:35 +10:00
xsave.h Merge branch 'x86/fpu' into x86/smap 2012-09-21 17:18:44 -07:00