|
|
@@ -1364,9 +1364,7 @@ static void rmdir_all_sub(void)
|
|
|
kfree(rdtgrp);
|
|
|
}
|
|
|
/* Notify online CPUs to update per cpu storage and PQR_ASSOC MSR */
|
|
|
- get_online_cpus();
|
|
|
update_closid_rmid(cpu_online_mask, &rdtgroup_default);
|
|
|
- put_online_cpus();
|
|
|
|
|
|
kernfs_remove(kn_info);
|
|
|
kernfs_remove(kn_mongrp);
|
|
|
@@ -1377,6 +1375,7 @@ static void rdt_kill_sb(struct super_block *sb)
|
|
|
{
|
|
|
struct rdt_resource *r;
|
|
|
|
|
|
+ cpus_read_lock();
|
|
|
mutex_lock(&rdtgroup_mutex);
|
|
|
|
|
|
/*Put everything back to default values. */
|
|
|
@@ -1384,11 +1383,12 @@ static void rdt_kill_sb(struct super_block *sb)
|
|
|
reset_all_ctrls(r);
|
|
|
cdp_disable();
|
|
|
rmdir_all_sub();
|
|
|
- static_branch_disable(&rdt_alloc_enable_key);
|
|
|
- static_branch_disable(&rdt_mon_enable_key);
|
|
|
- static_branch_disable(&rdt_enable_key);
|
|
|
+ static_branch_disable_cpuslocked(&rdt_alloc_enable_key);
|
|
|
+ static_branch_disable_cpuslocked(&rdt_mon_enable_key);
|
|
|
+ static_branch_disable_cpuslocked(&rdt_enable_key);
|
|
|
kernfs_kill_sb(sb);
|
|
|
mutex_unlock(&rdtgroup_mutex);
|
|
|
+ cpus_read_unlock();
|
|
|
}
|
|
|
|
|
|
static struct file_system_type rdt_fs_type = {
|