Autor Tópico: Compilando o Kernel otimizado para o seu processador no Ubuntu!  (Lida 206704 vezes)

Offline Gunss

  • Usuário Ubuntu
  • *
  • Mensagens: 618
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #105 Online: 30 de Agosto de 2011, 17:57 »
dê uma olhada nesse link do ubuntu ppa:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.3-oneiric/

aparece os seguintes arquivos para amd64:

linux-headers-3.0.3-030003-generic_3.0.3-030003.201108180913_amd64.deb   
linux-headers-3.0.3-030003_3.0.3-030003.201108180913_all.deb
linux-image-3.0.3-030003-generic_3.0.3-030003.201108180913_amd64.deb

a pergunta é :

como criar o arquivo linux-headers-*_all.deb sem usar a compilação pelo git ?



Se você reparar o headers-generic tem kb de tamanho, enquanto esse all tem em média 10MB. Esse all serve tanto para 32 bits quanto para 64. Foi a melhor coisa que fizeram.
Para compilar sem o git, basta seguir o link que o galactus postou.

mas pra que server esse _all?? é headers tanto pra x86 quando x86_64? pq unificar? estou cheio de dúvidas...

Offline Stivekx

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #106 Online: 30 de Agosto de 2011, 19:20 »
Tipo, quando eu rodei o comando:
Código: [Selecionar]
cc -march=native -E -v - </dev/null 2>&1 | grep cc1Ele retornou:
Código: [Selecionar]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1 -E -quiet -v - -D_FORTIFY_SOURCE=2 -march=amdfam10 -mcx16 -msahf -mpopcnt -mabm --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=amdfam10 -fstack-protector

-march=amdfam10
l1-cache-line-size=64
l2-cache-size=1024

1 - Meu processador é um Turion x2, de acordo com wiki do gentoo o -march pra ele seria k8, mas o comando me retorna amdfam10
2 - O l1 e l2 cache do meu processador apareceu 64 e 1024 respectivamente, mas quando eu rodo o comando: dmidecode --type cache, ele retorna:

Código: [Selecionar]
root@stive-laptop:/usr/src# dmidecode --type cache
# dmidecode 2.9
SMBIOS 2.6 present.

Handle 0x0005, DMI type 7, 19 bytes
Cache Information
Socket Designation: L1 Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 256 KB
Maximum Size: 256 KB
Supported SRAM Types:
Pipeline Burst
Installed SRAM Type: Pipeline Burst
Speed: 1 ns
Error Correction Type: Multi-bit ECC
System Type: Unified
Associativity: 2-way Set-associative

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2 Cache
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 2048 KB
Maximum Size: 2048 KB
Supported SRAM Types:
Pipeline Burst
Installed SRAM Type: Pipeline Burst
Speed: 1 ns
Error Correction Type: Multi-bit ECC
System Type: Unified
Associativity: 16-way Set-associative

Installed Size: 256 KB
Maximum Size: 256 KB
Installed Size: 2048 KB
Maximum Size: 2048 KB
Porque essa diferença nesses valores?

----
Edit:
Dando uma lida no google, entendi, vou deixar a resposta aqui pra caso mais alguém se interesse.
Meu processador é dual core, no caso ali disse quando de l2cache tem num core especifico, logo 1024*2 = 2048, o que no total meu processador tem.
No caso do l1 cache, o comando do cc deu duas memórias: l1-cache-size e l1-cache-line-size ambos de 64kb, totalizando 128, num processador dual core 128 * 2, 256, igualando ao valor que dmidecode me deu.
« Última modificação: 30 de Agosto de 2011, 19:41 por Stivekx »

Offline galactus

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.683
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #107 Online: 30 de Agosto de 2011, 21:55 »
Stivekx, confie na saída dos comandos do GCC!

Tudo tem um motivo! Se você se interessar muito, só ler a farta documentação do GCC que explica cada uma das suas opções!

K8 está indicando uma família de processadores!

Nessa família estão incluídos:
- Athlon 64 X2
- Athlon 64 FX
- Athlon 64
- Sempron
- Opteron
- Turion 64

Portanto não tem haver com as otimizações do seu processador!  Resumindo, ao usar K8 você estaria fazendo uma otimização genérica para a família K8 e não para o seu processador específico. Veja que o seu turion é novo, a opção  amdfam10 aponta para o sucessor do K8, a família 10h da AMD, ela dispara as otimizações: MMX, SSE, SSE2, SSE3, SSE4a e ABM para essa família 10h da AMD!

Quer continuar com a K8 do Guia do Gentoo?

Se quiser ver para crer é só comparar as saídas das otimizações!

No terminal execute (não precisa ser root):

Citar
export TESTFLAGS="-march=native"; export OUTPUT=native; touch $OUTPUT.cc;gcc $TESTFLAGS -fverbose-asm $OUTPUT.cc -S; cat $OUTPUT.s; unset OUTPUT TESTFLAGS; rm -f $OUTPUT.cc

e

Citar
export TESTFLAGS="-march=amdfam10"; export OUTPUT=amdfam10; touch $OUTPUT.cc; gcc $TESTFLAGS -fverbose-asm $OUTPUT.cc -S; cat $OUTPUT.s; unset OUTPUT TESTFLAGS; rm -f $OUTPUT.cc


Você mesmo pode ler aí que o native ativa mais instruções que a amdfam10, por isso que indicamos o march=native!  O native é uma mão na roda, ela verifica e acha as melhores opções para o seu processador específico, pode ser que o você não consiga os melhor desempenho, isto porque os programas instalados não foram compilados com otimizações específicas para o seu processador, esse é o preço que se paga por usar uma distro binária, mas em relação ao seu processador estará tudo lá!

Passou o cartão?
 
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Offline Gunss

  • Usuário Ubuntu
  • *
  • Mensagens: 618
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #108 Online: 30 de Agosto de 2011, 22:43 »
Se tiver um computador dual socket pode usar uma distro tipo arch onde você pode compilar TUDO que estiver instalado.

Eu particularmente procuro compilar apenas o kernel (e olha lá, hoje nem isso), VLC, ffmpeg e mencoder. Porém o VLC já esta de bom tamanho.

Vou ver se faço um script pra baixar o mencoder e ffmpeg do git.

E falando em kernel, já saiu o 3.0.4

Offline Stivekx

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #109 Online: 31 de Agosto de 2011, 00:15 »
@galactus

Muito Obrigado pela explicação.
Vou tentar com o que o gcc me diz mesmo, march=native é o que eu sempre usei.

Nas outras vezes que compilei o kernel não mudei nada além do march, as outras opcoes eu deixei como estavam, vou ver como fica.

Offline Stivekx

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #110 Online: 03 de Setembro de 2011, 01:05 »
Fiz um script em bash pra automatizar todo o processo descrito neste tópico.
Tinha feito um dois messes atrás, mas tinha vários bugs, mas esse atual está bom, ele só substitui o que ele deve...

Pra quem quiser:
http://pastebin.com/Uj1FzT4T

comentei as linhas pra quem quiser entender o que ele faz...

Pra simplesmente baixar e usar o script:
Código: [Selecionar]
cd /usr/src/linux
wget -c http://pastebin.com/raw.php?i=Uj1FzT4T -O script.sh
chmod +x script.sh
./script.sh

Obs: Execute ele depois de ter aplicado todos os patchs desejados no kernel
« Última modificação: 03 de Setembro de 2011, 01:07 por Stivekx »

Offline web2000

  • Usuário Ubuntu
  • *
  • Mensagens: 360
  • Rafael A. de Almeida
    • Ver perfil
    • Meu canal no YouTube
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #111 Online: 03 de Setembro de 2011, 16:24 »
O VirtualBox ficou um foguete! A VM com Windows XP da boot em 25 segundos, pronto para usar (e mostra a tela "Bem-vindo" com apenas 10 segundos depois de iniciar a VM)

Offline galactus

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.683
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #112 Online: 05 de Setembro de 2011, 01:03 »
Pessoal criei o outro tópico para criarmos um novo tuto atualizado sobre compilação do kernel: http://ubuntuforum-br.org/index.php/topic,87070.0.html
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Offline Gordin

  • Usuário Ubuntu
  • *
  • Mensagens: 37
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #113 Online: 05 de Setembro de 2011, 12:08 »
dpkg-deb: erro: diretório de controle possui permissões ruins 2755 (devem ser >=0755 e <=0755)
make[2]: ** [debian/stamp/binary/linux-image-2.6.39.4-ck1] Erro 2
make[2]: Saindo do diretório `/usr/src/linux-2.6.39.4'
make[1]: ** [debian/stamp/binary/pre-linux-image-2.6.39.4-ck1] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-2.6.39.4'
make: ** [kernel_image] Erro 2


Alguém o q pode ser este erro?

grato

Offline vampire_thunder

  • Usuário Ubuntu
  • *
  • Mensagens: 735
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #114 Online: 05 de Setembro de 2011, 21:06 »
dpkg-deb: erro: diretório de controle possui permissões ruins 2755 (devem ser >=0755 e <=0755)
make[2]: ** [debian/stamp/binary/linux-image-2.6.39.4-ck1] Erro 2
make[2]: Saindo do diretório `/usr/src/linux-2.6.39.4'
make[1]: ** [debian/stamp/binary/pre-linux-image-2.6.39.4-ck1] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-2.6.39.4'
make: ** [kernel_image] Erro 2


Alguém o q pode ser este erro?

grato

O erro é autoexplicativo e o que você tem que fazer está na primeira linha. Um chmod 755 -R no diretório resolve.

Offline Gordin

  • Usuário Ubuntu
  • *
  • Mensagens: 37
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #115 Online: 05 de Setembro de 2011, 21:45 »
vampire, obrigado pela ajuda cara.
Apesar de ser auto-explicativo o erro, eu não soube interpretá-lo. Por isso vim aqui perguntar.

Offline magno TI

  • Usuário Ubuntu
  • *
  • Mensagens: 1
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #116 Online: 10 de Setembro de 2011, 19:19 »
Ai esta tudo muito bom mais, gostaria que alguém me ajude a compilar o kernel do 10.04 server com um passo a passo pois também quero aprender?

Offline web2000

  • Usuário Ubuntu
  • *
  • Mensagens: 360
  • Rafael A. de Almeida
    • Ver perfil
    • Meu canal no YouTube
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #117 Online: 10 de Setembro de 2011, 22:12 »
Ai esta tudo muito bom mais, gostaria que alguém me ajude a compilar o kernel do 10.04 server com um passo a passo pois também quero aprender?

Recompilar o kernel só é demorado (dependendo do computador), mas é relativamente fácil. Procure no Google, por "recompilar kernel ubuntu" e adapte a esse dica. O resultado vale apena.

No benchmark Geekbench o desempenho do meu computador foi de 3585 para 4252, ou seja, um ganho de 18,6%

Até+

Offline Gunss

  • Usuário Ubuntu
  • *
  • Mensagens: 618
    • Ver perfil
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #118 Online: 12 de Setembro de 2011, 11:09 »
http://kernel-seeds.org/settings-01.html

Ta ai um ótimo tutorial sobre o menu config. São 13 páginas.

Offline Metalbobolic

  • Usuário Ubuntu
  • *
  • Mensagens: 215
    • Ver perfil
    • Seu Lugar para pensar
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
« Resposta #119 Online: 16 de Setembro de 2011, 22:23 »
Gostaria de tirar uma grande dúvida..

Estou usando..kernel generic pae..

Consigo usar o comando make oldconfig, consigo configurar o kernel masi rescente..sem dar problemas?

Por que..da ultima vez que tentie...quando inicei..deu kernel panic