# Hyperthreading with Kernel 2.6.12-r*

## Montana

I recently upgraded my kernel from version 2.6.11-r* to 2.6.12-r*. With none of the 2.6.12 version hyperthreading ever worked. Switching back to a 2.6.11 version hyperthreading works fine for my P4. The kernel config is about the same. Does anybody have a clue what changed around the processor config from 2.6.11 to 2.6.12 in terms of hyperthreading.

Thanks

Montana

----------

## noup

i just used "make oldconfig" when switching from the 2.6.11 to the 2.6.12 series and got no problems with HT. what makes you believe HT is not working?

----------

## Montana

Two reasons, during bootup I see only one penguin and the cpuinfo shows also only one processor.  :Confused: 

Montana

----------

## noup

 *Montana wrote:*   

> Two reasons, during bootup I see only one penguin and the cpuinfo shows also only one processor. 
> 
> Montana

 

What do you have under Processor types and features? Also, does dmesg show anything related to this?

I won't be in my HT-enabled computer in the near future, so i can't really test things in it, but i'm trying with what i remember.

----------

## s0be

HT works fine here in 2.6.12-r3-6.  2.6.12-r4,5,6 had lockups for me so I'm back at r3.

----------

## Montana

s0be,

do you mind posting your kernel configuration?

Thnaks

Montana

----------

## annihilation

I have the exact same problem going back to 2.6.11-r* works fine, but 2.6.12-r* doesnt  :Sad:  tried all sorts of configs and even an old config.

----------

## GothicKnight

My HT works fine with the r4 and the r6 releases of 2.6.12. Post your dmesg and .config for mor info!

----------

## annihilation

I have been through it witha  fine tooth comb and it is no different between the 2.6.11 kernel config, the cpu parts that is, dmesg complains the number of cpus using the cache dont match the number found.

I will post the .config in a bit.

----------

## annihilation

here is the .config for 2.6.12-r4:

#

# Automatically generated make config: don't edit

# Linux kernel version: 2.6.12-gentoo-r4

# Wed Jul 20 20:13:29 2005

#

CONFIG_X86_64=y

CONFIG_64BIT=y

CONFIG_X86=y

CONFIG_MMU=y

CONFIG_RWSEM_GENERIC_SPINLOCK=y

CONFIG_GENERIC_CALIBRATE_DELAY=y

CONFIG_X86_CMPXCHG=y

CONFIG_EARLY_PRINTK=y

CONFIG_GENERIC_ISA_DMA=y

CONFIG_GENERIC_IOMAP=y

#

# Code maturity level options

#

CONFIG_EXPERIMENTAL=y

CONFIG_CLEAN_COMPILE=y

CONFIG_LOCK_KERNEL=y

CONFIG_INIT_ENV_ARG_LIMIT=32

#

# General setup

#

CONFIG_LOCALVERSION=""

CONFIG_SWAP=y

CONFIG_SYSVIPC=y

CONFIG_POSIX_MQUEUE=y

# CONFIG_BSD_PROCESS_ACCT is not set

CONFIG_SYSCTL=y

# CONFIG_AUDIT is not set

CONFIG_HOTPLUG=y

CONFIG_KOBJECT_UEVENT=y

CONFIG_IKCONFIG=y

CONFIG_IKCONFIG_PROC=y

# CONFIG_CPUSETS is not set

# CONFIG_EMBEDDED is not set

CONFIG_KALLSYMS=y

# CONFIG_KALLSYMS_EXTRA_PASS is not set

CONFIG_PRINTK=y

CONFIG_BUG=y

CONFIG_BASE_FULL=y

CONFIG_FUTEX=y

CONFIG_EPOLL=y

CONFIG_SHMEM=y

CONFIG_CC_ALIGN_FUNCTIONS=0

CONFIG_CC_ALIGN_LABELS=0

CONFIG_CC_ALIGN_LOOPS=0

CONFIG_CC_ALIGN_JUMPS=0

# CONFIG_TINY_SHMEM is not set

CONFIG_BASE_SMALL=0

#

# Loadable module support

#

# CONFIG_MODULES is not set

#

# Processor type and features

#

# CONFIG_MK8 is not set

CONFIG_MPSC=y

# CONFIG_GENERIC_CPU is not set

CONFIG_X86_L1_CACHE_BYTES=128

CONFIG_X86_L1_CACHE_SHIFT=7

CONFIG_X86_TSC=y

CONFIG_X86_GOOD_APIC=y

CONFIG_MICROCODE=y

CONFIG_X86_MSR=y

CONFIG_X86_CPUID=y

CONFIG_X86_HT=y

CONFIG_X86_IO_APIC=y

CONFIG_X86_LOCAL_APIC=y

CONFIG_MTRR=y

CONFIG_SMP=y

CONFIG_PREEMPT=y

CONFIG_PREEMPT_BKL=y

CONFIG_SCHED_SMT=y

# CONFIG_K8_NUMA is not set

# CONFIG_NUMA_EMU is not set

# CONFIG_NUMA is not set

CONFIG_HAVE_DEC_LOCK=y

CONFIG_NR_CPUS=4

CONFIG_HPET_TIMER=y

CONFIG_HPET_EMULATE_RTC=y

CONFIG_GART_IOMMU=y

CONFIG_SWIOTLB=y

CONFIG_X86_MCE=y

CONFIG_X86_MCE_INTEL=y

CONFIG_SECCOMP=y

CONFIG_GENERIC_HARDIRQS=y

CONFIG_GENERIC_IRQ_PROBE=y

CONFIG_ISA_DMA_API=y

#

# Power management options

#

# CONFIG_PM is not set

#

# ACPI (Advanced Configuration and Power Interface) Support

#

# CONFIG_ACPI is not set

#

#

# CPU Frequency scaling

#

# CONFIG_CPU_FREQ is not set

# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set

# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set

#

# Bus options (PCI etc.)

#

CONFIG_PCI=y

CONFIG_PCI_DIRECT=y

CONFIG_UNORDERED_IO=y

# CONFIG_PCIEPORTBUS is not set

CONFIG_PCI_MSI=y

# CONFIG_PCI_LEGACY_PROC is not set

# CONFIG_PCI_NAMES is not set

#

# PCCARD (PCMCIA/CardBus) support

#

# CONFIG_PCCARD is not set

#

# PCI Hotplug Support

#

# CONFIG_HOTPLUG_PCI is not set

#

# Executable file formats / Emulations

#

CONFIG_BINFMT_ELF=y

CONFIG_BINFMT_MISC=y

CONFIG_IA32_EMULATION=y

CONFIG_IA32_AOUT=y

CONFIG_COMPAT=y

CONFIG_SYSVIPC_COMPAT=y

CONFIG_UID16=y

#

# Device Drivers

#

#

# Generic Driver Options

#

CONFIG_STANDALONE=y

CONFIG_PREVENT_FIRMWARE_BUILD=y

# CONFIG_FW_LOADER is not set

#

# Memory Technology Devices (MTD)

#

# CONFIG_MTD is not set

#

# Parallel port support

#

# CONFIG_PARPORT is not set

#

# Plug and Play support

#

#

# Block devices

#

# CONFIG_BLK_DEV_FD is not set

# CONFIG_BLK_CPQ_DA is not set

# CONFIG_BLK_CPQ_CISS_DA is not set

# CONFIG_BLK_DEV_DAC960 is not set

# CONFIG_BLK_DEV_UMEM is not set

# CONFIG_BLK_DEV_COW_COMMON is not set

# CONFIG_BLK_DEV_LOOP is not set

# CONFIG_BLK_DEV_NBD is not set

# CONFIG_BLK_DEV_SX8 is not set

# CONFIG_BLK_DEV_RAM is not set

CONFIG_BLK_DEV_RAM_COUNT=16

CONFIG_INITRAMFS_SOURCE=""

# CONFIG_LBD is not set

# CONFIG_CDROM_PKTCDVD is not set

#

# IO Schedulers

#

CONFIG_IOSCHED_NOOP=y

# CONFIG_IOSCHED_AS is not set

CONFIG_IOSCHED_DEADLINE=y

CONFIG_IOSCHED_CFQ=y

# CONFIG_ATA_OVER_ETH is not set

#

# ATA/ATAPI/MFM/RLL support

#

# CONFIG_IDE is not set

#

# SCSI device support

#

CONFIG_SCSI=y

# CONFIG_SCSI_PROC_FS is not set

#

# SCSI support type (disk, tape, CD-ROM)

#

CONFIG_BLK_DEV_SD=y

# CONFIG_CHR_DEV_ST is not set

# CONFIG_CHR_DEV_OSST is not set

# CONFIG_BLK_DEV_SR is not set

# CONFIG_CHR_DEV_SG is not set

#

# Some SCSI devices (e.g. CD jukebox) support multiple LUNs

#

# CONFIG_SCSI_MULTI_LUN is not set

# CONFIG_SCSI_CONSTANTS is not set

# CONFIG_SCSI_LOGGING is not set

#

# SCSI Transport Attributes

#

# CONFIG_SCSI_SPI_ATTRS is not set

# CONFIG_SCSI_FC_ATTRS is not set

# CONFIG_SCSI_ISCSI_ATTRS is not set

#

# SCSI low-level drivers

#

# CONFIG_BLK_DEV_3W_XXXX_RAID is not set

# CONFIG_SCSI_3W_9XXX is not set

# CONFIG_SCSI_ACARD is not set

# CONFIG_SCSI_AACRAID is not set

# CONFIG_SCSI_AIC7XXX is not set

# CONFIG_SCSI_AIC7XXX_OLD is not set

# CONFIG_SCSI_AIC79XX is not set

# CONFIG_MEGARAID_NEWGEN is not set

# CONFIG_MEGARAID_LEGACY is not set

CONFIG_SCSI_SATA=y

# CONFIG_SCSI_SATA_AHCI is not set

# CONFIG_SCSI_SATA_SVW is not set

CONFIG_SCSI_ATA_PIIX=y

# CONFIG_SCSI_SATA_NV is not set

# CONFIG_SCSI_SATA_PROMISE is not set

# CONFIG_SCSI_SATA_QSTOR is not set

# CONFIG_SCSI_SATA_SX4 is not set

# CONFIG_SCSI_SATA_SIL is not set

# CONFIG_SCSI_SATA_SIS is not set

# CONFIG_SCSI_SATA_ULI is not set

# CONFIG_SCSI_SATA_VIA is not set

# CONFIG_SCSI_SATA_VITESSE is not set

# CONFIG_SCSI_BUSLOGIC is not set

# CONFIG_SCSI_DMX3191D is not set

# CONFIG_SCSI_EATA is not set

# CONFIG_SCSI_FUTURE_DOMAIN is not set

# CONFIG_SCSI_GDTH is not set

# CONFIG_SCSI_IPS is not set

# CONFIG_SCSI_INITIO is not set

# CONFIG_SCSI_INIA100 is not set

# CONFIG_SCSI_SYM53C8XX_2 is not set

# CONFIG_SCSI_IPR is not set

# CONFIG_SCSI_QLOGIC_FC is not set

# CONFIG_SCSI_QLOGIC_1280 is not set

CONFIG_SCSI_QLA2XXX=y

# CONFIG_SCSI_QLA21XX is not set

# CONFIG_SCSI_QLA22XX is not set

# CONFIG_SCSI_QLA2300 is not set

# CONFIG_SCSI_QLA2322 is not set

# CONFIG_SCSI_QLA6312 is not set

# CONFIG_SCSI_LPFC is not set

# CONFIG_SCSI_DC395x is not set

# CONFIG_SCSI_DC390T is not set

# CONFIG_SCSI_DEBUG is not set

#

# Multi-device support (RAID and LVM)

#

# CONFIG_MD is not set

#

# Fusion MPT device support

#

# CONFIG_FUSION is not set

#

# IEEE 1394 (FireWire) support

#

# CONFIG_IEEE1394 is not set

#

# I2O device support

#

# CONFIG_I2O is not set

#

# Networking support

#

CONFIG_NET=y

#

# Networking options

#

CONFIG_PACKET=y

# CONFIG_PACKET_MMAP is not set

CONFIG_UNIX=y

# CONFIG_NET_KEY is not set

CONFIG_INET=y

CONFIG_IP_MULTICAST=y

# CONFIG_IP_ADVANCED_ROUTER is not set

# CONFIG_IP_PNP is not set

# CONFIG_NET_IPIP is not set

# CONFIG_NET_IPGRE is not set

# CONFIG_IP_MROUTE is not set

# CONFIG_ARPD is not set

# CONFIG_SYN_COOKIES is not set

# CONFIG_INET_AH is not set

# CONFIG_INET_ESP is not set

# CONFIG_INET_IPCOMP is not set

# CONFIG_INET_TUNNEL is not set

CONFIG_IP_TCPDIAG=y

CONFIG_IP_TCPDIAG_IPV6=y

CONFIG_IPV6=y

# CONFIG_IPV6_PRIVACY is not set

# CONFIG_INET6_AH is not set

# CONFIG_INET6_ESP is not set

# CONFIG_INET6_IPCOMP is not set

# CONFIG_INET6_TUNNEL is not set

# CONFIG_IPV6_TUNNEL is not set

# CONFIG_NETFILTER is not set

#

# SCTP Configuration (EXPERIMENTAL)

#

# CONFIG_IP_SCTP is not set

# CONFIG_ATM is not set

# CONFIG_BRIDGE is not set

# CONFIG_VLAN_8021Q is not set

# CONFIG_DECNET is not set

# CONFIG_LLC2 is not set

# CONFIG_IPX is not set

# CONFIG_ATALK is not set

# CONFIG_X25 is not set

# CONFIG_LAPB is not set

# CONFIG_NET_DIVERT is not set

# CONFIG_ECONET is not set

# CONFIG_WAN_ROUTER is not set

#

# QoS and/or fair queueing

#

# CONFIG_NET_SCHED is not set

# CONFIG_NET_CLS_ROUTE is not set

#

# Network testing

#

# CONFIG_NET_PKTGEN is not set

# CONFIG_NETPOLL is not set

# CONFIG_NET_POLL_CONTROLLER is not set

# CONFIG_HAMRADIO is not set

# CONFIG_IRDA is not set

# CONFIG_BT is not set

CONFIG_NETDEVICES=y

# CONFIG_DUMMY is not set

# CONFIG_BONDING is not set

# CONFIG_EQUALIZER is not set

CONFIG_TUN=y

#

# ARCnet devices

#

# CONFIG_ARCNET is not set

#

# Ethernet (10 or 100Mbit)

#

# CONFIG_NET_ETHERNET is not set

#

# Ethernet (1000 Mbit)

#

# CONFIG_ACENIC is not set

# CONFIG_DL2K is not set

CONFIG_E1000=y

# CONFIG_E1000_NAPI is not set

# CONFIG_NS83820 is not set

# CONFIG_HAMACHI is not set

# CONFIG_YELLOWFIN is not set

# CONFIG_R8169 is not set

# CONFIG_SKGE is not set

# CONFIG_SK98LIN is not set

# CONFIG_TIGON3 is not set

# CONFIG_BNX2 is not set

#

# Ethernet (10000 Mbit)

#

# CONFIG_IXGB is not set

# CONFIG_S2IO is not set

#

# Token Ring devices

#

# CONFIG_TR is not set

#

# Wireless LAN (non-hamradio)

#

# CONFIG_NET_RADIO is not set

#

# Wan interfaces

#

# CONFIG_WAN is not set

# CONFIG_FDDI is not set

# CONFIG_HIPPI is not set

# CONFIG_PPP is not set

# CONFIG_SLIP is not set

# CONFIG_NET_FC is not set

# CONFIG_SHAPER is not set

# CONFIG_NETCONSOLE is not set

#

# ISDN subsystem

#

# CONFIG_ISDN is not set

#

# Telephony Support

#

# CONFIG_PHONE is not set

#

# Input device support

#

CONFIG_INPUT=y

#

# Userland interfaces

#

CONFIG_INPUT_MOUSEDEV=y

# CONFIG_INPUT_MOUSEDEV_PSAUX is not set

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

# CONFIG_INPUT_JOYDEV is not set

# CONFIG_INPUT_TSDEV is not set

# CONFIG_INPUT_EVDEV is not set

# CONFIG_INPUT_EVBUG is not set

#

# Input Device Drivers

#

CONFIG_INPUT_KEYBOARD=y

CONFIG_KEYBOARD_ATKBD=y

# CONFIG_KEYBOARD_SUNKBD is not set

# CONFIG_KEYBOARD_LKKBD is not set

# CONFIG_KEYBOARD_XTKBD is not set

# CONFIG_KEYBOARD_NEWTON is not set

# CONFIG_INPUT_MOUSE is not set

# CONFIG_INPUT_JOYSTICK is not set

# CONFIG_INPUT_TOUCHSCREEN is not set

# CONFIG_INPUT_MISC is not set

#

# Hardware I/O ports

#

CONFIG_SERIO=y

CONFIG_SERIO_I8042=y

# CONFIG_SERIO_SERPORT is not set

# CONFIG_SERIO_CT82C710 is not set

# CONFIG_SERIO_PCIPS2 is not set

CONFIG_SERIO_LIBPS2=y

# CONFIG_SERIO_RAW is not set

# CONFIG_GAMEPORT is not set

#

# Character devices

#

CONFIG_VT=y

CONFIG_VT_CONSOLE=y

CONFIG_HW_CONSOLE=y

# CONFIG_SERIAL_NONSTANDARD is not set

#

# Serial drivers

#

# CONFIG_SERIAL_8250 is not set

#

# Non-8250 serial port support

#

# CONFIG_SERIAL_JSM is not set

CONFIG_UNIX98_PTYS=y

# CONFIG_LEGACY_PTYS is not set

#

# IPMI

#

# CONFIG_IPMI_HANDLER is not set

#

# Watchdog Cards

#

# CONFIG_WATCHDOG is not set

CONFIG_HW_RANDOM=y

# CONFIG_NVRAM is not set

CONFIG_RTC=y

# CONFIG_R3964 is not set

# CONFIG_APPLICOM is not set

#

# Ftape, the floppy tape device driver

#

CONFIG_AGP=y

CONFIG_AGP_AMD64=y

# CONFIG_AGP_INTEL is not set

# CONFIG_DRM is not set

# CONFIG_MWAVE is not set

# CONFIG_RAW_DRIVER is not set

# CONFIG_HANGCHECK_TIMER is not set

#

# TPM devices

#

# CONFIG_TCG_TPM is not set

#

# I2C support

#

# CONFIG_I2C is not set

#

# Dallas's 1-wire bus

#

# CONFIG_W1 is not set

#

# Misc devices

#

# CONFIG_IBM_ASM is not set

#

# Multimedia devices

#

# CONFIG_VIDEO_DEV is not set

#

# Digital Video Broadcasting Devices

#

# CONFIG_DVB is not set

#

# Graphics support

#

# CONFIG_FB is not set

CONFIG_VIDEO_SELECT=y

#

# Console display driver support

#

CONFIG_VGA_CONSOLE=y

CONFIG_DUMMY_CONSOLE=y

#

# Speakup console speech

#

# CONFIG_SPEAKUP is not set

CONFIG_SPEAKUP_DEFAULT="none"

#

# Sound

#

# CONFIG_SOUND is not set

#

# USB support

#

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

# CONFIG_USB is not set

#

# USB Gadget Support

#

# CONFIG_USB_GADGET is not set

#

# MMC/SD Card support

#

# CONFIG_MMC is not set

#

# InfiniBand support

#

# CONFIG_INFINIBAND is not set

#

# Firmware Drivers

#

# CONFIG_EDD is not set

#

# File systems

#

# CONFIG_EXT2_FS is not set

CONFIG_EXT3_FS=y

# CONFIG_EXT3_FS_XATTR is not set

CONFIG_JBD=y

# CONFIG_JBD_DEBUG is not set

CONFIG_REISERFS_FS=y

# CONFIG_REISERFS_CHECK is not set

# CONFIG_REISERFS_PROC_INFO is not set

# CONFIG_REISERFS_FS_XATTR is not set

# CONFIG_JFS_FS is not set

#

# XFS support

#

# CONFIG_XFS_FS is not set

# CONFIG_MINIX_FS is not set

# CONFIG_ROMFS_FS is not set

CONFIG_INOTIFY=y

# CONFIG_QUOTA is not set

CONFIG_DNOTIFY=y

# CONFIG_AUTOFS_FS is not set

CONFIG_AUTOFS4_FS=y

#

# CD-ROM/DVD Filesystems

#

# CONFIG_ISO9660_FS is not set

# CONFIG_UDF_FS is not set

#

# DOS/FAT/NT Filesystems

#

# CONFIG_MSDOS_FS is not set

# CONFIG_VFAT_FS is not set

# CONFIG_NTFS_FS is not set

#

# Pseudo filesystems

#

CONFIG_PROC_FS=y

CONFIG_PROC_KCORE=y

CONFIG_SYSFS=y

# CONFIG_DEVFS_FS is not set

CONFIG_DEVPTS_FS_XATTR=y

# CONFIG_DEVPTS_FS_SECURITY is not set

CONFIG_TMPFS=y

# CONFIG_TMPFS_XATTR is not set

CONFIG_HUGETLBFS=y

CONFIG_HUGETLB_PAGE=y

CONFIG_RAMFS=y

#

# Miscellaneous filesystems

#

# CONFIG_ADFS_FS is not set

# CONFIG_AFFS_FS is not set

# CONFIG_HFS_FS is not set

# CONFIG_HFSPLUS_FS is not set

# CONFIG_BEFS_FS is not set

# CONFIG_BFS_FS is not set

# CONFIG_EFS_FS is not set

# CONFIG_CRAMFS is not set

# CONFIG_SQUASHFS is not set

# CONFIG_VXFS_FS is not set

# CONFIG_HPFS_FS is not set

# CONFIG_QNX4FS_FS is not set

# CONFIG_SYSV_FS is not set

# CONFIG_UFS_FS is not set

#

# Network File Systems

#

# CONFIG_NFS_FS is not set

# CONFIG_NFSD is not set

# CONFIG_SMB_FS is not set

# CONFIG_CIFS is not set

# CONFIG_NCP_FS is not set

# CONFIG_CODA_FS is not set

# CONFIG_AFS_FS is not set

#

# Partition Types

#

# CONFIG_PARTITION_ADVANCED is not set

CONFIG_MSDOS_PARTITION=y

#

# Native Language Support

#

# CONFIG_NLS is not set

#

# Profiling support

#

# CONFIG_PROFILING is not set

#

# Kernel hacking

#

# CONFIG_PRINTK_TIME is not set

# CONFIG_DEBUG_KERNEL is not set

CONFIG_LOG_BUF_SHIFT=15

#

# Security options

#

# CONFIG_KEYS is not set

# CONFIG_SECURITY is not set

#

# Cryptographic options

#

# CONFIG_CRYPTO is not set

#

# Hardware crypto devices

#

#

# Library routines

#

# CONFIG_CRC_CCITT is not set

CONFIG_CRC32=y

# CONFIG_LIBCRC32C is not set

This is a game server and doesnt require any thing but ethernet

----------

## optik_knight

I'm running 2x Intel Xeon 3.4ghz 64-bit, and 2.6.12 has been reporting only 2 processors, while 2.6.11 reported 4 (normal for hyperthreading, afaik). Watching the kernel boot, I noticed these differences, and dmesg says the same, as does /proc/cpuinfo. 

I'm currently upgrading to 2.6.12-r6 from 2.6.12-r4, and if I notice any changes, I'll post my observations here.

----------

## Montana

I think I found the issue. It works at least for. 

In order to get both processor you need to enable ACPI. As soon as I compile it into the kernel HT seems to be ok. dmesg and cpuinfo give the correct information.

Looks like this changed dramatically from 2.6.11 to 2.6.12. In the old kernel I didn't need the ACPI support for HT.

Could someone please confirm!

Andreas

----------

## PennyroyalFrog

Although this isn't much help, my HT seems to be working fine with 2.6.12-r6.

----------

## GerManson

it works very good here..

----------

## annihilation

Well, it does work via acpi, but how comes i can disable it in 2.6.11-r* but not 2.6.12-r* :S

ah well, i will keep trying.

----------

