компиляция ядра с поддержкой Hyper-Threading
Прошу помощи по включению Hyper-Threading (Процессор Pentium 4 с поддержкой Hyper-Threading,ядро 2.6.19-gentoo-r3.)
В руководстве сказано:
Листинг 11: Включение поддержки SMP
Processor type and features --->
[*] Symmetric multi-processing support...
Включаю,компилирую,но как мне кажется Hyper-Threading не работает... Если я находясь в suse даю команду top и нажимаю единичку,то вижу 2 процессора и разный процент их загрузки. А вот в gentoo делая тоже самое - вижу только один процессор...
Хочу привести фрагмент dmesg:
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000
Processor #0 15:4 APIC version 17
I/O APIC #4 Version 17 at 0xFEC00000.
Enabling APIC mode: Flat. Using 1 I/O APICs
Processors: 1
Allocating PCI resources starting at 30000000 (gap: 20000000:dec00000)
Detected 2993.627 MHz processor.
Built 1 zonelists. Total pages: 130033
Kernel command line: root=/dev/hda3 video=vesafb:1024x768-32@85
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 2048 (order: 11, 8192 bytes)
Console: colour VGA+ 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 514876k/524224k available (3051k kernel code, 8816k reserved, 819k data, 196k init, 0k highmem)
virtual kernel memory layout:
fixmap : 0xfffbc000 - 0xfffff000 ( 268 kB)
vmalloc : 0xe0800000 - 0xfffba000 ( 503 MB)
lowmem : 0xc0000000 - 0xdfff0000 ( 511 MB)
.init : 0xc04cf000 - 0xc0500000 ( 196 kB)
.data : 0xc03fad36 - 0xc04c7a94 ( 819 kB)
.text : 0xc0100000 - 0xc03fad36 (3051 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 5989.05 BogoMIPS (lpj=2994527)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 0000441d 00000000 00000000
monitor/mwait feature present.
using mwait in idle threads.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: Physical Processor ID: 0
CPU: After all inits, caps: bfebfbff 00000000 00000000 00000180 0000441d 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: 20k freed
CPU0: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 01
Total of 1 processors activated (5989.05 BogoMIPS).
ExtINT not setup in hardware but reported by MP table
Везде пишут про SMP ядро... я всегда считал,что это обычное ядро,но просто собранное с поддержкой мультипрцессорности,а теперь,грешным делом думаю - может это какое-то специальное ядро,тогда где его взять? Если включения необходимой поддержки в ядре недостаточно,то что необходимо сделать еще?
Всех со "Старым" Новым годом!
- Для комментирования войдите или зарегистрируйтесь
В конфиге ядра
В конфиге ядра под поддержкой SMP указывается количество процессоров. В твоем случае - 2.
_________________
Это заговор квадратикофф!!!
From Siberia with Love!
может эта опция
может эта опция поможет
SMT (Hyperthreading) scheduler support
_________________
acer aprire 3002 (sempron 3000, 512Mb, sis, 40Gb)
Re: может эта опция
эту опцию тоже отметил...
пробовал и по
пробовал и по умолчанию,и ставить 2
странно
> Если я находясь в suse даю команду top и
> нажимаю единичку,то вижу 2 процессора и
> разный процент их загрузки.
а я в генте вижу при нажатии 1 как раз 2 процессора и в htop тоже 2 - правда у меня amd - там при выборе процессора есть одно и двухъядерные.
Ps а если напротив NUMA поставить птичку - лучше будет или нет?
Re: странно
NUMA - это что? и главное где?
Нет. NUMA - non uniform
Нет. NUMA - non uniform memory acess, а SMP - symmetryc paraller processing. В первом случае поделишь оперативку на две части, по числу процессоров. Обращение процессора к своей части оперативки происходит быстро, он все кэширует, а обращение к другой части медленно. А в SMP одинаково. Так что SMP круче, только производство таких систем дороже и маштабируются они плохо.
а тип памяти какой ставить при SMP?
Sparse memory или Flat memory и биосе тоже есть Conigous кажется - его ставить?
У меня Pentium 4 3.0E
У меня Pentium 4 3.0E (3 Ghz). Я в ядре отметил SMT (Hyperthreading) scheduler support и всё окей. Может ты в BIOS забыл его включить?
Re: У меня Pentium 4 3.0E
Да нет... в BIOS все включено... каждый раз при загрузке вижу...
еще один вопрос по ядру..
и еще один вопрос: исходники ядра удалил,распаковал по новой...запускаю make menuconfig, и вижу,что все птицы,которые я поставил при предыдущей конфигурации ядра - как стояли,так и стоят... Где он их нашел? И как вернуть все параметры конфигурации ядра по умолчанию? Может надо вручную распаковать,а не с помощью emerge?
а как вы
а как вы удалили? через emerge или просто rm?
просто срубать ядро неочень хорошо, портаж думает что они всёравно есть. А чтобы было заново - надо срубить .config в каталоге ядра, и отмонтировать /boot там оно тоже лежит. Хотя есть ещё в /proc где-то, если скомпилено с опцией что-бы там лежало
просто вручную
просто вручную удалил каталог /usr/src/linux/linux-2.19-gentoo-r3 вместе со всем содержимым и файл .config соответственно тоже ушел следом... Потом запустил emerge gentoo-sources, emerge снова распаковал исходники из архива,который в distfiles лежит, предварительно закачан�й самим же emerge... И вот я делаю make menuconfig и удивляюсь тому,что все настройки остались прежними... Я так понял,что надо корректно через emerge удалять? Я бы конечно уже сто раз попробовал и не морочил вам голову,но я сейчас на работе и соответственно могу лишь одно - предаться теории :-)..
корректеость
корректеость срытия ядра не влияет на его конфиг - он лежит ещё где-то
КСТАТИ,вспомни
КСТАТИ,вспомни где плиз. кроме /proc/config.gz
я ж гарю - в /boot
я ж гарю - в /boot
если ты делаешь
если ты делаешь make install
иначе там ему неоткуда быть ;)
Вот здесь еще
Вот здесь еще посмотри
/etc/kernels
У меня тоже Pentium
У меня тоже Pentium 4 3,06GHz
и всё нормально, top показывает 2-а проца :)
У меня тоже
У меня тоже Пень 4 3ГГц и никак не мог включить поддержку гипертрейдинга. Сразу видно было ее отстутсвие при загрузке ядра - всегда прорисовывался один пенгуин (текстовый режим в режиме framebuffer).
Кароче проблема вылечилась таг:
1. Моя мама ASUS как оказалось содержала старый бажный БИОС и из-за него я отключал ACPI. Но как потом выяснил у гугла собссно ACPI и отвечает за поддрежку Hyperthreading.
2.Скачал с сайта АСУСА новый биос, перепрошил.
3. Включил поддержку hyperthreading и ACPI в биосе
4. Собрал ядро согласно wiki по smp
5. Палучил два пенгуина при загрузке или что более правильно /proc/cpuinfo содержит информацию не об одном а о двух процессорах.
Надеюсь поможет.