From: Will Deacon <will.deacon@arm.com>
To: Jiang Liu <liuj97@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Sandeepa Prabhu <sandeepa.prabhu@linaro.org>,
AKASHI Takahiro <takahiro.akashi@linaro.org>,
Andrew Morton <akpm@linux-foundation.org>,
Hannes Frederic Sowa <hannes@stressinduktion.org>,
Andrew Jones <drjones@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v6 7/7] jump_label: use defined macros instead of hard-coding for better readability
Date: Fri, 13 Dec 2013 16:00:41 +0000 [thread overview]
Message-ID: <20131213160041.GK19177@mudshark.cambridge.arm.com> (raw)
In-Reply-To: <1386691433-6827-8-git-send-email-liuj97@gmail.com>
On Tue, Dec 10, 2013 at 04:03:53PM +0000, Jiang Liu wrote:
> Use macro JUMP_LABEL_TRUE_BRANCH instead of hard-coding for better
> readability.
>
> Signed-off-by: Jiang Liu <liuj97@gmail.com>
> ---
> include/linux/jump_label.h | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
Whilst this looks alright to me, I think we probably need an ack from Steve
in order to take changes to the core code.
Will
> diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h
> index 3999977..192ccba 100644
> --- a/include/linux/jump_label.h
> +++ b/include/linux/jump_label.h
> @@ -81,18 +81,21 @@ struct module;
> #include <linux/atomic.h>
> #ifdef HAVE_JUMP_LABEL
>
> -#define JUMP_LABEL_TRUE_BRANCH 1UL
> +#define JUMP_LABEL_TYPE_FALSE_BRANCH 0UL
> +#define JUMP_LABEL_TYPE_TRUE_BRANCH 1UL
> +#define JUMP_LABEL_TYPE_MASK 1UL
>
> static
> inline struct jump_entry *jump_label_get_entries(struct static_key *key)
> {
> return (struct jump_entry *)((unsigned long)key->entries
> - & ~JUMP_LABEL_TRUE_BRANCH);
> + & ~JUMP_LABEL_TYPE_MASK);
> }
>
> static inline bool jump_label_get_branch_default(struct static_key *key)
> {
> - if ((unsigned long)key->entries & JUMP_LABEL_TRUE_BRANCH)
> + if (((unsigned long)key->entries & JUMP_LABEL_TYPE_MASK) ==
> + JUMP_LABEL_TYPE_TRUE_BRANCH)
> return true;
> return false;
> }
> @@ -123,9 +126,11 @@ extern void static_key_slow_dec(struct static_key *key);
> extern void jump_label_apply_nops(struct module *mod);
>
> #define STATIC_KEY_INIT_TRUE ((struct static_key) \
> - { .enabled = ATOMIC_INIT(1), .entries = (void *)1 })
> + { .enabled = ATOMIC_INIT(1), \
> + .entries = (void *)JUMP_LABEL_TYPE_TRUE_BRANCH })
> #define STATIC_KEY_INIT_FALSE ((struct static_key) \
> - { .enabled = ATOMIC_INIT(0), .entries = (void *)0 })
> + { .enabled = ATOMIC_INIT(0), \
> + .entries = (void *)JUMP_LABEL_TYPE_FALSE_BRANCH })
>
> #else /* !HAVE_JUMP_LABEL */
>
> --
> 1.8.1.2
>
>
next prev parent reply other threads:[~2013-12-13 16:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-10 16:03 [PATCH v6 0/7] Optimize jump label implementation for ARM64 Jiang Liu
2013-12-10 16:03 ` [PATCH v6 1/7] arm64: introduce basic aarch64 instruction decoding helpers Jiang Liu
2013-12-10 16:03 ` [PATCH v6 2/7] arm64: introduce interfaces to hotpatch kernel and module code Jiang Liu
2013-12-13 15:54 ` Will Deacon
2013-12-10 16:03 ` [PATCH v6 3/7] arm64: move encode_insn_immediate() from module.c to insn.c Jiang Liu
2013-12-10 16:03 ` [PATCH v6 4/7] arm64: introduce aarch64_insn_gen_{nop|branch_imm}() helper functions Jiang Liu
2013-12-13 15:58 ` Will Deacon
2013-12-10 16:03 ` [PATCH v6 5/7] arm64, jump label: detect %c support for ARM64 Jiang Liu
2013-12-10 16:03 ` [PATCH v6 6/7] arm64, jump label: optimize jump label implementation Jiang Liu
2013-12-13 15:41 ` Will Deacon
2013-12-13 15:50 ` Steven Rostedt
2013-12-13 15:52 ` Steven Rostedt
2013-12-15 11:07 ` Jiang Liu
2013-12-13 15:55 ` Will Deacon
2013-12-15 11:07 ` Jiang Liu
2013-12-10 16:03 ` [PATCH v6 7/7] jump_label: use defined macros instead of hard-coding for better readability Jiang Liu
2013-12-13 16:00 ` Will Deacon [this message]
2013-12-13 16:11 ` Steven Rostedt
2013-12-13 16:20 ` Steven Rostedt
2013-12-15 11:10 ` Jiang Liu
2013-12-18 15:55 ` Jason Baron
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=20131213160041.GK19177@mudshark.cambridge.arm.com \
--to=will.deacon@arm.com \
--cc=Catalin.Marinas@arm.com \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=drjones@redhat.com \
--cc=hannes@stressinduktion.org \
--cc=konrad.wilk@oracle.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuj97@gmail.com \
--cc=rostedt@goodmis.org \
--cc=sandeepa.prabhu@linaro.org \
--cc=takahiro.akashi@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®