| From: |
| Song Liu <song-AT-kernel.org> |
| To: |
| <linux-kernel-AT-vger.kernel.org> |
| Subject: |
| [PATCH 0/3] Type aware module allocator |
| Date: |
| Thu, 25 May 2023 22:15:26 -0700 |
| Message-ID: |
| <20230526051529.3387103-1-song@kernel.org> |
| Cc: |
| <bpf-AT-vger.kernel.org>, <mcgrof-AT-kernel.org>, <peterz-AT-infradead.org>, <tglx-AT-linutronix.de>, <x86-AT-kernel.org>, <rppt-AT-kernel.org>, <kent.overstreet-AT-linux.dev>, Song Liu <song-AT-kernel.org> |
| Archive-link: |
| Article |
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...
[2] https://lore.kernel.org/all/20230308094106.227365-1-rppt@...
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