android_kernel_samsung_msm8976/arch/x86
Nick Piggin 95c354fe9f spinlock: lockbreak cleanup
The break_lock data structure and code for spinlocks is quite nasty.
Not only does it double the size of a spinlock but it changes locking to
a potentially less optimal trylock.

Put all of that under CONFIG_GENERIC_LOCKBREAK, and introduce a
__raw_spin_is_contended that uses the lock data itself to determine whether
there are waiters on the lock, to be used if CONFIG_GENERIC_LOCKBREAK is
not set.

Rename need_lockbreak to spin_needbreak, make it use spin_is_contended to
decouple it from the spinlock implementation, and make it typesafe (rwlocks
do not have any need_lockbreak sites -- why do they even get bloated up
with that break_lock then?).

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:31:20 +01:00
..
boot x86: tweak io_64.h for paravirt. 2008-01-30 13:31:10 +01:00
configs x86: 64-bit, make sparsemem vmemmap the only memory model 2008-01-30 13:30:47 +01:00
crypto [CRYPTO] twofish: Merge common glue code 2008-01-14 17:07:57 +11:00
ia32 x86: x86 ptrace merge removals 2008-01-30 13:31:02 +01:00
kernel x86, ptrace: new ptrace BTS API 2008-01-30 13:31:20 +01:00
lguest x86: change write_gdt_entry signature. 2008-01-30 13:31:13 +01:00
lib x86: disable preemption in delay_tsc() 2007-11-14 18:45:44 -08:00
mach-default
mach-es7000
mach-generic
mach-visws x86: cleanup mpspec variants 2008-01-30 13:30:35 +01:00
mach-voyager x86: remove all definitions with fastcall 2008-01-30 13:31:17 +01:00
math-emu x86: lindent arch/i386/math-emu, cleanup 2008-01-30 13:30:12 +01:00
mm x86 boot: use E820 memory map on EFI 32 platform 2008-01-30 13:31:19 +01:00
oprofile x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
pci Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 2007-11-26 19:41:28 -08:00
power x86: x86-32 thread_struct.debugreg 2008-01-30 13:30:59 +01:00
vdso x86: introduce native_read_tscp 2008-01-30 13:31:06 +01:00
video
xen x86: remove all definitions with fastcall 2008-01-30 13:31:17 +01:00
Kconfig spinlock: lockbreak cleanup 2008-01-30 13:31:20 +01:00
Kconfig.cpu x86: use def_bool where possible in Kconfig.cpu 2008-01-30 13:31:03 +01:00
Kconfig.debug x86: make io_delay=0xed the default 2008-01-30 13:30:05 +01:00
Makefile x86: correctly set UTS_MACHINE for "make ARCH=x86" 2007-11-26 17:38:53 -08:00
Makefile_32 x86 vDSO: i386 vdso32 install 2008-01-30 13:30:42 +01:00
Makefile_32.cpu
Makefile_64 x86 vDSO: ia32 vsyscall removal 2008-01-30 13:30:44 +01:00