diff options
Diffstat (limited to 'kernel/sched/debug.c')
| -rw-r--r-- | kernel/sched/debug.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 60caf1fb94e0..6383aa6a60ca 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c | |||
| @@ -89,12 +89,12 @@ struct static_key sched_feat_keys[__SCHED_FEAT_NR] = { | |||
| 89 | 89 | ||
| 90 | static void sched_feat_disable(int i) | 90 | static void sched_feat_disable(int i) |
| 91 | { | 91 | { |
| 92 | static_key_disable(&sched_feat_keys[i]); | 92 | static_key_disable_cpuslocked(&sched_feat_keys[i]); |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | static void sched_feat_enable(int i) | 95 | static void sched_feat_enable(int i) |
| 96 | { | 96 | { |
| 97 | static_key_enable(&sched_feat_keys[i]); | 97 | static_key_enable_cpuslocked(&sched_feat_keys[i]); |
| 98 | } | 98 | } |
| 99 | #else | 99 | #else |
| 100 | static void sched_feat_disable(int i) { }; | 100 | static void sched_feat_disable(int i) { }; |
| @@ -146,9 +146,11 @@ sched_feat_write(struct file *filp, const char __user *ubuf, | |||
| 146 | 146 | ||
| 147 | /* Ensure the static_key remains in a consistent state */ | 147 | /* Ensure the static_key remains in a consistent state */ |
| 148 | inode = file_inode(filp); | 148 | inode = file_inode(filp); |
| 149 | cpus_read_lock(); | ||
| 149 | inode_lock(inode); | 150 | inode_lock(inode); |
| 150 | ret = sched_feat_set(cmp); | 151 | ret = sched_feat_set(cmp); |
| 151 | inode_unlock(inode); | 152 | inode_unlock(inode); |
| 153 | cpus_read_unlock(); | ||
| 152 | if (ret < 0) | 154 | if (ret < 0) |
| 153 | return ret; | 155 | return ret; |
| 154 | 156 | ||
