All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Alexander Duyck <alexander.h.duyck@intel.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@kernel.org,
	alexander.h.duyck@intel.com, tglx@linutronix.de,
	hpa@linux.intel.com
Subject: [tip:x86/mm] x86: Drop 4 unnecessary calls to __pa_symbol
Date: Fri, 16 Nov 2012 16:25:52 -0800	[thread overview]
Message-ID: <tip-409fa8dcd2c8b1ec1e705ad99b152bce665af025@git.kernel.org> (raw)
In-Reply-To: <20121116215552.8521.68085.stgit@ahduyck-cp1.jf.intel.com>

Commit-ID:  409fa8dcd2c8b1ec1e705ad99b152bce665af025
Gitweb:     http://git.kernel.org/tip/409fa8dcd2c8b1ec1e705ad99b152bce665af025
Author:     Alexander Duyck <alexander.h.duyck@intel.com>
AuthorDate: Fri, 16 Nov 2012 13:56:35 -0800
Committer:  H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Fri, 16 Nov 2012 15:20:28 -0800

x86: Drop 4 unnecessary calls to __pa_symbol

While debugging the __pa_symbol inline patch I found that there were a couple
spots where __pa_symbol was used as follows:
__pa_symbol(x) - __pa_symbol(y)

The compiler had reduced them to:
x - y

Since we also support a debug case where __pa_symbol is a function call it
would probably be useful to just change the two cases I found so that they are
always just treated as "x - y".  As such I am casting the values to
phys_addr_t and then doing simple subtraction so that the correct type and
value is returned.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Link: http://lkml.kernel.org/r/20121116215552.8521.68085.stgit@ahduyck-cp1.jf.intel.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
 arch/x86/kernel/head32.c | 4 ++--
 arch/x86/kernel/head64.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c
index c18f59d..f15db0c 100644
--- a/arch/x86/kernel/head32.c
+++ b/arch/x86/kernel/head32.c
@@ -30,8 +30,8 @@ static void __init i386_default_early_setup(void)
 
 void __init i386_start_kernel(void)
 {
-	memblock_reserve(__pa_symbol(&_text),
-			 __pa_symbol(&__bss_stop) - __pa_symbol(&_text));
+	memblock_reserve(__pa_symbol(_text),
+			 (phys_addr_t)__bss_stop - (phys_addr_t)_text);
 
 #ifdef CONFIG_BLK_DEV_INITRD
 	/* Reserve INITRD */
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index 037df57..42f5df1 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -97,8 +97,8 @@ void __init x86_64_start_reservations(char *real_mode_data)
 {
 	copy_bootdata(__va(real_mode_data));
 
-	memblock_reserve(__pa_symbol(&_text),
-			 __pa_symbol(&__bss_stop) - __pa_symbol(&_text));
+	memblock_reserve(__pa_symbol(_text),
+			 (phys_addr_t)__bss_stop - (phys_addr_t)_text);
 
 #ifdef CONFIG_BLK_DEV_INITRD
 	/* Reserve INITRD */

  reply	other threads:[~2012-11-17  0:26 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-16 21:52 [PATCH v4 0/8] Improve performance of VM translation on x86_64 Alexander Duyck
2012-11-16 21:53 ` [PATCH v4 1/8] x86: Move some contents of page_64_types.h into pgtable_64.h and page_64.h Alexander Duyck
2012-11-17  0:22   ` [tip:x86/mm] " tip-bot for Alexander Duyck
2012-11-17  0:30     ` Yinghai Lu
2012-11-17  0:42       ` H. Peter Anvin
2012-11-17  0:49   ` tip-bot for Alexander Duyck
2012-11-16 21:53 ` [PATCH v4 2/8] x86: Improve __phys_addr performance by making use of carry flags and inlining Alexander Duyck
2012-11-17  0:23   ` [tip:x86/mm] " tip-bot for Alexander Duyck
2012-11-17  0:50   ` tip-bot for Alexander Duyck
2012-11-16 21:55 ` [PATCH v4 3/8] x86: Make it so that __pa_symbol can only process kernel symbols on x86_64 Alexander Duyck
2012-11-17  0:24   ` [tip:x86/mm] " tip-bot for Alexander Duyck
2012-11-17  0:51   ` tip-bot for Alexander Duyck
2012-11-16 21:56 ` [PATCH v4 4/8] x86: Drop 4 unnecessary calls to __pa_symbol Alexander Duyck
2012-11-17  0:25   ` tip-bot for Alexander Duyck [this message]
2012-11-17  0:52   ` [tip:x86/mm] " tip-bot for Alexander Duyck
2012-11-16 21:57 ` [PATCH v4 5/8] x86: Use __pa_symbol instead of __pa on C visible symbols Alexander Duyck
2012-11-17  0:26   ` [tip:x86/mm] " tip-bot for Alexander Duyck
2012-11-17  0:53   ` tip-bot for Alexander Duyck
2012-11-16 21:57 ` [PATCH v4 6/8] x86/ftrace: " Alexander Duyck
2012-11-16 22:20   ` Steven Rostedt
2012-11-16 22:25     ` H. Peter Anvin
2012-11-16 22:45       ` Steven Rostedt
2012-11-16 23:06         ` H. Peter Anvin
2012-11-16 23:20           ` Alexander Duyck
2012-11-16 23:30           ` Steven Rostedt
2012-11-17  0:27   ` [tip:x86/mm] " tip-bot for Alexander Duyck
2012-11-17  0:54   ` tip-bot for Alexander Duyck
2012-11-16 21:57 ` [PATCH v4 7/8] x86/acpi: " Alexander Duyck
2012-11-16 22:02   ` Pavel Machek
2012-11-17  0:28   ` [tip:x86/mm] " tip-bot for Alexander Duyck
2012-11-17  0:55   ` tip-bot for Alexander Duyck
2012-11-16 21:58 ` [PATCH v4 8/8] x86/lguest: " Alexander Duyck
2012-11-17  0:30   ` [tip:x86/mm] " tip-bot for Alexander Duyck
2013-01-26  1:50   ` tip-bot for Alexander Duyck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tip-409fa8dcd2c8b1ec1e705ad99b152bce665af025@git.kernel.org \
    --to=alexander.h.duyck@intel.com \
    --cc=hpa@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.