|
|
Subscribe / Log in / New account

Type aware module allocator

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


Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds