From: Jeremy Fitzhardinge <jeremy@goop.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
"David S. Miller" <davem@davemloft.net>,
David Daney <david.daney@cavium.com>,
Michael Ellerman <michael@ellerman.id.au>,
Jan Glauber <jang@linux.vnet.ibm.com>,
Jason Baron <jbaron@redhat.com>,
the arch/x86 maintainers <x86@kernel.org>,
Xen Devel <xen-devel@lists.xensource.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <peterz@infradead.org>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Subject: Re: [PATCH RFC V4 09/10] x86/jump_label: use GENERIC_NOP5_ATOMIC instead of jmp5 +0
Date: Thu, 13 Oct 2011 09:57:46 -0700 [thread overview]
Message-ID: <4E97188A.6040400@goop.org> (raw)
In-Reply-To: <4E97067A.2070305@zytor.com>
On 10/13/2011 08:40 AM, H. Peter Anvin wrote:
> On 10/12/2011 05:08 PM, Jeremy Fitzhardinge wrote:
>> From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>>
>> GENERIC_NOP5_ATOMIC should make a better nop.
>>
> On 32 bits, yes. On 64 bits you should use P6_NOP5_ATOMIC.
Something like this?
From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Date: Thu, 13 Oct 2011 09:55:25 -0700
Subject: [PATCH] x86/nop: we can use P6 as generic NOP on 64-bit
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
diff --git a/arch/x86/include/asm/nops.h b/arch/x86/include/asm/nops.h
index 405b403..f9fead9 100644
--- a/arch/x86/include/asm/nops.h
+++ b/arch/x86/include/asm/nops.h
@@ -19,15 +19,15 @@
6: leal 0x00000000(%esi),%esi
7: leal 0x00000000(,%esi,1),%esi
*/
-#define GENERIC_NOP1 0x90
-#define GENERIC_NOP2 0x89,0xf6
-#define GENERIC_NOP3 0x8d,0x76,0x00
-#define GENERIC_NOP4 0x8d,0x74,0x26,0x00
-#define GENERIC_NOP5 GENERIC_NOP1,GENERIC_NOP4
-#define GENERIC_NOP6 0x8d,0xb6,0x00,0x00,0x00,0x00
-#define GENERIC_NOP7 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00
-#define GENERIC_NOP8 GENERIC_NOP1,GENERIC_NOP7
-#define GENERIC_NOP5_ATOMIC NOP_DS_PREFIX,GENERIC_NOP4
+#define GAS_NOP1 0x90
+#define GAS_NOP2 0x89,0xf6
+#define GAS_NOP3 0x8d,0x76,0x00
+#define GAS_NOP4 0x8d,0x74,0x26,0x00
+#define GAS_NOP5 GENERIC_NOP1,GENERIC_NOP4
+#define GAS_NOP6 0x8d,0xb6,0x00,0x00,0x00,0x00
+#define GAS_NOP7 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00
+#define GAS_NOP8 GENERIC_NOP1,GENERIC_NOP7
+#define GAS_NOP5_ATOMIC NOP_DS_PREFIX,GENERIC_NOP4
/* Opteron 64bit nops
1: nop
@@ -87,6 +87,28 @@
#define P6_NOP8 0x0f,0x1f,0x84,0x00,0,0,0,0
#define P6_NOP5_ATOMIC P6_NOP5
+#ifdef CONFIG_X86_32
+#define GENERIC_NOP1 GAS_NOP1
+#define GENERIC_NOP2 GAS_NOP2
+#define GENERIC_NOP3 GAS_NOP3
+#define GENERIC_NOP4 GAS_NOP4
+#define GENERIC_NOP5 GAS_NOP5
+#define GENERIC_NOP6 GAS_NOP6
+#define GENERIC_NOP7 GAS_NOP7
+#define GENERIC_NOP8 GAS_NOP8
+#define GENERIC_NOP5_ATOMIC GAS_NOP5_ATOMIC
+#else
+#define GENERIC_NOP1 P6_NOP1
+#define GENERIC_NOP2 P6_NOP2
+#define GENERIC_NOP3 P6_NOP3
+#define GENERIC_NOP4 P6_NOP4
+#define GENERIC_NOP5 P6_NOP5
+#define GENERIC_NOP6 P6_NOP6
+#define GENERIC_NOP7 P6_NOP7
+#define GENERIC_NOP8 P6_NOP8
+#define GENERIC_NOP5_ATOMIC P6_NOP5_ATOMIC
+#endif
+
#define _ASM_MK_NOP(x) ".byte " __stringify(x) "\n"
#if defined(CONFIG_MK7)
next prev parent reply other threads:[~2011-10-13 18:21 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-13 0:08 [PATCH RFC V4 00/10] jump-label: allow early jump_label_enable() Jeremy Fitzhardinge
[not found] ` <cover.1318464413.git.jeremy.fitzhardinge@citrix.com>
2011-10-13 0:08 ` [PATCH RFC V4 01/10] jump_label: use proper atomic_t initializer Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 02/10] stop_machine: make stop_machine safe and efficient to call early Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 03/10] jump_label: if a key has already been initialized, don't nop it out Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 04/10] x86/jump_label: drop arch_jump_label_text_poke_early() Jeremy Fitzhardinge
2011-10-13 10:15 ` Peter Zijlstra
2011-10-13 0:08 ` [PATCH RFC V4 05/10] sparc/jump_label: " Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 06/10] jump_label: add arch_jump_label_transform_static() to optimise non-live code updates Jeremy Fitzhardinge
2011-10-13 10:32 ` Peter Zijlstra
2011-10-13 13:54 ` Jason Baron
2011-10-13 15:29 ` Peter Zijlstra
2011-10-13 15:55 ` Jason Baron
2011-10-13 16:32 ` Peter Zijlstra
2011-10-13 0:08 ` [PATCH RFC V4 07/10] s390/jump-label: add arch_jump_label_transform_static() Jeremy Fitzhardinge
2011-10-13 0:08 ` [PATCH RFC V4 08/10] x86/jump_label: " Jeremy Fitzhardinge
2011-10-13 10:36 ` Peter Zijlstra
2011-10-13 0:08 ` [PATCH RFC V4 09/10] x86/jump_label: use GENERIC_NOP5_ATOMIC instead of jmp5 +0 Jeremy Fitzhardinge
2011-10-13 15:40 ` H. Peter Anvin
2011-10-13 16:50 ` Jeremy Fitzhardinge
2011-10-14 21:52 ` H. Peter Anvin
2011-10-13 16:57 ` Jeremy Fitzhardinge [this message]
2011-10-13 18:37 ` Steven Rostedt
2011-10-14 21:53 ` H. Peter Anvin
2011-10-15 0:22 ` Steven Rostedt
2011-10-14 21:53 ` H. Peter Anvin
2011-10-13 0:08 ` [PATCH RFC V4 10/10] jump-label: initialize jump-label subsystem much earlier Jeremy Fitzhardinge
2011-10-13 10:43 ` Peter Zijlstra
2011-10-13 13:59 ` Jason Baron
2011-10-13 16:56 ` Jeremy Fitzhardinge
2011-10-14 21:51 ` Jeremy Fitzhardinge
2011-10-15 8:42 ` Peter Zijlstra
2011-10-16 1:52 ` Jeremy Fitzhardinge
2011-10-18 11:02 ` Peter Zijlstra
2011-10-25 17:56 ` Jeremy Fitzhardinge
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=4E97188A.6040400@goop.org \
--to=jeremy@goop.org \
--cc=davem@davemloft.net \
--cc=david.daney@cavium.com \
--cc=hpa@zytor.com \
--cc=jang@linux.vnet.ibm.com \
--cc=jbaron@redhat.com \
--cc=jeremy.fitzhardinge@citrix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=michael@ellerman.id.au \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
/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.