https://github.com/torvalds/linux
Revision 7d17e2763129ea307702fcdc91f6e9d114b65c2d authored by Helge Deller on 30 April 2009, 21:39:45 UTC, committed by Kyle McMartin on 03 July 2009, 03:34:07 UTC
There are two reasons to expose the memory *a in the asm:

1) To prevent the compiler from discarding a preceeding write to *a, and
2) to prevent it from caching *a in a register over the asm.

The change has had a few days testing with a SMP build of 2.6.22.19
running on a rp3440.

This patch is about the correctness of the __ldcw() macro itself.
The use of the macro should be confined to small inline functions
to try to limit the effect of clobbering memory on GCC's optimization
of loads and stores.

Signed-off-by: Dave Anglin <dave.anglin@nrc-cnrc.gc.ca>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
1 parent 4fb1178
History
Tip revision: 7d17e2763129ea307702fcdc91f6e9d114b65c2d authored by Helge Deller on 30 April 2009, 21:39:45 UTC
parisc: fix ldcw inline assembler
Tip revision: 7d17e27
File Mode Size
Documentation
arch
block
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.gitignore -rw-r--r-- 945 bytes
.mailmap -rw-r--r-- 3.9 KB
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 91.7 KB
Kbuild -rw-r--r-- 2.4 KB
MAINTAINERS -rw-r--r-- 147.5 KB
Makefile -rw-r--r-- 53.8 KB
README -rw-r--r-- 17.0 KB
REPORTING-BUGS -rw-r--r-- 3.1 KB

README

back to top