android_kernel_xiaomi_sm8350/arch/powerpc
Jeremy Kerr f5ed0eb6fe powerpc/spufs: Use state_mutex for switch_log locking, and prevent multiple openers
Currently, we use ctx->mapping_lock and ctx->switch_log->lock for the
context switch log. The mapping lock only prevents concurrent open()s,
so we require the switch_lock->lock for reads.

Since writes to the switch log buffer occur on context switches, we're
better off synchronising with the state_mutex, which is held during a
switch. Since we're serialised througout the buffer reads and writes,
we can use the state mutex to protect open and release too, and
can now kfree() the log buffer on release. This allows us to perform
the switch log notify without taking any extra locks.

Because the buffer is only present while the file is open, we can use
it to prevent multiple simultaneous openers.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-10-21 11:13:19 +11:00
..
boot Merge commit 'origin' 2008-10-15 11:31:54 +11:00
configs powerpc: disable CHRP and PMAC support in various defconfigs 2008-10-13 11:09:59 -05:00
include/asm Merge commit 'origin' 2008-10-15 11:31:54 +11:00
kernel Merge commit 'origin' 2008-10-15 11:31:54 +11:00
kvm KVM: ppc: fix invalidation of large guest pages 2008-07-27 12:02:05 +03:00
lib powerpc: Fix DMA offset for non-coherent DMA 2008-10-14 10:35:26 +11:00
math-emu powerpc/math-emu: Use kernel generic math-emu code 2008-10-01 08:40:07 -05:00
mm powerpc: Get USE_STRICT_MM_TYPECHECKS working again 2008-10-14 10:35:27 +11:00
oprofile powerpc/cell/oprofile: Fix test on overlay_tbl_offset in vma_map 2008-10-10 15:55:18 +11:00
platforms powerpc/spufs: Use state_mutex for switch_log locking, and prevent multiple openers 2008-10-21 11:13:19 +11:00
sysdev Merge commit 'origin' 2008-10-15 11:31:54 +11:00
xmon Merge branch 'linux-2.6' 2008-06-30 10:16:50 +10:00
Kconfig powerpc: Enforce sane MAX_ORDER 2008-10-07 14:26:20 +11:00
Kconfig.debug powerpc: Split-out common MSI bitmap logic into msi_bitmap.c 2008-08-20 16:34:57 +10:00
Makefile powerpc: Enforce a non-spe kernel build even on broken compilers 2008-09-15 11:08:41 -07:00