Este artigo aborda a configuração de um kernel 2.4 no Slack com suporte a SMP. Para quem não sabe, SMP (Symmetric MultiProcessing) é a definição de um sistema que utiliza dois ou mais processadores para executar suas tarefas (multi-processamento).
[3] Comentário enviado por lordello em 02/09/2004 - 00:21h
Ae amiguinho, boa idéia escrever sobre SMP.
Se me permitir gostaria de fazer uns comentários.
"O Slackware 10 já vem com o kernel 2.4.26, o último da arquitetura 2.4 e teoricamente era para funcionar sem problemas com suporte a SMP. Mas na prática é bem diferente."
O Linux tem suporte sim a SMP, mas porque não vem habilitado sempre???? Um kernel normal roda em qualquer máquina, mas um kernel com SMP só vai rodar em máquinas com mais de um processador. As distribuições normalmente fornecem dois tipos de kernel, um sem SMP e outro com SMP. Isso ocorre com o ACPI, que em algumas distribuições vem desabilitado e com o APM em módulo. Ou seja, tudo é uma questão de garantir que o kernel vai rodar no maior número de máquinas possível. O HyperTreading do P4 é reconhecido pelo sistema como se fossem dois processadores, então é preciso habilitar o SMP nesses caso também. Eu particularmente acho isso uma firula para pegar dinheiro das pessoas dislumbradas.
Você não disse o contrário, estou apenas clarendo as idéias numa coisa que seu artigo não explicou muito bem, ficou com um sentido meio estranho.
Uma dica boa e importante. Todo kernel do Slackware vem com um arquivo instalado dentro do /boot, ele normalmente se chama config-<nome>-2.x.x, onde <nome> é o tipo de chipset (ide scsi) e x.x é a versão, ex 2.6.7 e 2.4.26. O normal para um usuário leigo seria copiar esse arquivo para a pasta do source, aí seria usada a configuração genérica original do Slackware, mas lembrando de uma coisa, o pacote alsa-drivers não será mais compatível com esse kernel, então será preciso reinstala-lo.
# cd /usr/src/linux
# cp /boot/config-ide-2.x.x .config
# make menuconfig (aqui é onde seleciona o SMP, conforme o artigo)
Kernel 2.4.x é igual ao artigo:
# make dep
# make bzImage
# make modules
# make modules_install
# cp arch/i386/boot/bzImage /boot/bzImage
kernel 2.6.x é diferente:
# make && make modules_install
# cp arch/i386/boot/bzImage /boot/bzImage
A vantagem de executar esse processo com o kernel 2.6 é não precisar mais do alsa-driver, pois ele já vem com alsa ;-P
Falou ae!
[4] Comentário enviado por butters em 02/09/2004 - 09:32h
putz....valeu pela aula amiguinho.....isso nem eu sabia....mas valeu mesmo pela dica.....como eu usei isso ontem mesmo....no mundo da info...niguem sabe tudo eh sempre aprendendo...mas gostei mesmo...eu resolvi escrever esse artigo para users do slack pq eh mais complicado...antes de instalar no slack eu instalei no redhat e reconheceu o smp sem mesmo precisar compilar nada....
[5] Comentário enviado por brasil200 em 02/09/2004 - 09:40h
Um complemento apenas, no kernel da serie 2.4.xx a frequencia interna dele esta em 100HZ, no da serie 2.6.xx esta em 1000HZ, isso é para aumentar a resposta e interatividade do ambiente X, em um desktop mais modesto não é uma boa deixar esta opção em 1000HZ (em SMP não se deve deixar e em Server tambem não), basta antes de compilar o kernel ajustar este valor no arquivo localizado em:
/usr/src/linux/include/asm-i386/param.h
e colocar o valor que melhor lhe convem, bastanto descomentar a linha #define HZ 1000 (no caso do SLACKWARE 10 com kernel 2.6.7 esta assim)
eu aqui em um equipamento Athlon 2400MP tenho usando em 450 HZ, tive uma redução em torno de 10% do uso da CPU.
No Red Hat 9 este valor esta em 512 HZ, em minha pouca experiencia que tenho ainda, o valor 1000HZ nos equipamentos aqui não ficaram legal, acredito qeu se compilar com suporte pra SMP (ou HT) e deixar 1000HZ a CPU sera sobrecarregada no uso, principalmente se for executar diversas tarefas .
[6] Comentário enviado por brasil200 em 02/09/2004 - 22:43h
Tinha me esquecido disto tambem:
(486) Processor family (Press ENTER and select your specific CPU type)
[*] Math emulation
[*] MTRR (Memory Type Range Register) support
[*] Symmetric multi-processing support
General setup -->
[ ] Power Management support (deixe em branco isto. APM e SMP não são compativeis)
Character devices -->
[*] Enhanced Real Time Clock Support
Isto galera é para o SMP (imagino que quem tenha este tipo de equipamento tenha mais noção), quanto ao Hyper Threading não sei dizer, não uso aqui processadores da Intel! mas se começar a ter instabilidade ja sabem o motivo...
pra saber se esta tudo correto basta:
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(tm) MP 2400+
stepping : 1
cpu MHz : 20000.474
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov mmx
bogomips : 3932.16
processor : 1
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(tm) MP 2400+
stepping : 1
cpu MHz : 20000.474
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov mmx
bogomips : 3997.69