On Thu, May 25, 2023 at 10:15:26PM -0700, Song Liu wrote: > 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. I'm afraid the more I look at this patchset the more it appears to be complete nonsense. The exposed interface appears to be both for specifying architecture dependent options (which should be hidden inside the allocator internals!) _and_ a general purpose interface for module/bpf/kprobes - but it's not very clear, and the rational appears to be completely missing. I think this needs to back to the drawing board and we need something simpler just targeted at executable memory; architecture specific options should definitely _not_ be part of the exposed interface. The memory protection interface also needs to go, we've got a better interface to model after (text_poke(), although that code needs work too!). And the instruction fill features need a thorough justification if they're to be included.