linux/include/asm-x86
Nick Piggin 314cdbefd1 x86: FIFO ticket spinlocks
Introduce ticket lock spinlocks for x86 which are FIFO. The implementation
is described in the comments. The straight-line lock/unlock instruction
sequence is slightly slower than the dec based locks on modern x86 CPUs,
however the difference is quite small on Core2 and Opteron when working out of
cache, and becomes almost insignificant even on P4 when the lock misses cache.
trylock is more significantly slower, but they are relatively rare.

On an 8 core (2 socket) Opteron, spinlock unfairness is extremely noticable,
with a userspace test having a difference of up to 2x runtime per thread, and
some threads are starved or "unfairly" granted the lock up to 1 000 000 (!)
times. After this patch, all threads appear to finish at exactly the same
time.

The memory ordering of the lock does conform to x86 standards, and the
implementation has been reviewed by Intel and AMD engineers.

The algorithm also tells us how many CPUs are contending the lock, so
lockbreak becomes trivial and we no longer have to waste 4 bytes per
spinlock for it.

After this, we can no longer spin on any locks with preempt enabled
and cannot reenable interrupts when spinning on an irq safe lock, because
at that point we have already taken a ticket and the would deadlock if
the same CPU tries to take the lock again.  These are questionable anyway:
if the lock happens to be called under a preempt or interrupt disabled section,
then it will just have the same latency problems. The real fix is to keep
critical sections short, and ensure locks are reasonably fair (which this
patch does).

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-01-30 13:31:21 +01:00
..
mach-bigsmp x86: cleanup mpspec variants 2008-01-30 13:30:35 +01:00
mach-default x86: cleanup mpspec variants 2008-01-30 13:30:35 +01:00
mach-es7000 x86: cleanup mpspec variants 2008-01-30 13:30:35 +01:00
mach-generic i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mach-numaq x86: cleanup mpspec variants 2008-01-30 13:30:35 +01:00
mach-summit x86: cleanup mpspec variants 2008-01-30 13:30:35 +01:00
mach-visws x86: visws extern inline to static inline 2007-10-17 20:16:39 +02:00
mach-voyager x86: voyager use correct header file name 2007-11-17 16:27:00 +01:00
xen i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
a.out.h x86: unify a.out{,_32,_64}.h 2007-10-23 22:37:23 +02:00
acpi.h x86: merge acpi_32/64.h 2008-01-30 13:30:36 +01:00
agp.h x86: unify include/asm/agp_32/64.h 2007-10-17 20:17:12 +02:00
alternative-asm.h x86: rename .i assembler includes to .h 2007-10-17 20:16:29 +02:00
alternative.h x86: actually merge <asm/alternative.h> 2008-01-30 13:30:30 +01:00
apic.h x86: remove fastcall from include/asm-x86 2008-01-30 13:31:17 +01:00
apicdef.h x86: extended interrupt LVT support for AMD Barcelona 2008-01-30 13:30:40 +01:00
arch_hooks.h x86: move debug related declarations to kdebug.h 2008-01-30 13:30:17 +01:00
asm.h x86: merge resume-trace.h variants 2008-01-30 13:30:38 +01:00
atomic_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
atomic_64.h x86: make atomic64_t work like atomic_t 2007-10-17 20:16:21 +02:00
atomic.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
auxvec.h x86: unify include/asm/auxvec_32/64.h 2007-10-17 20:17:13 +02:00
bitops_32.h x86: partial unification of asm-x86/bitops.h 2008-01-30 13:30:55 +01:00
bitops_64.h x86: partial unification of asm-x86/bitops.h 2008-01-30 13:30:55 +01:00
bitops.h x86: partial unification of asm-x86/bitops.h 2008-01-30 13:30:55 +01:00
boot.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
bootparam.h x86: EFI runtime service support 2008-01-30 13:31:19 +01:00
bug.h x86: nuke a ton of unused exports 2008-01-30 13:30:28 +01:00
bugs.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
byteorder.h x86: fix asm-x86/byteorder.h for userspace export 2008-01-01 19:12:15 +01:00
cache.h x86: unify include/asm/cache_32/64.h 2007-10-17 20:17:15 +02:00
cacheflush.h Intel IOMMU: clflush_cache_range now takes size param 2007-10-22 08:13:18 -07:00
calgary.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
calling.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
checksum_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
checksum_64.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
checksum.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
cmpxchg_32.h x86: fall back on interrupt disable in cmpxchg8b on 80386 and 80486 2008-01-30 13:30:47 +01:00
cmpxchg_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
cmpxchg.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
compat.h x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
cpu.h i386: no need to make enable_cpu_hotplug a variable 2007-10-17 20:16:16 +02:00
cpufeature.h x86: add set/clear_cpu_cap operations 2008-01-30 13:30:55 +01:00
cputime.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
current_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
current_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
current.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
debugreg.h x86: unify include/asm/debugreg_32/64.h 2007-10-17 20:35:37 +02:00
delay.h x86: unify include/asm/delay_32/64.h 2007-10-17 20:17:17 +02:00
desc_64.h x86: unify set_tss_desc 2008-01-30 13:31:14 +01:00
desc_defs.h x86: move _set_gate and its users to a common location 2008-01-30 13:31:14 +01:00
desc.h x86: avoid ifdefs in desc.h, getting rid of pack_ldt and pack_tss 2008-01-30 13:31:20 +01:00
device.h intel-iommu: fix for IOMMU early crash 2007-10-22 08:13:19 -07:00
div64.h x86: unify div64{,_32,_64}.h 2007-10-23 22:37:23 +02:00
dma-mapping_32.h Change table chaining layout 2007-10-22 21:20:01 +02:00
dma-mapping_64.h x86-64: enable sg chaining 2007-10-16 11:26:02 +02:00
dma-mapping.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
dma.h x86: merge include/asm-x86/dma.h 2008-01-30 13:30:20 +01:00
dmi.h x86: unify include/asm/dmi_32/64.h 2007-10-17 20:17:18 +02:00
ds.h x86, ptrace: new ptrace BTS API 2008-01-30 13:31:20 +01:00
dwarf2_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
dwarf2_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
dwarf2.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
e820_32.h x86 boot: use E820 memory map on EFI 32 platform 2008-01-30 13:31:19 +01:00
e820_64.h x86: remove extern declarations for code, data, bss resources 2008-01-30 13:30:32 +01:00
e820.h Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
edac.h x86: unify include/asm/cache_32/64.h 2007-10-17 20:17:19 +02:00
efi.h x86: EFI runtime service support: remove duplicated code from efi_32.c 2008-01-30 13:31:19 +01:00
elf.h x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
emergency-restart.h x86: EFI runtime service support: EFI runtime services 2008-01-30 13:31:19 +01:00
errno.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
fb.h x86: unify include/asm/cache_32/64.h 2007-10-17 20:17:21 +02:00
fcntl.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
fixmap_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
fixmap_64.h x86: EFI runtime service support 2008-01-30 13:31:19 +01:00
fixmap.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
floppy.h x86: unify include/asm/floppy_32/64.h 2007-10-17 20:24:56 +02:00
fpu32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
frame.h x86: rename .i assembler includes to .h 2007-10-17 20:16:29 +02:00
futex.h x86: merge futex_32/64.h 2008-01-30 13:30:20 +01:00
gart.h x86 gart: rename symbols only used for the GART implementation 2007-10-30 00:22:22 +01:00
genapic_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
genapic_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
genapic.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
geode.h GEODE: use symbolic constant in cs5536 reboot fixup 2007-10-19 20:35:02 +02:00
hardirq_32.h x86: expand /proc/interrupts to include missing vectors, v2 2007-10-17 20:16:53 +02:00
hardirq_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
hardirq.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
highmem.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
hpet.h x86: offer is_hpet_enabled() on !CONFIG_HPET_TIMER too 2008-01-30 13:30:02 +01:00
hw_irq_32.h x86: remove fastcall from include/asm-x86 2008-01-30 13:31:17 +01:00
hw_irq_64.h x86: clear IO_APIC before enabing apic error vector. 2008-01-30 13:30:39 +01:00
hw_irq.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
hypertransport.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
i387_32.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
i387_64.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
i387.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
i8253.h i386: Remove the useless #ifdef in i8253.h 2007-10-12 23:04:23 +02:00
i8259.h x86: move 8259 defines to i8259.h 2008-01-30 13:30:29 +01:00
ia32_unistd.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
ia32.h x86: TLS cleanup 2008-01-30 13:30:46 +01:00
ide.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
idle.h x86: remove dead code and exports 2008-01-30 13:30:28 +01:00
intel_arch_perfmon.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
io_32.h x86: various changes and cleanups to in_p/out_p delay details 2008-01-30 13:30:05 +01:00
io_64.h x86: tweak io_64.h for paravirt. 2008-01-30 13:31:10 +01:00
io_apic.h x86: merge include/asm-x86/sparsemem.h 2008-01-30 13:30:37 +01:00
io.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
ioctl.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
ioctls.h x86: unify include/asm/ioctls_32/64.h 2007-10-17 20:26:11 +02:00
iommu.h x86 gart: rename iommu.h to gart.h 2007-10-30 00:22:22 +01:00
ipcbuf.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
ipi.h x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
irq_32.h i386: introduce "used_vectors" bitmap which can be used to reserve vectors. 2007-10-19 20:35:03 +02:00
irq_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
irq_regs_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
irq_regs_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
irq_regs.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
irq.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
irqflags.h x86: irqflags consolidation 2008-01-30 13:30:33 +01:00
ist.h Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
k8.h x86: move k8 related declarations 2008-01-30 13:30:16 +01:00
Kbuild x86 vDSO: ia32 vsyscall removal 2008-01-30 13:30:44 +01:00
kdebug.h x86: move debug related declarations to kdebug.h 2008-01-30 13:30:17 +01:00
kexec_32.h x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
kexec_64.h x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
kexec.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
kmap_types.h x86: unify include/asm/agp_32/64.h 2007-10-17 20:26:13 +02:00
kprobes_32.h x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
kprobes_64.h x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
kprobes.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
ldt.h x86: unify include/asm/ldt_32/64.h 2007-10-17 20:16:47 +02:00
lguest_hcall.h lguest: make async_hcall() static 2007-11-05 21:53:29 +11:00
lguest.h x86: unify struct desc_ptr 2008-01-30 13:31:12 +01:00
linkage.h x86: unify include/asm-x86/linkage_[32|64].h 2008-01-30 13:31:07 +01:00
local_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
local_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
local.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mach_apic.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
math_emu.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mc146818rtc.h x86: isolate the rtc code for sharing 2008-01-30 13:30:26 +01:00
mca_dma.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mca.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mce.h x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
mman.h x86: unify include/asm/mman_32/64.h 2007-10-17 20:26:15 +02:00
mmsegment.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mmu_context_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mmu_context_64.h x86: unify non-paravirt parts of desc.h 2008-01-30 13:31:14 +01:00
mmu_context.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mmu.h x86: merge mmu{,_32,_64}.h 2007-10-23 22:37:22 +02:00
mmx.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mmzone_32.h x86: put all kern_addr_valid() incarnations to pgtable.h 2008-01-30 13:30:37 +01:00
mmzone_64.h x86: 64-bit, make sparsemem vmemmap the only memory model 2008-01-30 13:30:47 +01:00
mmzone.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
module_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
module_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
module.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mpspec_def.h x86: cleanup mpspec variants 2008-01-30 13:30:35 +01:00
mpspec.h x86: cleanup smp.h variants 2008-01-30 13:30:36 +01:00
msgbuf.h x86: merge msgbuf_32/64.h 2007-10-23 22:37:24 +02:00
msidef.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
msr-index.h x86: debugctlmsr constants 2008-01-30 13:30:54 +01:00
msr.h x86: __vdso_getcpu() warning fix 2008-01-30 13:31:17 +01:00
mtrr.h x86: mtrr use type bool [RESEND AGAIN] 2008-01-30 13:30:31 +01:00
mutex_32.h x86: remove fastcall from include/asm-x86 2008-01-30 13:31:17 +01:00
mutex_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
mutex.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
namei.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
nmi_32.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
nmi_64.h x86: nmi_64.c: make code static 2008-01-30 13:30:31 +01:00
nmi.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
numa_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
numa_64.h x86: clean up bitops-related warnings 2008-01-30 13:30:55 +01:00
numa.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
numaq.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
page_32.h x64/page.h: convert some macros to inlines 2008-01-30 13:31:09 +01:00
page_64.h x64/page.h: convert some macros to inlines 2008-01-30 13:31:09 +01:00
page.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
param.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
paravirt.h x86: FIFO ticket spinlocks 2008-01-30 13:31:21 +01:00
parport.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
pci_32.h PCI: merge almost all of pci_32.h and pci_64.h together 2007-10-12 15:03:20 -07:00
pci_64.h x86: pci-dma_64.c: cleanups 2008-01-30 13:30:31 +01:00
pci-direct.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
pci.h x86: consolidate toloplogy_32/64.h 2008-01-30 13:30:38 +01:00
pda.h x86: move pda related declaration 2008-01-30 13:30:18 +01:00
percpu_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
percpu_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
percpu.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
pgalloc_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
pgalloc_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
pgalloc.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
pgtable_32.h x86: put all kern_addr_valid() incarnations to pgtable.h 2008-01-30 13:30:37 +01:00
pgtable_64.h x86: kill mk_pte_huge 2008-01-30 13:31:09 +01:00
pgtable-2level-defs.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
pgtable-2level.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
pgtable-3level-defs.h paravirt: refactor struct paravirt_ops into smaller pv_*_ops 2007-10-16 11:51:29 -07:00
pgtable-3level.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
pgtable.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
poll.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
posix_types_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
posix_types_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
posix_types.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
prctl.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
processor_32.h x86: unify struct desc_ptr 2008-01-30 13:31:12 +01:00
processor_64.h x86: use the same data type for tls_array. 2008-01-30 13:31:14 +01:00
processor-cyrix.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
processor-flags.h KVM: Use standard CR8 flags, and fix TPR definition 2007-10-13 10:18:19 +02:00
processor.h x86: unify cpuid functions 2008-01-30 13:31:03 +01:00
proto.h x86: remove obsolte declarations from proto.h 2008-01-30 13:30:19 +01:00
ptrace-abi.h x86, ptrace: new ptrace BTS API 2008-01-30 13:31:20 +01:00
ptrace.h x86, ptrace: new ptrace BTS API 2008-01-30 13:31:20 +01:00
reboot_fixups.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
reboot.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
required-features.h x86: merge required-features.h 2007-10-23 22:37:24 +02:00
resource.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
resume-trace.h x86: merge resume-trace.h variants 2008-01-30 13:30:38 +01:00
rio.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
rtc.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
rwlock.h x86: use immediates instead of RW_LOCK_BIAS_STR 2008-01-30 13:30:34 +01:00
rwsem.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
scatterlist.h x86: merge include/asm-x86/scatterlist.h 2008-01-30 13:30:21 +01:00
seccomp_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
seccomp_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
seccomp.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
sections.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
segment_32.h x86: remove arch specific segment headers 2008-01-30 13:31:09 +01:00
segment.h x86: remove arch specific segment headers 2008-01-30 13:31:09 +01:00
semaphore_32.h x86: remove fastcall from include/asm-x86 2008-01-30 13:31:17 +01:00
semaphore_64.h kill DECLARE_MUTEX_LOCKED 2007-10-17 08:42:47 -07:00
semaphore.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
sembuf.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
serial.h x86: merge some trivially mergeable headers 2007-10-17 20:17:09 +02:00
setup.h x86: prepare 64-bit architecture initialization for paravirt 2008-01-30 13:31:11 +01:00
shmbuf.h x86: merge shmbuf_32/64.h 2007-10-23 22:37:24 +02:00
shmparam.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
sigcontext32.h x86: use generic register names in struct sigcontext 2008-01-30 13:30:56 +01:00
sigcontext.h x86: use generic register names in struct sigcontext 2008-01-30 13:30:56 +01:00
siginfo.h x86: unify include/asm/siginfo_32/64.h 2007-10-17 20:26:17 +02:00
signal.h x86 single_step: TIF_FORCED_TF 2008-01-30 13:30:50 +01:00
smp_32.h x86: cleanup smp.h variants 2008-01-30 13:30:36 +01:00
smp_64.h x86: cleanup smp.h variants 2008-01-30 13:30:36 +01:00
smp.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
socket.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
sockios.h x86: merge some trivially mergeable headers 2007-10-17 20:17:09 +02:00
sparsemem.h x86: merge include/asm-x86/sparsemem.h 2008-01-30 13:30:37 +01:00
spinlock_types.h x86: FIFO ticket spinlocks 2008-01-30 13:31:21 +01:00
spinlock.h x86: FIFO ticket spinlocks 2008-01-30 13:31:21 +01:00
srat.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
stacktrace.h x86: constify stacktrace_ops 2007-10-17 20:16:11 +02:00
stat.h x86: merge stat_32/64.h 2007-10-23 22:37:24 +02:00
statfs.h x86: merge statfs_32/64.h 2007-10-23 22:37:24 +02:00
string_32.h i386: Remove strrchr assembler implementation 2007-10-17 20:16:23 +02:00
string_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
string.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
suspend_32.h x86: unify struct desc_ptr 2008-01-30 13:31:12 +01:00
suspend_64.h x86: hibernation: document __save_processor_state() on x86 2008-01-30 13:30:04 +01:00
suspend.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
swiotlb.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
sync_bitops.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
system_64.h x86: move switch_to macro to system.h 2008-01-30 13:31:08 +01:00
system.h x86: unify system.h 2008-01-30 13:31:08 +01:00
tce.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
termbits.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
termios.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
therm_throt.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
thread_info_32.h x86, ptrace: support for branch trace store(BTS) 2008-01-30 13:31:09 +01:00
thread_info_64.h x86, ptrace: support for branch trace store(BTS) 2008-01-30 13:31:09 +01:00
thread_info.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
time.h x86: prepare time related functions for paravirt 2008-01-30 13:31:10 +01:00
timer.h x86: scale cyc_2_nsec according to CPU frequency 2008-01-30 13:30:06 +01:00
timex.h x86: unify timex.h variants 2007-10-12 23:04:23 +02:00
tlb.h x86: unify include/asm/tlb_32/64.h 2007-10-17 20:26:18 +02:00
tlbflush.h x86: merge tlbflush.h variants 2008-01-30 13:30:35 +01:00
topology.h x86: merge topology.h variants 2008-01-30 13:30:38 +01:00
tsc.h x86: split get_cycles_sync 2008-01-30 13:31:03 +01:00
types.h x86: unify include/asm/types_32/64.h 2007-10-17 20:32:07 +02:00
uaccess_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
uaccess_64.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
uaccess.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
ucontext.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
unaligned.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
unistd_32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
unistd_64.h x86: cleanup 64bit unistd.h 2007-10-17 20:16:36 +02:00
unistd.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
unwind.h x86: unify include/asm/unwind_32/64.h 2007-10-17 20:32:38 +02:00
user32.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
user_32.h x86: use generic register names in struct user_regs_struct 2008-01-30 13:30:56 +01:00
user_64.h x86: use generic register names in struct user_regs_struct 2008-01-30 13:30:56 +01:00
user.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
vdso.h x86 vDSO: i386 vdso32 2008-01-30 13:30:42 +01:00
vga.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
vgtod.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
vic.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
vm86.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
vmi_time.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
vmi.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
voyager.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
vsyscall.h i386/x8664: cleanup the shared hpet code 2007-10-12 23:04:23 +02:00
xor_32.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
xor_64.h x86: remove more bogus filenames in comments. 2008-01-30 13:30:28 +01:00
xor.h i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00