[PATCH 0/3] Type aware module allocator
From: Song Liu
Date: Fri May 26 2023 - 01:16:26 EST
This set implements the second part of module type aware allocator
(module_alloc_type), which was discussed in [1]. This part contains the
interface of the new allocator, as well as changes in x86 code to use the
new allocator (modules, BPF, ftrace, kprobe).
The set does not contain a binpack allocator to enable sharing huge pages
among different allocations. But this set defines the interface used by
the binpack allocator. [2] has some discussion on different options of the
binpack allocator.
[1] https://lore.kernel.org/linux-mm/20221107223921.3451913-1-song@xxxxxxxxxx/
[2] https://lore.kernel.org/all/20230308094106.227365-1-rppt@xxxxxxxxxx/
Song Liu (3):
module: Introduce module_alloc_type
ftrace: Add swap_func to ftrace_process_locs()
x86/module: Use module_alloc_type
arch/x86/kernel/alternative.c | 37 ++++--
arch/x86/kernel/ftrace.c | 44 ++++---
arch/x86/kernel/kprobes/core.c | 8 +-
arch/x86/kernel/module.c | 114 +++++++++++------
arch/x86/kernel/unwind_orc.c | 13 +-
arch/x86/net/bpf_jit_comp.c | 22 +++-
include/linux/ftrace.h | 2 +
include/linux/module.h | 6 +
include/linux/moduleloader.h | 75 ++++++++++++
init/main.c | 1 +
kernel/bpf/bpf_struct_ops.c | 10 +-
kernel/bpf/core.c | 26 ++--
kernel/bpf/trampoline.c | 6 +-
kernel/kprobes.c | 6 +-
kernel/module/internal.h | 3 +
kernel/module/main.c | 217 +++++++++++++++++++++++++++++++--
kernel/module/strict_rwx.c | 4 +
kernel/trace/ftrace.c | 13 +-
18 files changed, 493 insertions(+), 114 deletions(-)
--
2.34.1