[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240327160520.791322-1-samuel.holland@sifive.com>
Date: Wed, 27 Mar 2024 09:04:39 -0700
From: Samuel Holland <samuel.holland@...ive.com>
To: Palmer Dabbelt <palmer@...belt.com>
Cc: Björn Töpel <bjorn@...osinc.com>,
linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org,
Samuel Holland <samuel.holland@...ive.com>,
Ard Biesheuvel <ardb@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Jason Baron <jbaron@...mai.com>,
Josh Poimboeuf <jpoimboe@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
bpf@...r.kernel.org
Subject: [PATCH v2 0/7] riscv: Various text patching improvements
Here are a few changes to minimize calls to stop_machine() and
flush_icache_*() in the various text patching functions, as well as
to simplify the code.
This series is based on "[PATCH v3 0/2] riscv: fix patching with IPI"[1].
[1]: https://lore.kernel.org/linux-riscv/20240229121056.203419-1-alexghiti@rivosinc.com/
Changes in v2:
- Remove unnecessary line wrapping
- Further simplify patch_insn_set()/patch_insn_write() loop conditions
- Use min() instead of min_t() since both sides are unsigned long
Samuel Holland (7):
riscv: jump_label: Batch icache maintenance
riscv: jump_label: Simplify assembly syntax
riscv: kprobes: Use patch_text_nosync() for insn slots
riscv: Simplify text patching loops
riscv: Pass patch_text() the length in bytes
riscv: Use offset_in_page() in text patching functions
riscv: Remove extra variable in patch_text_nosync()
arch/riscv/include/asm/jump_label.h | 4 +-
arch/riscv/include/asm/patch.h | 2 +-
arch/riscv/kernel/jump_label.c | 16 +++++--
arch/riscv/kernel/patch.c | 69 ++++++++++++++---------------
arch/riscv/kernel/probes/kprobes.c | 19 ++++----
arch/riscv/net/bpf_jit_comp64.c | 7 +--
6 files changed, 63 insertions(+), 54 deletions(-)
--
2.43.1
Powered by blists - more mailing lists