Add early-boot-safety check to cond_resched()
Just to be safe, we should not trigger a conditional reschedule during the early boot sequence. We've historically done some questionable early on, and the safety warnings in __might_sleep() are generally turned off during that period, so there might be problems lurking. This affects CONFIG_PREEMPT_VOLUNTARY, which takes over might_sleep() to cause a voluntary conditional reschedule. Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
91c0bce29e
Коммит
8ba7b0a14b
|
@ -4028,6 +4028,8 @@ static inline void __cond_resched(void)
|
|||
*/
|
||||
if (unlikely(preempt_count()))
|
||||
return;
|
||||
if (unlikely(system_state != SYSTEM_RUNNING))
|
||||
return;
|
||||
do {
|
||||
add_preempt_count(PREEMPT_ACTIVE);
|
||||
schedule();
|
||||
|
|
Загрузка…
Ссылка в новой задаче