From: Jan Beulich Date: Tue, 4 Nov 2014 08:50:48 +0000 (+0000) Subject: x86-64: Use RIP-relative addressing for most per-CPU accesses X-Git-Tag: omap-for-v3.19/fixes-rc1~158^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97b67ae559947f1e208439a1bf6a734da3087006;p=pandora-kernel.git x86-64: Use RIP-relative addressing for most per-CPU accesses Observing that per-CPU data (in the SMP case) is reachable by exploiting 64-bit address wraparound (building on the default kernel load address being at 16Mb), the one byte shorter RIP-relative addressing form can be used for most per-CPU accesses. The one exception are the "stable" reads, where the use of the "P" operand modifier prevents the compiler from using RIP-relative addressing, but is unavoidable due to the use of the "p" constraint (side note: with gcc 4.9.x the intended effect of this isn't being achieved anymore, see gcc bug 63637). With the dependency on the minimum kernel load address, arbitrarily low values for CONFIG_PHYSICAL_START are now no longer possible. A link time assertion is being added, directing to the need to increase that value when it triggers. Signed-off-by: Jan Beulich Link: http://lkml.kernel.org/r/5458A1780200007800044A9D@mail.emea.novell.com Signed-off-by: Thomas Gleixner --- Reading git-diff-tree failed