All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Anton Blanchard <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: tglx@linutronix.de, hpa@zytor.com, paulmck@linux.vnet.ibm.com,
	linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
	torvalds@linux-foundation.org, mingo@kernel.org,
	peterz@infradead.org, anton@samba.org
Subject: [tip:locking/core] jump_label: Allow jump labels to be used in assembly
Date: Thu, 9 Apr 2015 02:01:16 -0700	[thread overview]
Message-ID: <tip-c0ccf6f99e3a43b87980c9df7da48427885206d0@git.kernel.org> (raw)
In-Reply-To: <1428551492-21977-2-git-send-email-anton@samba.org>

Commit-ID:  c0ccf6f99e3a43b87980c9df7da48427885206d0
Gitweb:     http://git.kernel.org/tip/c0ccf6f99e3a43b87980c9df7da48427885206d0
Author:     Anton Blanchard <anton@samba.org>
AuthorDate: Thu, 9 Apr 2015 13:51:31 +1000
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 9 Apr 2015 09:40:24 +0200

jump_label: Allow jump labels to be used in assembly

To use jump labels in assembly we need the HAVE_JUMP_LABEL
define, so we select a fallback version if the toolchain does
not support them.

Modify linux/jump_label.h so it can be included by assembly
files. We also need to add -DCC_HAVE_ASM_GOTO to KBUILD_AFLAGS.

Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: benh@kernel.crashing.org
Cc: catalin.marinas@arm.com
Cc: davem@davemloft.net
Cc: heiko.carstens@de.ibm.com
Cc: jbaron@akamai.com
Cc: linux@arm.linux.org.uk
Cc: linuxppc-dev@lists.ozlabs.org
Cc: liuj97@gmail.com
Cc: mgorman@suse.de
Cc: mmarek@suse.cz
Cc: mpe@ellerman.id.au
Cc: paulus@samba.org
Cc: ralf@linux-mips.org
Cc: rostedt@goodmis.org
Cc: schwidefsky@de.ibm.com
Cc: will.deacon@arm.com
Link: http://lkml.kernel.org/r/1428551492-21977-2-git-send-email-anton@samba.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 Makefile                   |  1 +
 include/linux/jump_label.h | 21 +++++++++++++++++----
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 9fab639..a2aa475 100644
--- a/Makefile
+++ b/Makefile
@@ -779,6 +779,7 @@ KBUILD_ARFLAGS := $(call ar-option,D)
 # check for 'asm goto'
 ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y)
 	KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
+	KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
 endif
 
 include $(srctree)/scripts/Makefile.kasan
diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h
index 98f923b6..f4de473 100644
--- a/include/linux/jump_label.h
+++ b/include/linux/jump_label.h
@@ -45,6 +45,12 @@
  * same as using STATIC_KEY_INIT_FALSE.
  */
 
+#if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL)
+# define HAVE_JUMP_LABEL
+#endif
+
+#ifndef __ASSEMBLY__
+
 #include <linux/types.h>
 #include <linux/compiler.h>
 #include <linux/bug.h>
@@ -55,7 +61,7 @@ extern bool static_key_initialized;
 				    "%s used before call to jump_label_init", \
 				    __func__)
 
-#if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL)
+#ifdef HAVE_JUMP_LABEL
 
 struct static_key {
 	atomic_t enabled;
@@ -66,13 +72,18 @@ struct static_key {
 #endif
 };
 
-# include <asm/jump_label.h>
-# define HAVE_JUMP_LABEL
 #else
 struct static_key {
 	atomic_t enabled;
 };
-#endif	/* CC_HAVE_ASM_GOTO && CONFIG_JUMP_LABEL */
+#endif	/* HAVE_JUMP_LABEL */
+#endif /* __ASSEMBLY__ */
+
+#ifdef HAVE_JUMP_LABEL
+#include <asm/jump_label.h>
+#endif
+
+#ifndef __ASSEMBLY__
 
 enum jump_label_type {
 	JUMP_LABEL_DISABLE = 0,
@@ -203,3 +214,5 @@ static inline bool static_key_enabled(struct static_key *key)
 }
 
 #endif	/* _LINUX_JUMP_LABEL_H */
+
+#endif /* __ASSEMBLY__ */

  parent reply	other threads:[~2015-04-09  9:02 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-09  3:51 [PATCH 1/3] jump_label: Allow asm/jump_label.h to be included in assembly Anton Blanchard
2015-04-09  3:51 ` Anton Blanchard
2015-04-09  3:51 ` [PATCH 2/3] jump_label: Allow jump labels to be used " Anton Blanchard
2015-04-09  3:51   ` Anton Blanchard
2015-04-09  7:08   ` Peter Zijlstra
2015-04-09  7:08     ` Peter Zijlstra
2015-04-09  9:01   ` tip-bot for Anton Blanchard [this message]
2015-04-09 14:03   ` Steven Rostedt
2015-04-09 14:03     ` Steven Rostedt
2015-04-09  3:51 ` [PATCH 3/3] powerpc: Include linux/jump_label.h to get HAVE_JUMP_LABEL define Anton Blanchard
2015-04-09  3:51   ` Anton Blanchard
2015-04-09  7:08   ` Peter Zijlstra
2015-04-09  7:08     ` Peter Zijlstra
2015-04-09  7:33   ` Michael Ellerman
2015-04-09  7:33     ` Michael Ellerman
2015-04-09  9:01   ` [tip:locking/core] powerpc, jump_label: Include linux/ jump_label.h " tip-bot for Anton Blanchard
2015-04-09 14:04   ` [PATCH 3/3] powerpc: Include linux/jump_label.h " Steven Rostedt
2015-04-09 14:04     ` Steven Rostedt
2015-04-09  7:08 ` [PATCH 1/3] jump_label: Allow asm/jump_label.h to be included in assembly Peter Zijlstra
2015-04-09  7:08   ` Peter Zijlstra
2015-04-09  9:00 ` [tip:locking/core] jump_label: Allow asm/ jump_label.h " tip-bot for Anton Blanchard
2015-04-09 14:00 ` [PATCH 1/3] jump_label: Allow asm/jump_label.h " Steven Rostedt
2015-04-09 14:00   ` Steven Rostedt

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-c0ccf6f99e3a43b87980c9df7da48427885206d0@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=akpm@linux-foundation.org \
    --cc=anton@samba.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /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.