kernel_optimize_test/include/asm-um
Matthew Wilcox 64ac24e738 Generic semaphore implementation
Semaphores are no longer performance-critical, so a generic C
implementation is better for maintainability, debuggability and
extensibility.  Thanks to Peter Zijlstra for fixing the lockdep
warning.  Thanks to Harvey Harrison for pointing out that the
unlikely() was unnecessary.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
2008-04-17 10:42:34 -04:00
..
a.out-core.h aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT 2008-02-08 09:22:30 -08:00
a.out.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
alternative-asm.h x86: rename .i assembler includes to .h 2007-10-17 20:16:29 +02:00
alternative.h [PATCH] x86: SMP alternatives 2006-03-23 07:38:04 -08:00
apic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
archparam-i386.h [PATCH] uml: s390 preparation, elf.h 2005-05-05 16:36:37 -07:00
archparam-ppc.h [PATCH] uml: remove some leftover PPC code 2006-10-20 10:26:36 -07:00
archparam-x86_64.h [PATCH] uml: s390 preparation, elf.h 2005-05-05 16:36:37 -07:00
asm.h uml: add asm-um/asm.h 2008-01-30 13:31:17 +01:00
atomic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bitops.h forbid asm/bitops.h direct inclusion 2007-10-19 11:53:41 -07:00
boot.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bug.h uml: use generic BUG 2007-06-24 08:59:11 -07:00
bugs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
byteorder.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cache.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
cacheflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
calling.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cmpxchg.h x86: create asm/cmpxchg.h 2007-05-08 11:15:20 -07:00
cobalt.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
common.lds.S uml: fix linker script alignment bugs 2007-08-31 01:42:22 -07:00
cpufeature.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cputime.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
current.h uml: current.h cleanup 2008-02-05 09:44:28 -08:00
delay.h [PATCH] uml: fix unreasonably long udelay 2007-04-02 10:06:08 -07:00
desc.h [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
div64.h [NET]: div64_64 consolidate (rev3) 2007-04-25 22:23:33 -07:00
dma-mapping.h [PATCH] Pass struct dev pointer to dma_cache_sync() 2006-12-07 08:39:41 -08:00
dma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dwarf2.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
elf-i386.h uml: style cleanup 2008-02-05 09:44:28 -08:00
elf-ppc.h [PATCH] uml: fix apparent "CONFIG_64_BIT" typo. 2007-02-11 10:51:23 -08:00
elf-x86_64.h uml: header untangling 2008-02-05 09:44:28 -08:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fcntl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fixmap.h uml: runtime host VMSPLIT detection 2008-02-08 09:22:42 -08:00
floppy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
frame.h x86: rename .i assembler includes to .h 2007-10-17 20:16:29 +02:00
futex.h [PATCH] consolidate asm/futex.h 2006-01-08 20:13:39 -08:00
hardirq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
highmem.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
host_ldt-i386.h [PATCH] uml: split ldt.h in arch-independent and arch-dependant code 2006-03-31 12:18:51 -08:00
host_ldt-x86_64.h [PATCH] uml: split ldt.h in arch-independent and arch-dependant code 2006-03-31 12:18:51 -08:00
hw_irq.h [PATCH] genirq: add ->retrigger() irq op to consolidate hw_irq_resend() 2006-06-29 10:26:23 -07:00
ide.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io.h [PATCH] uml: add __raw_writeq definition 2006-06-30 11:25:38 -07:00
ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctls.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_regs.h [PATCH] um: irq changes break build 2006-10-06 08:53:42 -07:00
irq_vectors.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irqflags.h [PATCH] uml: add asm/irqflags.h 2006-06-05 12:29:17 -07:00
kdebug.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
keyboard.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kmap_types.h [PATCH] uml: make copy_*_user atomic 2006-07-01 09:56:03 -07:00
kvm.h kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
ldt.h uml: LDT mutex conversion 2008-02-05 09:44:31 -08:00
linkage.h uml: get rid of asmlinkage 2008-02-05 09:44:25 -08:00
local.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
locks.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mca_dma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mman.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmu_context.h uml: cover stubs with a VMA 2008-02-05 09:44:29 -08:00
mmu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module-generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module-i386.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module-x86_64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mtrr.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nops.h git-x86: unbreak UML 2008-01-30 13:32:38 +01:00
page_offset.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
page.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
param.h uml: add back CONFIG_HZ 2008-02-05 09:44:31 -08:00
paravirt.h uml: add asm/paravirt.h 2007-06-24 08:59:11 -07:00
pci.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pda.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
percpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgalloc.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
pgtable-2level.h uml: 64-bit tlb fixes 2008-02-05 09:44:29 -08:00
pgtable-3level.h uml: 64-bit tlb fixes 2008-02-05 09:44:29 -08:00
pgtable.h uml: 64-bit tlb fixes 2008-02-05 09:44:29 -08:00
poll.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
posix_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor-generic.h uml: runtime host VMSPLIT detection 2008-02-08 09:22:42 -08:00
processor-i386.h uml: remove xmm checking on x86 2008-02-05 09:44:24 -08:00
processor-ppc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor-x86_64.h uml: x86_64 should copy %fs during fork 2008-02-08 09:22:43 -08:00
ptrace-generic.h uml: ptrace floating point fixes 2007-10-16 09:43:07 -07:00
ptrace-i386.h uml: ptrace floating point fixes 2007-10-16 09:43:07 -07:00
ptrace-x86_64.h uml: remove code made redundant by CHOOSE_MODE removal 2007-10-16 09:43:05 -07:00
required-features.h uml: fix build breakage 2007-05-09 12:30:48 -07:00
resource.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rwlock.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rwsem.h [PATCH] remove gcc-2 checks 2006-01-08 20:14:02 -08:00
scatterlist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sections.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
segment.h [PATCH] uml: check for differences in host support 2006-03-31 12:18:52 -08:00
semaphore.h Generic semaphore implementation 2008-04-17 10:42:34 -04:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.h [PATCH] uml: command line handling cleanup 2005-05-06 22:09:29 -07:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmparam.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext-generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext-i386.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext-ppc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext-x86_64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
siginfo.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.h uml: fix inlines 2007-10-16 09:43:06 -07:00
socket.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sockios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlock_types.h [PATCH] uml spinlock breakage 2005-09-10 16:50:01 -07:00
spinlock.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
suspend.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system-generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system-i386.h [PATCH] uml: UML/i386 cmpxchg fix 2005-09-17 11:50:01 -07:00
system-ppc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system-x86_64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termbits.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
thread_info.h uml: current.h cleanup 2008-02-05 09:44:28 -08:00
timex.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlb.h uml: compile error fix 2008-04-15 19:35:40 -07:00
tlbflush.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
topology.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uaccess.h uml: header untangling 2008-02-05 09:44:28 -08:00
ucontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vga.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vm86.h [PATCH] uml: vm86 compile fix 2005-07-28 21:46:03 -07:00
vm-flags-i386.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vm-flags-x86_64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00