Fix forward_roundrobin(). It was mistakenly using the cpu number as
though it was a mask. As a result, we sent AST IPI's to the wrong cpu and/or left out some. Spotted by: jake
This commit is contained in:
parent
ab8061d84c
commit
d5c6775903
@ -147,8 +147,8 @@ forward_roundrobin(void)
|
|||||||
map = 0;
|
map = 0;
|
||||||
SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
|
SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
|
||||||
td = pc->pc_curthread;
|
td = pc->pc_curthread;
|
||||||
id = pc->pc_cpuid;
|
id = pc->pc_cpumask;
|
||||||
if (id != PCPU_GET(cpuid) && (id & stopped_cpus) == 0 &&
|
if (id != PCPU_GET(cpumask) && (id & stopped_cpus) == 0 &&
|
||||||
td != pc->pc_idlethread) {
|
td != pc->pc_idlethread) {
|
||||||
td->td_kse->ke_flags |= KEF_NEEDRESCHED;
|
td->td_kse->ke_flags |= KEF_NEEDRESCHED;
|
||||||
map |= id;
|
map |= id;
|
||||||
|
Loading…
Reference in New Issue
Block a user