tmp_suning_uos_patched/arch/arm
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
common
configs
kernel
lib
mach-aaec2000
mach-at91
mach-clps711x
mach-clps7500
mach-davinci
mach-ebsa110
mach-ep93xx
mach-footbridge
mach-h720x
mach-imx
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-ixp23xx
mach-ixp2000
mach-ks8695
mach-l7200
mach-lh7a40x
mach-msm
mach-mx3
mach-netx
mach-ns9xxx
mach-omap1
mach-omap2
mach-orion
mach-pnx4008
mach-pxa
mach-realview
mach-rpc
mach-s3c2400
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s3c2442
mach-s3c2443
mach-sa1100
mach-shark
mach-versatile
mm
nwfpe
oprofile
plat-iop
plat-mxc
plat-omap
plat-s3c
plat-s3c24xx
tools
vfp
Kconfig
Kconfig-nommu
Kconfig.debug
Kconfig.instrumentation
Makefile