linux-stable-rt/arch/ia64/kernel
Tony Luck 2c86963b09 [IA64] implement ticket locks for Itanium
Back in January 2008 Nick Piggin implemented "ticket" spinlocks
for X86 (See commit 314cdbefd1).

IA64 implementation has a couple of differences because of the
available atomic operations ... e.g. we have no fetchadd2 instruction
that operates on a 16-bit quantity so we make ticket locks use
a 32-bit word for each of the current ticket and now-serving values.

Performance on uncontended locks is about 8% worse than the previous
implementation, but this seems a good trade for determinism in the
contended case. Performance impact on macro-level benchmarks is in
the noise.

Signed-off-by: Tony Luck <tony.luck@intel.com>
2009-09-25 08:42:16 -07:00
..
cpufreq
.gitignore
Makefile
Makefile.gate kbuild: rename ld-option to cc-ldoption 2009-09-20 12:27:42 +02:00
acpi-ext.c
acpi-processor.c ACPI: pdc init related memory leak with physical CPU hotplug 2009-06-20 00:50:52 -04:00
acpi.c irq: change ACPI GSI APIs to also take a device argument 2009-04-28 12:21:17 +02:00
asm-offsets.c
audit.c
brl_emu.c
crash.c [IA64] kdump: Short path to freeze CPUs 2009-09-14 16:19:24 -07:00
crash_dump.c
cyclone.c
dma-mapping.c [IA64] Fix warning in dma-mapping.c 2009-09-02 09:12:21 -07:00
efi.c [IA64] Convert ia64 to use int-ll64.h 2009-06-17 09:33:49 -07:00
efi_stub.S
entry.S [IA64] hook up new rt_tgsigqueueinfo syscall 2009-06-16 13:13:41 -07:00
entry.h
err_inject.c
esi.c [IA64] Remove unnecessary semicolons 2009-06-30 14:18:32 -07:00
esi_stub.S
fsys.S
fsyscall_gtod_data.h
ftrace.c
gate-data.S
gate.S
gate.lds.S
head.S [IA64] implement ticket locks for Itanium 2009-09-25 08:42:16 -07:00
ia64_ksyms.c [IA64] implement ticket locks for Itanium 2009-09-25 08:42:16 -07:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
iosapic.c arch/ia64/kernel/iosapic: missing test after ioremap() 2009-08-11 14:52:11 -07:00
irq.c [IA64] remove obsolete irq_desc_t typedef 2009-06-15 14:34:31 -07:00
irq_ia64.c [IA64] remove obsolete irq_desc_t typedef 2009-06-15 14:34:31 -07:00
irq_lsapic.c [IA64] remove obsolete hw_interrupt_type 2009-06-15 14:35:10 -07:00
ivt.S
jprobes.S
kprobes.c
machine_kexec.c [IA64] kexec: Unregister MCA handler before kexec 2009-09-14 16:18:17 -07:00
machvec.c
mca.c [IA64] kdump: Short path to freeze CPUs 2009-09-14 16:19:24 -07:00
mca_asm.S [IA64] kexec: Make INIT safe while transition to 2009-09-14 16:18:02 -07:00
mca_drv.c
mca_drv.h
mca_drv_asm.S
minstate.h
module.c [IA64] Convert ia64 to use int-ll64.h 2009-06-17 09:33:49 -07:00
msi_ia64.c [IA64] msi_ia64.c dmar_msi_type should be static 2009-06-15 14:35:54 -07:00
nr-irqs.c
numa.c
pal.S
palinfo.c [IA64] Convert ia64 to use int-ll64.h 2009-06-17 09:33:49 -07:00
paravirt.c
paravirt_inst.h
paravirt_patch.c
paravirt_patchlist.c [IA64] Fix build error in paravirt_patchlist.c 2009-06-17 09:04:40 -07:00
paravirt_patchlist.h
paravirtentry.S
patch.c
pci-dma.c Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported() 2009-08-11 14:52:10 -07:00
pci-swiotlb.c ia64: IOMMU passthrough mode shouldn't trigger swiotlb init 2009-08-13 18:18:00 +01:00
perfmon.c [IA64] address compiler warnings perfmon.c/salinfo.c 2009-06-30 14:26:34 -07:00
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
process.c cleanup console_print() 2009-09-14 17:41:42 -07:00
ptrace.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
relocate_kernel.S [IA64] kdump: Mask INIT first in panic-kdump path 2009-09-14 16:18:54 -07:00
sal.c
salinfo.c [IA64] address compiler warnings perfmon.c/salinfo.c 2009-06-30 14:26:34 -07:00
setup.c ia64: Fix setup_per_cpu_areas() compilation error 2009-07-15 11:46:34 +09:00
sigframe.h
signal.c
smp.c ia64: convert last user of smp_call_function_mask 2009-09-24 09:34:40 +09:30
smpboot.c [IA64] Convert ia64 to use int-ll64.h 2009-06-17 09:33:49 -07:00
sys_ia64.c
time.c [IA64] Convert ia64 to use int-ll64.h 2009-06-17 09:33:49 -07:00
topology.c ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails 2009-08-11 14:52:11 -07:00
traps.c
unaligned.c
uncached.c Pull for-2.6.31 into release 2009-06-17 09:35:24 -07:00
unwind.c
unwind_decoder.c
unwind_i.h
vmlinux.lds.S Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2009-09-18 09:33:07 -07:00