2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-19 18:53:52 +08:00
linux-next/arch
Martin Schwidefsky 39475179d4 [S390] Improve code generated by atomic operations.
Git commit ea43546750 changed the
definition of atomic_t and atomic64_t for s390 by adding the volatile
modifier to the counter field. This has an unfortunate side effect
with newer versions of the gcc. The typeof operator now picks up the
volatile modifier from the expression. This causes the compiler to
think that it has to store the two temporary variable old_val and
new_val in the __CS_LOOP for the different atomic operations to the
stack as the variables are now volatile. Both stores are superfluous.

The hack to replace typeof(ptr->counter) with int in __CS_LOOP and
and long long in __CSG_LOOP avoids the two stores. A better solution
would be to drop the volatile from the counter field of the atomic_t
and atomic64_t definition. But that is a touchy subject ..

Cc: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2009-12-07 12:51:36 +01:00
..
alpha alpha: Fixup last users of irq_chip->typename 2009-11-30 22:51:31 -05:00
arm Merge branch 'mach-types' 2009-11-25 22:17:55 +00:00
avr32 avr32: Convert BUG() to use unreachable() 2009-12-05 09:10:12 -08:00
blackfin Blackfin: fix SMP build error in start_thread() 2009-11-25 02:38:01 -05:00
cris const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
frv frv: fix check on unsigned in do_signal() 2009-10-29 07:39:32 -07:00
h8300 h8300: Cleanup linker script using new linker script macros. 2009-09-24 17:16:22 -07:00
ia64 swiotlb: Remove duplicate swiotlb_force extern declarations 2009-11-15 09:03:10 +01:00
m32r m32r: fix arch/m32r/boot/compressed/Makefile 2009-11-09 09:00:50 +09:00
m68k tty: Mark generic_serial users as BROKEN 2009-10-30 14:43:12 -07:00
m68knommu m68knommu: fix rename of pt_regs offset defines breakage 2009-09-30 10:06:07 +10:00
microblaze microblaze: Clear sticky FSR register after saving it to func parametr 2009-10-05 11:37:47 +02:00
mips MIPS: Convert BUG() to use unreachable() 2009-12-05 09:10:12 -08:00
mn10300 mn10300: fix kernel build failures when using gcc-4.x 2009-10-01 16:11:12 -07:00
parisc parisc: fix unwind with recent gcc versions 2009-11-30 08:20:24 -08:00
powerpc Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-05 15:30:21 -08:00
s390 [S390] Improve code generated by atomic operations. 2009-12-07 12:51:36 +01:00
score Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next 2009-09-23 15:37:02 -07:00
sh sh: Fixup last users of irq_chip->typename 2009-11-18 10:50:22 +09:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2009-11-30 14:02:23 -08:00
um headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
x86 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-05 15:33:27 -08:00
xtensa headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
.gitignore
Kconfig hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events 2009-11-08 15:34:42 +01:00