# Configuring Hyperthreading [SOLVED]

## Sargonmetal

Hi,

I try to activate Hyperthreading but I can't. I use a 2.6.10-gentoo-r7 kernel on a Pentium 4, 3'4GHz with HT.

When I set the Symmetric multi-processing support, I set a Maximum of 2 CPUS with the SMT option, when I restart my ethernet is not loaded, my usb doesn't work and the windows partition is not recognizeble. And I don't know if the HT is activated....

Here it is a part of my .config:

```

#

# Processor type and features

#

CONFIG_X86_PC=y

# CONFIG_X86_ELAN is not set

# CONFIG_X86_VOYAGER is not set

# CONFIG_X86_NUMAQ is not set

# CONFIG_X86_SUMMIT is not set

# CONFIG_X86_BIGSMP is not set

# CONFIG_X86_VISWS is not set

# CONFIG_X86_GENERICARCH is not set

# CONFIG_X86_ES7000 is not set

# CONFIG_M386 is not set

# CONFIG_M486 is not set

# CONFIG_M586 is not set

# CONFIG_M586TSC is not set

# CONFIG_M586MMX is not set

# CONFIG_M686 is not set

# CONFIG_MPENTIUMII is not set

# CONFIG_MPENTIUMIII is not set

# CONFIG_MPENTIUMM is not set

CONFIG_MPENTIUM4=y

# CONFIG_MK6 is not set

# CONFIG_MK7 is not set

# CONFIG_MK8 is not set

# CONFIG_MCRUSOE is not set

# CONFIG_MEFFICEON is not set

# CONFIG_MWINCHIPC6 is not set

# CONFIG_MWINCHIP2 is not set

# CONFIG_MWINCHIP3D is not set

# CONFIG_MCYRIXIII is not set

# CONFIG_MVIAC3_2 is not set

# CONFIG_X86_GENERIC is not set

CONFIG_X86_CMPXCHG=y

CONFIG_X86_XADD=y

CONFIG_X86_L1_CACHE_SHIFT=7

CONFIG_RWSEM_XCHGADD_ALGORITHM=y

CONFIG_X86_WP_WORKS_OK=y

CONFIG_X86_INVLPG=y

CONFIG_X86_BSWAP=y

CONFIG_X86_POPAD_OK=y

CONFIG_X86_GOOD_APIC=y

CONFIG_X86_INTEL_USERCOPY=y

CONFIG_X86_USE_PPRO_CHECKSUM=y

CONFIG_HPET_TIMER=y

CONFIG_HPET_EMULATE_RTC=y

CONFIG_SMP=y

CONFIG_NR_CPUS=2

CONFIG_SCHED_SMT=y

CONFIG_PREEMPT=y

CONFIG_X86_LOCAL_APIC=y

CONFIG_X86_IO_APIC=y

CONFIG_X86_TSC=y

CONFIG_X86_MCE=y

# CONFIG_X86_MCE_NONFATAL is not set

# CONFIG_X86_MCE_P4THERMAL is not set

# CONFIG_TOSHIBA is not set

# CONFIG_I8K is not set

CONFIG_MICROCODE=y

CONFIG_X86_MSR=y

CONFIG_X86_CPUID=y

```

I hope somebody could help me. I am a newbie on linux so any help will be really apreciated!

Thanks!Last edited by Sargonmetal on Tue Mar 15, 2005 9:26 am; edited 1 time in total

----------

## ebrostig

Do 'cat /proc/cpuinfo'

If HT is working (did you enable it in the BIOS setup btw?), you will see 2 CPU's listed...

Erik

----------

## thubble

Do you compile your VFAT/ethernet/USB drivers as modules? If so, you have to rebuild and reinstall your modules after activating SMP support in the kernel:

```

make modules

make modules_install

```

----------

## Sargonmetal

when I do "cat /proc/cpuinfo" I only see one CPU:

```

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 15

model           : 3

model name      : Intel(R) Pentium(R) 4 CPU 3.40GHz

stepping        : 4

cpu MHz         : 3401.657

cache size      : 1024 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 5

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni monitor ds_cpl cid xtpr

bogomips        : 6733.82

```

And I do compile the modules and modules_install.

But I don't understand why when I set the HT all those drivers (VFAT/ethernet/USB) go out. HT should be independent from those drivers isn't it? Could be a problem of my kernel version? (2.6.10-gentoo-r7) 

One more thing: I never could turn on DMA on my hd neither. Maybe this is the origin of the problem? I don't know how to turn on the dma, I also left a threat about that.

Any help would be really apreciate, thanks!

----------

## freebies_11

Did you enable support for your chipset in menuconfig? That's the most common problem associated with DMA not activated.

----------

## Sargonmetal

mmhh I don't know.

How could I know it? And how can I activate it?

Thanks!

(As I said I am a newbie on linux...)

----------

## MaDDeePee

Also dont passtrough "nodma or noapic" to the kernel!

Ensure SMP enabled in "Processor type and features" and Maximum of cpus > 1

As ebrostig told, youll see two cpus instead of one in /proc/cpuinfo in HT

Is HT activated in your MoBo bios?  :Shocked: 

----------

## thubble

Does everything work with a uniprocessor build of the same kernel version? Also, you might want to check your BIOS settings to see if hyperthreading is disabled.

EDIT: Beaten on the BIOS suggestion, didn't see that  :Smile: 

----------

## Sargonmetal

Yes, HT is enabled on boot.

How can I see if "noapic or nodma" is set? Anyway, what does "noapic" mean?

When I boot from a livecd I can turn on dma with hdparm but with my current kernel configuration I can't.

I think linux is too difficult for me.... I don't know how to set the dma or the ht and this process should be easy, isn't it?!

Oh, I hope somebody finds the solution to my problem.

A very big thanks to all!

----------

## Sargonmetal

Ok, the problem has been found: when I recompiled my kernel I didn't have my /boot partition mounted  :Embarassed: 

Anyway, thank you very much for your help, everything works now  :Very Happy: 

----------

## chunderbunny

You know, I'm beginning ot think that removing write support from /boot (when it isn't mounted) would be a good idea. This way if you forget to mount your /boot partition and try and install something you will get "permission denied" errors, which should hopefully prompt you to remember to mount the partition.

----------

## Sargonmetal

That's a good one. I will remove it now  :Smile: 

Thanks!

----------

