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:
Peter Wemm 2002-01-05 09:38:47 +00:00
parent ab8061d84c
commit d5c6775903

View File

@ -147,8 +147,8 @@ forward_roundrobin(void)
map = 0;
SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
td = pc->pc_curthread;
id = pc->pc_cpuid;
if (id != PCPU_GET(cpuid) && (id & stopped_cpus) == 0 &&
id = pc->pc_cpumask;
if (id != PCPU_GET(cpumask) && (id & stopped_cpus) == 0 &&
td != pc->pc_idlethread) {
td->td_kse->ke_flags |= KEF_NEEDRESCHED;
map |= id;