diff --git a/sys/dev/hwt/hwt_ioctl.c b/sys/dev/hwt/hwt_ioctl.c --- a/sys/dev/hwt/hwt_ioctl.c +++ b/sys/dev/hwt/hwt_ioctl.c @@ -304,11 +304,6 @@ return (error); CPU_FOREACH_ISSET(cpu_id, &cpu_map) { -#ifdef SMP - /* Ensure CPU is not halted. */ - if (CPU_ISSET(cpu_id, &hlt_cpus_mask)) - return (ENXIO); -#endif #if 0 /* TODO: Check if the owner have this cpu configured already. */ ctx = hwt_owner_lookup_ctx_by_cpu(ho, halloc->cpu); diff --git a/sys/dev/hwt/hwt_vm.c b/sys/dev/hwt/hwt_vm.c --- a/sys/dev/hwt/hwt_vm.c +++ b/sys/dev/hwt/hwt_vm.c @@ -209,12 +209,6 @@ CPU_ZERO(&enable_cpus); CPU_FOREACH_ISSET(cpu_id, &ctx->cpu_map) { -#ifdef SMP - /* Ensure CPU is not halted. */ - if (CPU_ISSET(cpu_id, &hlt_cpus_mask)) - continue; -#endif - hwt_backend_configure(ctx, cpu_id, cpu_id); CPU_SET(cpu_id, &enable_cpus); diff --git a/sys/kern/kern_pmc.c b/sys/kern/kern_pmc.c --- a/sys/kern/kern_pmc.c +++ b/sys/kern/kern_pmc.c @@ -152,8 +152,7 @@ pmc_cpu_is_active(int cpu) { #ifdef SMP - return (pmc_cpu_is_present(cpu) && - !CPU_ISSET(cpu, &hlt_cpus_mask)); + return (pmc_cpu_is_present(cpu)); #else return (1); #endif diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -1187,7 +1187,6 @@ CPU_SETOF(me, &dontuse); CPU_OR(&dontuse, &dontuse, &stopped_cpus); - CPU_OR(&dontuse, &dontuse, &hlt_cpus_mask); CPU_ZERO(&map2); if (forward_wakeup_use_loop) { STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { @@ -1389,7 +1388,6 @@ } else { if (!single_cpu) { tidlemsk = idle_cpus_mask; - CPU_ANDNOT(&tidlemsk, &tidlemsk, &hlt_cpus_mask); CPU_CLR(cpuid, &tidlemsk); if (!CPU_ISSET(cpuid, &idle_cpus_mask) && @@ -1827,22 +1825,7 @@ static bool sched_4bsd_do_timer_accounting(void) { -#ifdef SMP - /* - * Don't do any accounting for the disabled HTT cores, since it - * will provide misleading numbers for the userland. - * - * No locking is necessary here, since even if we lose 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. - */ - return (!CPU_ISSET(PCPU_GET(cpuid), &hlt_cpus_mask)); -#else return (true); -#endif } static int diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -90,7 +90,6 @@ volatile cpuset_t stopped_cpus; volatile cpuset_t started_cpus; volatile cpuset_t suspended_cpus; -cpuset_t hlt_cpus_mask; cpuset_t logical_cpus_mask; void (*cpustop_restartfunc)(void); diff --git a/sys/sys/smp.h b/sys/sys/smp.h --- a/sys/sys/smp.h +++ b/sys/sys/smp.h @@ -161,7 +161,6 @@ extern volatile cpuset_t stopped_cpus; /* cpus in stop pen */ extern volatile cpuset_t suspended_cpus; /* cpus [near] sleeping in susp pen */ extern volatile cpuset_t toresume_cpus; /* cpus to let out of suspend pen */ -extern cpuset_t hlt_cpus_mask; /* XXX 'mask' is detail in old impl */ extern cpuset_t logical_cpus_mask; #endif /* SMP */