Image

Imagesimbab wrote in Imagelinux 🤔curious Liverpool, NY

Listens: Carpenters – You

enabling hyperthreading?

Okay, so I'm looking over my system specifications and I notice something interesting:


Handle 0x0004, DMI type 4, 32 bytes
Processor Information
        Socket Designation: Socket 478
        Type: Central Processor
        Family: Celeron
        Manufacturer: Intel
        ID: 29 0F 00 00 FF FB EB BF
        Signature: Type 0, Family 15, Model 2, Stepping 9
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (Fast floating-point save and restore)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Hyper-threading technology)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel Celeron(R)
        Voltage: 1.4 V
        External Clock: 100 MHz
        Max Speed: 1500 MHz
        Current Speed: 2000 MHz
        Status: Populated, Enabled
        Upgrade: ZIF Socket
        L1 Cache Handle: 0x0009
        L2 Cache Handle: 0x000B
        L3 Cache Handle: No L3 Cache

Handle 0x0005, DMI type 4, 32 bytes
Processor Information
        Socket Designation: Socket 478
        Type: Central Processor
        Family: Unknown
        Manufacturer: Unknown
        ID: 00 00 00 00 00 00 00 00
        Version: Intel Celeron(R)
        Voltage: 1.4 V
        External Clock: 100 MHz
        Max Speed: 1500 MHz
        Current Speed: 2000 MHz
        Status: Populated, Disabled By User
        Upgrade: ZIF Socket
        L1 Cache Handle: 0x000A
        L2 Cache Handle: 0x000C
        L3 Cache Handle: No L3 Cache


It would appear this CPU supports hyper-threading. But:

CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 128K
CPU: Hyper-Threading is disabled
CPU: After all inits, caps: bfebfbff 00000000 00000000 0000b080 00004400 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
CPU0: Thermal monitoring enabled
Compat vDSO mapped to ffffe000.
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
Freeing SMP alternatives: 11k freed
ACPI: Core revision 20070126
CPU0: Intel(R) Celeron(R) CPU 2.00GHz stepping 09
Total of 1 processors activated (4042.00 BogoMIPS).


There are no options or mention of HT either in the BIOS or the 'dmidecode' output. There is also no mention of BIOS or chipset bugs that forced Linux to disable it. Does anyone know how to force-enable HT or does my chipset just not support it, or perhaps I'm just imagining things here? My chipset is a VIA PM800/8237, and the OS is Debian etch with backports.org kernel 2.6.22.