diff --git a/sys/amd64/amd64/local_apic.c b/sys/amd64/amd64/local_apic.c index 740600392a2..3fb31b509b7 100644 --- a/sys/amd64/amd64/local_apic.c +++ b/sys/amd64/amd64/local_apic.c @@ -620,6 +620,10 @@ lapic_handle_timer(struct trapframe frame) * * No locking is necessary here, since even if we loose the race * when hlt_cpus_mask changes it is not a big deal, really. + * + * Don't do that for ULE, since ULE doesn't consider hlt_cpus_mask + * and unlike other schedulers it actually schedules threads to + * those CPUs. */ if ((hlt_cpus_mask & (1 << PCPU_GET(cpuid))) != 0) return; diff --git a/sys/i386/i386/local_apic.c b/sys/i386/i386/local_apic.c index 0b8d18c2df4..8c9b0858d4d 100644 --- a/sys/i386/i386/local_apic.c +++ b/sys/i386/i386/local_apic.c @@ -622,6 +622,10 @@ lapic_handle_timer(struct trapframe frame) * * No locking is necessary here, since even if we loose the race * when hlt_cpus_mask changes it is not a big deal, really. + * + * Don't do that for ULE, since ULE doesn't consider hlt_cpus_mask + * and unlike other schedulers it actually schedules threads to + * those CPUs. */ if ((hlt_cpus_mask & (1 << PCPU_GET(cpuid))) != 0) return;