All of lore.kernel.org
 help / color / mirror / Atom feed
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)



  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.