From: Ard Biesheuvel <ard.biesheuvel@linaro.org> To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, x86@kernel.org Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Arnd Bergmann <arnd@arndb.de>, Steven Rostedt <rostedt@goodmis.org>, Peter Zijlstra <peterz@infradead.org> Subject: [PATCH 0/5] add support for relative references in jump tables Date: Wed, 27 Jun 2018 18:05:59 +0200 [thread overview] Message-ID: <20180627160604.8154-1-ard.biesheuvel@linaro.org> (raw) This series implements support for emitting the data structures associated with jump tables as 32-bit relative references instead of absolute references, which take up more space on builds that target 64-bit architectures, or implement self relocation [or both]. This series enables it for arm64 and x86, although other architectures might benefit as well. Patch #1 does some preparatory refactoring before patch #2 introduces the generic pieces required for using relative references. Patch #3 wires everything up for arm64. For x86, patch #4 applies some preparatory changes for the arch specific jump label C code, which is a lot more involved than on arm64, which is why it is split off in this case. Patch #5 wires it up for x86 as well. Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Peter Zijlstra <peterz@infradead.org> Ard Biesheuvel (5): kernel/jump_label: abstract jump_entry member accessors kernel/jump_label: implement generic support for relative references arm64/kernel: jump_label: switch to relative references x86: jump_label: switch to jump_entry accessors x86/kernel: jump_table: use relative references arch/Kconfig | 3 + arch/arm64/Kconfig | 1 + arch/arm64/include/asm/jump_label.h | 16 ++--- arch/arm64/kernel/jump_label.c | 6 +- arch/x86/Kconfig | 1 + arch/x86/include/asm/jump_label.h | 28 +++------ arch/x86/kernel/jump_label.c | 43 +++++++------ include/linux/jump_label.h | 64 ++++++++++++++++++++ kernel/jump_label.c | 56 ++++++++++------- tools/objtool/special.c | 4 +- 10 files changed, 145 insertions(+), 77 deletions(-) -- 2.11.0
WARNING: multiple messages have this Message-ID (diff)
From: ard.biesheuvel@linaro.org (Ard Biesheuvel) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 0/5] add support for relative references in jump tables Date: Wed, 27 Jun 2018 18:05:59 +0200 [thread overview] Message-ID: <20180627160604.8154-1-ard.biesheuvel@linaro.org> (raw) This series implements support for emitting the data structures associated with jump tables as 32-bit relative references instead of absolute references, which take up more space on builds that target 64-bit architectures, or implement self relocation [or both]. This series enables it for arm64 and x86, although other architectures might benefit as well. Patch #1 does some preparatory refactoring before patch #2 introduces the generic pieces required for using relative references. Patch #3 wires everything up for arm64. For x86, patch #4 applies some preparatory changes for the arch specific jump label C code, which is a lot more involved than on arm64, which is why it is split off in this case. Patch #5 wires it up for x86 as well. Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Peter Zijlstra <peterz@infradead.org> Ard Biesheuvel (5): kernel/jump_label: abstract jump_entry member accessors kernel/jump_label: implement generic support for relative references arm64/kernel: jump_label: switch to relative references x86: jump_label: switch to jump_entry accessors x86/kernel: jump_table: use relative references arch/Kconfig | 3 + arch/arm64/Kconfig | 1 + arch/arm64/include/asm/jump_label.h | 16 ++--- arch/arm64/kernel/jump_label.c | 6 +- arch/x86/Kconfig | 1 + arch/x86/include/asm/jump_label.h | 28 +++------ arch/x86/kernel/jump_label.c | 43 +++++++------ include/linux/jump_label.h | 64 ++++++++++++++++++++ kernel/jump_label.c | 56 ++++++++++------- tools/objtool/special.c | 4 +- 10 files changed, 145 insertions(+), 77 deletions(-) -- 2.11.0
next reply other threads:[~2018-06-27 16:06 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-06-27 16:05 Ard Biesheuvel [this message] 2018-06-27 16:05 ` [PATCH 0/5] add support for relative references in jump tables Ard Biesheuvel 2018-06-27 16:06 ` [PATCH 1/5] kernel/jump_label: abstract jump_entry member accessors Ard Biesheuvel 2018-06-27 16:06 ` Ard Biesheuvel 2018-06-28 8:40 ` Peter Zijlstra 2018-06-28 8:40 ` Peter Zijlstra 2018-06-27 16:06 ` [PATCH 2/5] kernel/jump_label: implement generic support for relative references Ard Biesheuvel 2018-06-27 16:06 ` Ard Biesheuvel 2018-06-28 8:50 ` Peter Zijlstra 2018-06-28 8:50 ` Peter Zijlstra 2018-06-28 9:02 ` Ard Biesheuvel 2018-06-28 9:02 ` Ard Biesheuvel 2018-06-28 9:04 ` Ard Biesheuvel 2018-06-28 9:04 ` Ard Biesheuvel 2018-06-28 9:25 ` Peter Zijlstra 2018-06-28 9:25 ` Peter Zijlstra 2018-06-28 9:29 ` Ard Biesheuvel 2018-06-28 9:29 ` Ard Biesheuvel 2018-06-28 9:37 ` Peter Zijlstra 2018-06-28 9:37 ` Peter Zijlstra 2018-06-27 16:06 ` [PATCH 3/5] arm64/kernel: jump_label: switch to " Ard Biesheuvel 2018-06-27 16:06 ` Ard Biesheuvel 2018-06-28 9:17 ` Will Deacon 2018-06-28 9:17 ` Will Deacon 2018-06-27 16:06 ` [PATCH 4/5] x86: jump_label: switch to jump_entry accessors Ard Biesheuvel 2018-06-27 16:06 ` Ard Biesheuvel 2018-06-28 9:11 ` Peter Zijlstra 2018-06-28 9:11 ` Peter Zijlstra 2018-06-28 9:14 ` Ard Biesheuvel 2018-06-28 9:14 ` Ard Biesheuvel 2018-06-27 16:06 ` [PATCH 5/5] x86/kernel: jump_table: use relative references Ard Biesheuvel 2018-06-27 16:06 ` Ard Biesheuvel 2018-06-28 8:31 ` Peter Zijlstra 2018-06-28 8:31 ` Peter Zijlstra 2018-06-28 8:34 ` Ard Biesheuvel 2018-06-28 8:34 ` Ard Biesheuvel 2018-06-28 9:28 ` Peter Zijlstra 2018-06-28 9:28 ` Peter Zijlstra 2018-07-02 5:14 ` [lkp-robot] [x86/kernel] b1ff47aace: WARNING:at_kernel/jump_label.c:#__jump_label_update kernel test robot 2018-07-02 5:14 ` kernel test robot
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=20180627160604.8154-1-ard.biesheuvel@linaro.org \ --to=ard.biesheuvel@linaro.org \ --cc=arnd@arndb.de \ --cc=catalin.marinas@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@redhat.com \ --cc=peterz@infradead.org \ --cc=rostedt@goodmis.org \ --cc=tglx@linutronix.de \ --cc=will.deacon@arm.com \ --cc=x86@kernel.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: linkBe 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.