Allow scheduling during early boot.
- Send IPI wakeups once SMP is started even if cold is true. - Permit preemptions when cold is true. These changes are needed for EARLY_AP_STARTUP. MFC after: 2 weeks Sponsored by: Netflix
This commit is contained in:
parent
a6b91f0f45
commit
892f0ab0ab
@ -326,7 +326,6 @@ maybe_preempt(struct thread *td)
|
||||
* - The current thread has a higher (numerically lower) or
|
||||
* equivalent priority. Note that this prevents curthread from
|
||||
* trying to preempt to itself.
|
||||
* - It is too early in the boot for context switches (cold is set).
|
||||
* - The current thread has an inhibitor set or is in the process of
|
||||
* exiting. In this case, the current thread is about to switch
|
||||
* out anyways, so there's no point in preempting. If we did,
|
||||
@ -347,7 +346,7 @@ maybe_preempt(struct thread *td)
|
||||
("maybe_preempt: trying to run inhibited thread"));
|
||||
pri = td->td_priority;
|
||||
cpri = ctd->td_priority;
|
||||
if (panicstr != NULL || pri >= cpri || cold /* || dumping */ ||
|
||||
if (panicstr != NULL || pri >= cpri /* || dumping */ ||
|
||||
TD_IS_INHIBITED(ctd))
|
||||
return (0);
|
||||
#ifndef FULL_PREEMPTION
|
||||
@ -1105,7 +1104,7 @@ forward_wakeup(int cpunum)
|
||||
if ((!forward_wakeup_enabled) ||
|
||||
(forward_wakeup_use_mask == 0 && forward_wakeup_use_loop == 0))
|
||||
return (0);
|
||||
if (!smp_started || cold || panicstr)
|
||||
if (!smp_started || panicstr)
|
||||
return (0);
|
||||
|
||||
forward_wakeups_requested++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user