From: Ard Biesheuvel <[email protected]> Reorder enum mod_mem_type so that MOD_TEXT appears right before MOD_INIT_TEXT. This will result in MOD_INIT_TEXT being allocated right after MOD_TEXT when the allocation logic iterates over the memory types in enum declaration order.
In a subsequent patch, this will be taken advantage of, by allocating .text and .init.text together, and freeing .init.text by truncating the allocation. Doing so without this reordering would likely result in more fragmentation, as the truncated .text allocation would be followed by .rodata and .data/.bss of the same module. Signed-off-by: Ard Biesheuvel <[email protected]> --- include/linux/module.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/module.h b/include/linux/module.h index 7566815fabbe..0336a46733dd 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -316,10 +316,10 @@ struct mod_tree_node { }; enum mod_mem_type { - MOD_TEXT = 0, - MOD_DATA, + MOD_DATA = 0, MOD_RODATA, MOD_RO_AFTER_INIT, + MOD_TEXT, MOD_INIT_TEXT, MOD_INIT_DATA, MOD_INIT_RODATA, -- 2.55.0.860.g4b6b3295ed-goog
