|
@@ -859,6 +859,8 @@ static __init bool get_rdt_resources(void)
|
|
|
return (rdt_mon_capable || rdt_alloc_capable);
|
|
|
}
|
|
|
|
|
|
+static enum cpuhp_state rdt_online;
|
|
|
+
|
|
|
static int __init intel_rdt_late_init(void)
|
|
|
{
|
|
|
struct rdt_resource *r;
|
|
@@ -880,6 +882,7 @@ static int __init intel_rdt_late_init(void)
|
|
|
cpuhp_remove_state(state);
|
|
|
return ret;
|
|
|
}
|
|
|
+ rdt_online = state;
|
|
|
|
|
|
for_each_alloc_capable_rdt_resource(r)
|
|
|
pr_info("Intel RDT %s allocation detected\n", r->name);
|
|
@@ -891,3 +894,11 @@ static int __init intel_rdt_late_init(void)
|
|
|
}
|
|
|
|
|
|
late_initcall(intel_rdt_late_init);
|
|
|
+
|
|
|
+static void __exit intel_rdt_exit(void)
|
|
|
+{
|
|
|
+ cpuhp_remove_state(rdt_online);
|
|
|
+ rdtgroup_exit();
|
|
|
+}
|
|
|
+
|
|
|
+__exitcall(intel_rdt_exit);
|