Re: [PATCH] mm/compaction: don't use modular references for non modular code

From: Vlastimil Babka
Date: Wed Mar 02 2016 - 04:23:01 EST


On 02/13/2016 11:47 PM, Paul Gortmaker wrote:
replace module_init with subsys_initcall ; which will be two
levels earlier, but mm smells like a subsystem to me.

I admit I don't know the exact differences here, but it makes sense as it's not a module.
I just copied this code from kswapd, which also uses module_init(). Should it be also converted?

Compile tested only.

Cc: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
---

[Feel free to squash this into the original, if desired.]

mm/compaction.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/mm/compaction.c b/mm/compaction.c
index 4cb1c2ef5abb..4d99e1f5055c 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -20,7 +20,6 @@
#include <linux/kasan.h>
#include <linux/kthread.h>
#include <linux/freezer.h>
-#include <linux/module.h>
#include "internal.h"

#ifdef CONFIG_COMPACTION
@@ -1954,7 +1953,6 @@ static int __init kcompactd_init(void)
hotcpu_notifier(cpu_callback, 0);
return 0;
}
-
-module_init(kcompactd_init)
+subsys_initcall(kcompactd_init)

#endif /* CONFIG_COMPACTION */