linux/include
Hugh Dickins 292f86f005 [POWERPC] Make mmiowb's io_sync preempt safe
If mmiowb() is always used prior to releasing spinlock as Doc suggests,
then it's safe against preemption; but I'm not convinced that's always
the case.  If preemption occurs between sync and get_paca()->io_sync = 0,
I believe there's no problem.  But in the unlikely event that gcc does
the store relative to another register than r13 (as it did with current),
then there's a small danger of setting another cpu's io_sync to 0, after
it had just set it to 1.  Rewrite ppc64 mmiowb to prevent that.

The remaining io_sync assignments in io.h all get_paca()->io_sync = 1,
which is harmless even if preempted to the wrong cpu (the context switch
itself syncs); and those in spinlock.h are while preemption is disabled.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-11-01 14:52:49 +11:00
..
acpi ACPI: Processor native C-states using MWAIT 2006-10-14 00:35:39 -04:00
asm-alpha [PATCH] Consolidate check_signature 2006-10-11 11:14:23 -07:00
asm-arm [ARM] Add __must_check to uaccess functions 2006-10-28 10:15:31 +01:00
asm-arm26 fix file specification in comments 2006-10-03 23:01:26 +02:00
asm-avr32 [PATCH] AVR32: add io{read,write}{8,16,32}{be,} support 2006-10-25 20:26:33 -07:00
asm-cris [PATCH] remove remaining errno and __KERNEL_SYSCALLS__ references 2006-10-02 07:57:23 -07:00
asm-frv [PATCH] FRV: Use the correct preemption primitives in kmap_atomic() and co 2006-10-16 08:32:29 -07:00
asm-generic [PATCH] drivers: wait for threaded probes between initcall levels 2006-10-27 15:34:51 -07:00
asm-h8300 [PATCH] remove remaining errno and __KERNEL_SYSCALLS__ references 2006-10-02 07:57:23 -07:00
asm-i386 [PATCH] visws build fix 2006-10-28 11:30:52 -07:00
asm-ia64 [IA64] move SAL_CACHE_FLUSH check later in boot 2006-10-31 14:32:10 -08:00
asm-m32r [PATCH] Consolidate check_signature 2006-10-11 11:14:23 -07:00
asm-m68k [PATCH] sun3_ioremap() prototype 2006-10-15 11:00:58 -07:00
asm-m68knommu [PATCH] m68knommu: sync syscalls with m68k 2006-10-13 08:35:39 -07:00
asm-mips [MIPS] Fixup migration to GENERIC_TIME 2006-10-31 20:13:23 +00:00
asm-parisc [PARISC] pdc_init no longer exists 2006-10-07 05:22:30 -06:00
asm-powerpc [POWERPC] Make mmiowb's io_sync preempt safe 2006-11-01 14:52:49 +11:00
asm-ppc [PATCH] Consolidate check_signature 2006-10-11 11:14:23 -07:00
asm-s390 [S390] Fix pte type checking. 2006-10-18 18:30:51 +02:00
asm-sh sh: Fix IPR-IRQ's for IRQ-chip change breakage. 2006-10-31 12:53:28 +09:00
asm-sh64 [PATCH] Consolidate check_signature 2006-10-11 11:14:23 -07:00
asm-sparc [SPARC]: Clean up asm-sparc/elf.h pollution in userspace. 2006-10-20 00:29:33 -07:00
asm-sparc64 [SPARC64]: 8-byte align return value from compat_alloc_user_space() 2006-10-22 21:53:30 -07:00
asm-um [PATCH] uml: add INITCALLS 2006-10-31 08:07:00 -08:00
asm-v850 [PATCH] remove remaining errno and __KERNEL_SYSCALLS__ references 2006-10-02 07:57:23 -07:00
asm-x86_64 [PATCH] x86-64: Only look at per_cpu data for online cpus. 2006-10-25 01:00:23 +02:00
asm-xtensa fix file specification in comments 2006-10-03 23:01:26 +02:00
crypto
keys
linux [PATCH] MTD: fix last kernel-doc warning 2006-10-30 12:08:41 -08:00
math-emu
media V4L/DVB (4666): Ensure the WM8775 driver is loaded generically for any board. 2006-10-03 15:13:48 -03:00
mtd
net [NET]: kernel-doc fix for sock.h 2006-10-22 20:38:00 -07:00
pcmcia
rdma
rxrpc
scsi [SCSI] replace u8 and u32 with __u8 and __u32 in scsi.h for user space 2006-10-25 15:14:34 -07:00
sound [ALSA] version 1.0.13 2006-10-22 10:56:24 +02:00
video fix file specification in comments 2006-10-03 23:01:26 +02:00
Kbuild