diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-06 17:31:50 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-06 17:31:50 -0400 |
commit | e00d4135751bfe786a9e26b5560b185ce3f9f963 (patch) | |
tree | 6945bd6749aab501000f7084e020aa201971e1ff /include/linux/cpu.h | |
parent | 90489a72fba9529c85e051067ecb41183b8e982e (diff) | |
parent | 08ae95f4fd3b38b257f5dc7e6507e071c27ba0d5 (diff) |
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar:
"The main changes in this cycle were:
- Make nohz housekeeping processing more permissive and less
intrusive to isolated CPUs
- Decouple CPU-bound workqueue acconting from the scheduler and move
it into the workqueue code.
- Optimize topology building
- Better handle quota and period overflows
- Add more RCU annotations
- Comment updates, misc cleanups"
* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
nohz_full: Allow the boot CPU to be nohz_full
sched/isolation: Require a present CPU in housekeeping mask
kernel/cpu: Allow non-zero CPU to be primary for suspend / kexec freeze
power/suspend: Add function to disable secondaries for suspend
sched/core: Allow the remote scheduler tick to be started on CPU0
sched/nohz: Run NOHZ idle load balancer on HK_FLAG_MISC CPUs
sched/debug: Fix spelling mistake "logaritmic" -> "logarithmic"
sched/topology: Update init_sched_domains() comment
cgroup/cpuset: Update stale generate_sched_domains() comments
sched/core: Check quota and period overflow at usec to nsec conversion
sched/core: Handle overflow in cpu_shares_write_u64
sched/rt: Check integer overflow at usec to nsec conversion
sched/core: Fix typo in comment
sched/core: Make some functions static
sched/core: Unify p->on_rq updates
sched/core: Remove ttwu_activate()
sched/core, workqueues: Distangle worker accounting from rq lock
sched/fair: Remove unneeded prototype of capacity_of()
sched/topology: Skip duplicate group rewrites in build_sched_groups()
sched/topology: Fix build_sched_groups() comment
...
Diffstat (limited to 'include/linux/cpu.h')
-rw-r--r-- | include/linux/cpu.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 2d9c6f4b78f5..2d62f01108a0 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h | |||
@@ -137,9 +137,26 @@ static inline int disable_nonboot_cpus(void) | |||
137 | return freeze_secondary_cpus(0); | 137 | return freeze_secondary_cpus(0); |
138 | } | 138 | } |
139 | extern void enable_nonboot_cpus(void); | 139 | extern void enable_nonboot_cpus(void); |
140 | |||
141 | static inline int suspend_disable_secondary_cpus(void) | ||
142 | { | ||
143 | int cpu = 0; | ||
144 | |||
145 | if (IS_ENABLED(CONFIG_PM_SLEEP_SMP_NONZERO_CPU)) | ||
146 | cpu = -1; | ||
147 | |||
148 | return freeze_secondary_cpus(cpu); | ||
149 | } | ||
150 | static inline void suspend_enable_secondary_cpus(void) | ||
151 | { | ||
152 | return enable_nonboot_cpus(); | ||
153 | } | ||
154 | |||
140 | #else /* !CONFIG_PM_SLEEP_SMP */ | 155 | #else /* !CONFIG_PM_SLEEP_SMP */ |
141 | static inline int disable_nonboot_cpus(void) { return 0; } | 156 | static inline int disable_nonboot_cpus(void) { return 0; } |
142 | static inline void enable_nonboot_cpus(void) {} | 157 | static inline void enable_nonboot_cpus(void) {} |
158 | static inline int suspend_disable_secondary_cpus(void) { return 0; } | ||
159 | static inline void suspend_enable_secondary_cpus(void) { } | ||
143 | #endif /* !CONFIG_PM_SLEEP_SMP */ | 160 | #endif /* !CONFIG_PM_SLEEP_SMP */ |
144 | 161 | ||
145 | void cpu_startup_entry(enum cpuhp_state state); | 162 | void cpu_startup_entry(enum cpuhp_state state); |