diff options
author | Joshua Kinard <kumba@gentoo.org> | 2012-06-24 21:01:34 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2012-10-11 11:02:36 +0200 |
commit | b4f2a17ba96a79f1069a2c0f1c648cf6d497f2f3 (patch) | |
tree | 75f44d8efb4748d9639869dc7089533b0964b037 /include/asm-generic/vmlinux.lds.h | |
parent | 12250d843e8489ee00b5b7726da855e51694e792 (diff) | |
download | op-kernel-dev-b4f2a17ba96a79f1069a2c0f1c648cf6d497f2f3.zip op-kernel-dev-b4f2a17ba96a79f1069a2c0f1c648cf6d497f2f3.tar.gz |
Improve atomic.h robustness
I've maintained this patch, originally from Thiemo Seufer in 2004, for a
really long time, but I think it's time for it to get a look at for
possible inclusion. I have had no problems with it across various SGI
systems over the years.
To quote the post here:
http://www.linux-mips.org/archives/linux-mips/2004-12/msg00000.html
"the atomic functions use so far memory references for the inline
assembler to access the semaphore. This can lead to additional
instructions in the ll/sc loop, because newer compilers don't
expand the memory reference any more but leave it to the assembler.
The appended patch uses registers instead, and makes the ll/sc
arguments more explicit. In some cases it will lead also to better
register scheduling because the register isn't bound to an output
any more."
Signed-off-by: Joshua Kinard <kumba@gentoo.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/4029/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
0 files changed, 0 insertions, 0 deletions