The kernel is an increasingly dynamic body of code, where new executable
text can show up at any time. Currently, the task of allocating memory for
new kernel code falls on the subsystem that first brought the ability to
load code into a running kernel: the module loader. This patch
set from Mike Rapoport looks to move the responsibility for these
allocations to a new “JIT allocator”, addressing a number of rough edges in
the process.
Source: LWN.net – [$] Yet another memory allocator for executable code