# [SOLVED] SMP. Only one CPU is visible.

## MyTb

Help plz  :Smile: 

I Have Intel Pentium CPU with HT support. Compile it into kernel. But HT not work!

supermind mutalisk # cat /proc/cpuinfo 

```

processor   : 0

vendor_id   : GenuineIntel

cpu family   : 15

model      : 4

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

stepping   : 9

cpu MHz      : 3201.711

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 [b]ht[/b] tm pbe nx lm constant_tsc up pebs bts pni dtes64 monitor ds_cpl cid cx16 xtpr lahf_lm

bogomips   : 6403.42

clflush size   : 64

power management:

```

http://en.wikipedia.org/wiki/List_of_Intel_Pentium_4_microprocessors

    * All models support: MMX, SSE, SSE2, SSE3, Hyper-Threading, Intel 64, XD bit (an NX bit implementation)

    * Intel VT supported by: 6x2 e.g. Model 662 and 672

    * Enhanced Intel SpeedStep Technology (EIST) supported by: all except 620.

    * Intel Family 15 Model 4

    * Steppings: N0, R0

By this page my CPU is supported HT. And it have "ht" flag in /proc/cpuinfo

Here some logs:

Supermind mutalisk # cat /usr/src/linux/.config | grep SMP

```

CONFIG_USE_GENERIC_SMP_HELPERS=y

CONFIG_X86_32_SMP=y

CONFIG_SMP=y

# CONFIG_X86_BIGSMP is not set

```

Supermind mutalisk # dmesg | grep SMP

```

[    0.000000] Linux version 2.6.30-gentoo-r1 (root@Supermind.kiasoft.ru) (gcc version 4.3.2 (Gentoo 4.3.2-r3 p1.6, pie-10.1.5) ) #7 SMP Tue Jul 7 11:08:23 KRAST 2009

[    0.000000] found SMP MP-table at [c00f3690] f3690

[    0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs

[    0.005519] SMP alternatives: switching to UP code

[    0.009985] Freeing SMP alternatives: 13k freed

```

Supermind mutalisk # dmesg | grep CPU

```

[    0.000000]   Transmeta TransmetaCPU

[    0.000000] Processor #0 (Bootup-CPU)

[    0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs

[    0.000000] NR_CPUS:2 nr_cpumask_bits:2 nr_cpu_ids:1 nr_node_ids:1

[    0.000000] PERCPU: Embedded 11 pages at c1704000, static data 24092 bytes

[    0.000000] Initializing CPU#0

[    0.000999] SLUB: Genslabs=13, HWalign=128, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

[    0.001171] CPU: Trace cache: 12K uops, L1 D cache: 16K

[    0.001175] CPU: L2 cache: 1024K

[    0.001179] CPU: Unsupported number of siblings 2<6>Intel machine check architecture supported.

[    0.001191] Intel machine check reporting enabled on CPU#0.

[    0.001196] CPU0: Intel P4/Xeon Extended MCE MSRs (24) available

[    0.020377] CPU0: Intel(R) Pentium(R) 4 CPU 3.20GHz stepping 09

[    0.121999] Brought up 1 CPUs

```

Thanks.Last edited by MyTb on Tue Jul 07, 2009 9:27 am; edited 1 time in total

----------

## ppurka

Do you have CONFIG_X86_HT enabled? I am not very familiar with this so I can't provide you much info/help.

----------

## MyTb

Supermind mutalisk # cat /usr/src/linux/.config | grep HT 

```

CONFIG_GENERIC_HWEIGHT=y

CONFIG_X86_HT=y

CONFIG_HT_IRQ=y

# CONFIG_I2C_PARPORT_LIGHT is not set

# CONFIG_HTC_PASIC3 is not set

# CONFIG_FB_BACKLIGHT is not set

# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

# CONFIG_USB_ISIGHTFW is not set

```

Yes CONFIG_X86_HT is enabled..

----------

## Mistwolf

Did you enable the SMT option in the kernel?

See http://www.gentoo.org/doc/en/kernel-config.xml#doc_chap3, towards the bottom of that section.

Hyper-Threading creates logical CPUs (refered to as sibling CPUs by the kernel), and from your "dmesg | grep CPU", it seems to be disabled: 

```
[    0.001179] CPU: Unsupported number of siblings 2<6>Intel machine check architecture supported. 
```

Hope this helps.

----------

## MyTb

Yes i did. This is "Processor type and features" section

```

 [ ] Tickless System (Dynamic Ticks)

 [ ] High Resolution Timer Support

 [*] Symmetric multi-processing support

 [ ] Support sparse irq numbering

 [ ] Support for big SMP systems with more than 8 CPUs

 [ ] Support for extended (non-PC) x86 platforms

 [*] Single-depth WCHAN output

 [ ] Paravirtualized guest support  --->

 [ ] Memtest

 Processor family (Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon)  --->

 [ ] Generic x86 support

 [*] HPET Timer Support

 (2) Maximum number of CPUs

 [*] SMT (Hyperthreading) scheduler support

 [*] Multi-core scheduler support

 Preemption Model (Voluntary Kernel Preemption (Desktop))  --->

 ] Reroute for broken boot IRQs

 [*] Machine Check Exception

 < > Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4

 [ ] check for P4 thermal throttling interrupt.

 < > Toshiba Laptop support

 < > Dell laptop support

 [ ] Enable X86 board specific fixups for reboot

 <*> /dev/cpu/microcode - microcode support

 [*]   Intel microcode patch loading support

 [ ]   AMD microcode patch loading support

 <*> /dev/cpu/*/msr - Model-specific register support

 <*> /dev/cpu/*/cpuid - CPU information support

 < > /sys/kernel/debug/x86/cpu/* - CPU Debug support

 High Memory Support (off)  --->

[ ] PAE (Physical Address Extension) Support

Memory model (Flat Memory)  --->

[*] Add LRU list to track non-evictable pages

[ ] Check for low memory corruption

[*] Reserve low 64K of RAM on AMI/Phoenix BIOSen

[ ] Math emulation

[*] MTRR (Memory Type Range Register) support

[*]   MTRR cleanup support

(0)     MTRR cleanup enable value (0-1)

(1)     MTRR cleanup spare reg num (0-7)  
```

Mistwolf, thanks i try to google this string  :Smile: 

----------

## pappy_mcfae

Refer to the settings in my kernel seeds. They will give you the functionality you seek.

Blessed be!

Pappy

----------

## s4e8

Supermind mutalisk # dmesg | grep CPU

 *Quote:*   

> 
> 
> [    0.000000]   Transmeta TransmetaCPU
> 
> [    0.000000] Processor #0 (Bootup-CPU)
> ...

 

You configured a SMP kernel with max cpus==1??

----------

## MyTb

(2) Maximum number of CPUs 

It is maximum number of CPU's, isn't it?

pappy_mcfae, http://62.3.120.141/~pappy/seeds/32_bit/gentoo/2.6.30-gentoo-r1-x86-06.config i use as example. Adds support HT and p4 and my hardware as show on your homepage. It doesn't help..

/proc/cpuinfo show only one CPU  :Sad: 

http://ubuntuforums.org/showthread.php?t=160885

changing 

```
append="ht=on"
```

in lilo.conf is not help.

----------

## s4e8

 *MyTb wrote:*   

> (2) Maximum number of CPUs 
> 
> It is maximum number of CPU's, isn't it?
> 
> pappy_mcfae, http://62.3.120.141/~pappy/seeds/32_bit/gentoo/2.6.30-gentoo-r1-x86-06.config i use as example. Adds support HT and p4 and my hardware as show on your homepage. It doesn't help..
> ...

 

trying append="possible_cpus=4"

----------

## MyTb

Thanks to all  :Smile:  Problem solved very easy  :Smile: 

I enable ACPI in BIOS and HT up!

"ht=on" in lilo.conf doesn't matter. I check this.

----------

