Ir ao conteúdo
  • Cadastre-se
ilkyest

Brincando de Kernel linux - Distro: Arch Linux.

Recommended Posts

Após dias de luta, dias de glória... voltamos aos testes. Fonte nova, watercooler novo, trolões prontos pro abate

 

Tudo ok...e  quem quiser conferir os detalhes, sintam-se a vontade.

 

 

Como faremos os testes, agora... com tudo ok?

 

 

 

Aplicativo Systester:

 

Ele faz testes com dígitos de PI, e vai servir para um peso lógico no sistema.

 

systester_2.png    Aqui temos a tela de início, ou splash

 

 

E aqui a parte das configs

 

systester_3.png

 

Para os testes, usarei

  • Pi Digits - 64M
  • 2 ou 4 Turn *
  • 1 Thread
  • Alghorithm - Borwein

 

Explicando porque.

 

Mostraremos, oportunamente, que no meu caso, a GPU usa um núcleo do processador. Logo abaixo veremos o teste arquivo... que pesará o sistema num, "overall"... então não tem sentido, se a GPU usará um núcleo, e o systester outro, teremos 50% da força de processamento.. mais threads vai tornar irritante o processo

e torna... agora percebi...

 

Para ter-se ideia, com o cliente beta rodando... 64M dígitos de pi, levou, em 1 thread, 1 turno, 12minutos. Com GPU isso com certeza irá subir. Então, julgo eu que não precisamos mais threads do processador

 

* O tempo mais demorado é da GPU, se for core 17. Inicio em 2 turnos.. se for possível terminar 3 frames, ou 3% da WU... será usado 2 turnos.. se não.. 4 turnos

 

Somente serão analisadas na GPU WU core 17, ou core18, pois são demoradas, e facilitam o teste a longo prazo

 

Método arquivo.....

Será que duas pastas de 10Gb, 3 arquivos, totalizando 20 Gb copiando, entre uma unidade USB (espetada num dockstation como este, de 750Gb) e o /home vai interferir em algo?

 

 

 

Os componentes do nossos testes

 

Folding browser

Folding V7

 

Configurações para o browser

Folding_home_Chrome_Client_Google_Chrome

 

 

agora no V7

FAHControl_Folding_home_Client_Advanced_

 

Configure.jpg

 

 

 

Detalhes sobre o cliente beta, browser

  • Independente se, 2982, ou 2981, considerarei como uma WU só.. uma diferença, no meu pc, de 1 minuto, não avolupta tanto o resultado.

 

 

Metodologia

 

Os testes serão feitos em:

  • Browser beta - idle
  • Browser beta - systester
  • Browser beta - arquivo
  • GPU - idle
  • GPU - systester
  • GPU - Arquivo
  • Ambos, idle
  • Ambos - systester
  • Ambos - arquivo
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jeitão arch (e porque sou apaixonado por ele) de compilar kernel.

 

Quem compila kernel em ubuntu, fedora, verá que, pelo menos eu acho, no arch é mais fácil compilar kernel.

 

Nas demais distros, baixa-se os compiladores e bibliotecas, e depois entra "puramente" no xconfig, ou menuconfig, ou ainda nanoconfig e faz o que tem de fazer

 

os patches são aplicados manualmente, com comandos como:

 

patch -NP1 < patch.patch

 

No arch, pelo menos nos kerneis objetos de teste, existe um arquivo chamado pkgbuild, editável, que "faz esse processo".

 

Ele irá indicar quais são as bibliotecas faltantes (se for o caso) e fará o processo todo, ou... no nosso caso, até onde queremos.

 

 

O pkgbuild é executado como usuário padrão nunca como root via comando makepkg

 

 

makepkg

 

Compilando "por dentro"

 

Alguns dos nossos kerneis, além de pré-preparar ele via pkbuild, vamos compilar ele internamente, por assim dizer, após o pkgbuild. Tem tres formas de compilar-se um kernel, dentre outras, que não o nanoconfig (nconfig) o xconfig e o menuconfig.

 

linux-nconfig_1.pngnconfig, ou nanoconfig

 

menuconfig.gifmenuconfig

 

fig-1-xconfig.png

xconfig

 

 

salvo o xconfig, os outros dois são do estilo "uma janela leva a outra". Como eu quero alterar, oportunamente, coisas via "CTRL+F" que é o "find" eu vou usar o Xconfig, até para ficar mais fácil de ver "lado ao lado" o que é stock no kernel, e o que vamos alterar

 

Kernel Vanilla

 

Fonte: Wikipedia

http://pt.wikipedia.org/wiki/Linux_%28n%C3%BAcleo%29

 

O modelo de desenvolvimento atual do Linux é feito para permitir que Linus Torvalds realize o lançamento de novas versões constantemente. Estas versões são chamadas de núcleos "baunilha" (em inglês: vanilla) ou "principais" (em inglês: mainline), que significa que estes núcleos são derivados (branch) do código de desenvolvimento principal do núcleo Linux. Uma nova versão do núcleo Linux só é lançada depois de passar por grandes mudanças, por exemplo, primeiro Linus Torvalds recebe e incorpora dos programadores as mudanças no código do núcleo Linux, a partir dai são feitos pré-lançamentos do núcleo e destes são realizadas as correções de possíveis defeitos encontrados, só então é lançada a nova versão do núcleo do sistema operacional Linux. O lançamento de um novo núcleo é feito em média a cada três meses.

 

No esquema de desenvolvimento atual, a derivação (branch) principal não é a versão "estável" tradicional, pois é ela que incorpora todos os tipos de alterações, tal como últimos recursos, correções de segurança e defeitos. Para usuários que não querem arriscar atualizando para novas versões, contendo código que pode não ter sido testado o bastante, existem um conjunto separado de derivações "estáveis" (uma para cada versão lançada), que são criadas para usuários que querem apenas as correções de segurança e defeitos, mas não uma versão totalmente nova. Estas derivações são mantidas pelo time estável (em inglês: stable team) (Greg Kroah-Hartman, Chris Wright, talvez outros).

 

A maioria dos usuários Linux utilizam a versão fornecida pelas suas distribuições. Algumas distribuições fornecem os núcleos "baunilha" e/ou "estável". No entanto, muitos distribuidores Linux, como a Red Hat e o Debian, mantém outro conjunto de derivações do Linux que são integradas aos seus produtos. Estes são em geral atualizados em um ritmo mais lento em comparação com a derivação "baunilha" e normalmente incluem todas correções da derivação "estável" correspondente, mas ao mesmo tempo podem adicionar suporte a controladores ou recursos que não foram lançados na versão "baunilha" em que o distribuidor se baseou originalmente.

 

Como compilar o kernel

 

Como foi dito anteriormente, os kerneis a compilar, em arch linux, são executados pelo pkgbuild. Após baixar o "tarball" do site do AUR, e alterar as partes pertinentes no pkgbuild, basta dar, como usuário comum

 

makepkg

e o pacote começará o processo de baixa dos "sources" e a compilação. Se você selecionou executar o x/n/menuconfig ele, o pkgbuild, te aguardará até salvar tudo, e prosseguira com os passos restantes.

 

Exemplo de um pkgbuild rodando, no anexo:

DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICAPor mais feio que seja, não use espaços no diretório, ao compilar o kernel. USE HIFENS, NÚMEROS, QUALQUER COISA, MENOS ESPAÇOS entre os caracteres. Já obtive muitos erros usando espaço...O linux considerará, em alguns casos:Kernel\ CK\ e não "kernel ck"se usar hifen, o linux lerá"kernel-ck\"DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA DICA

Exemplo disso

ls: não é possível acessar /home/ilkyest/Kerneis: Arquivo ou diretório não encontradols: não é possível acessar a: Arquivo ou diretório não encontradols: não é possível acessar 300hz/linux-ck/src/0001-block*.patch: Arquivo ou diretório não encontradols: não é possível acessar /home/ilkyest/Kerneis: Arquivo ou diretório não encontradols: não é possível acessar a: Arquivo ou diretório não encontradols: não é possível acessar 300hz/linux-ck/src/0002-block*.patch: Arquivo ou diretório não encontradols: não é possível acessar /home/ilkyest/Kerneis: Arquivo ou diretório não encontradols: não é possível acessar a: Arquivo ou diretório não encontradols: não é possível acessar 300hz/linux-ck/src/0003-block*.patch: Arquivo ou diretório não encontrado

Habilitando o kernel para executar

 

Pessoal, eu uso o grub2 no arch linux.

 

Para atualizar os kerneis no grub2, em arch linux, eu uso o comando

grub-mkconfig -o /boot/grub/grub.cfg

 

Em algumas outras distros, basta um "update-grub" que faz a mesma coisa.

 

Lembrando que, como tenho dualboot com o windows 7, eu tenho o "os-prober" instalado para adicionar automaticamente a entrada do windows ao grub, ao atualizar o grub

 

para instalar em arch linux

 

pacman -S os-prober

post-391122-0-49289200-1420599745_thumb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A máquina de combate:

 

Placa mãe ASUS M4A88TD-V EVO/USB3

MEMÓRIAS: kingston KVR1333D3N9 - 4Gb

HD: 6HDs, sistema RAID5, para root 3 hds (2 de dados e um de bit de paridade) de 36,7Gb, SCSI @ 10k RPM,

                                           para /home 3HDs também 2 de dados e um de bit de paridade, de 72,4Gb. Marca IBM os de 72Gb, e
                                           marca Maxtor/compaq os de 36Gb.

 

Placa de video: Zogis brand, Nvidia Geforce 650Ti, @1gb

Sistema: Arch linux, 64bits, kernel stock

Fonte: Corsair TX750, chamada de "polvo" pelos colegas que usaram ela, @ApoloBrz, @dawson600

 

 

 

Demais componentes:

  • Trolões

http://forum.clubedohardware.com.br/topic/1084547-alterando-os-fans-usando-uns-mais-parrudos/

 

  • Novo aquário

http://www.hardware.com.br/comunidade/watercooler-altro/1356520/

 

  • E o casemod para as baias RAID SCSI... cuidado, é muito feio

http://www.hardware.com.br/comunidade/feio-casemod/1361298/

 

 

Quem estiver pronto... que pisque duas vezes, pelo menos, as luzes!!!!!

https://www.facebook.com/video.php?v=830165913706639&l=8271254436349454931

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Driver de vídeo

 

Boa parte dos kerneis trazem driver de vídeo, proprio, para compilação. Alguns, porém, não.

 

Um bom jeito de fazer "o negócio" é instalar via aur o nvidia/hook e o nvidia/dkms

 

Não vou adentrar "porque via aur".. apenas cito que, ao baixar um pacote e usar o pkgbuild/makepkg você provavelmente usou o AUR

 

O drama é que a dupla hook/dkms não funciona com o kernel stock. Assim sendo, os testes serão inciados com os kerneis que tem driveres para si, e depois, para aqueles que devem usar "a dupla".

 

Melhor sacrificar um kernel, que quase todos, em vista de não iniciar o driver de vídeo.

 

 

 

 

Driver de vídeo stock

neste momento, o driver é o 343.36

 

 

Para os trabalhos, foi dado um "pacman -Syy" para forçar a atualização de todos os repositórios do pacman,  e um "pacman -Su" para atualizar o sistema.

 

Chega de

[849.jpg

 

e vamos começar os festejos

 

 

Em tempo:

@Marcos FRM esqueci de algo aqui? alguma coisa que gostarias de citar quanto ao kernel stock?

Compartilhar este post


Link para o post
Compartilhar em outros sites

KERNEL CK

21060.jpg?m=1388156056 MANTENEDOR... O CARA DO CK - Guarde esse avatar jovem: Graysky

 

É um dos poucos kerneis, se não talvez, o único, que tem página na wiki do arch

https://wiki.archlinux.org/index.php/Linux-ck

 

e claro, página no AUR, para quem, como eu, compila de peito aberto

https://aur.archlinux.org/packages/Linux-ck/

Compartilhar este post


Link para o post
Compartilhar em outros sites

KERNEL CK - ALTERANDO NA RAIZ DO KERNEL

 

Se tudo ocorreu bem, e substituimos o "chamador" da configuração do kernel para o Xconfig, ele iniciará após as rotinas do pkgbuild....

 

Aqui estão as opções em "xconfig" em stock do kernel ck

Compartilhar este post


Link para o post
Compartilhar em outros sites

Linux - LQX

 

Apresentação:

A desktop oriented kernel and modules with Liquorix patches

 

Mais detalhes sobre o "liquorix"

 

Liquorix is a distro kernel replacement built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads.

Fonte:

http://liquorix.net/

 

Disponível via AUR

https://aur.archlinux.org/packages/linux-lqx/

 

Este kernel tem driver de vídeo próprio

https://aur.archlinux.org/packages/nvidia-lqx/

Compartilhar este post


Link para o post
Compartilhar em outros sites

LQX na Raiz do Kernel

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESERVADO

Compartilhar este post


Link para o post
Compartilhar em outros sites

espacoreserv1.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra reserva

Compartilhar este post


Link para o post
Compartilhar em outros sites

altra reserva

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pô, que saga. A compressão da imagem do kernel (GZIP, XZ, LZ4, etc) não faz diferença na execução. É uma medida apenas para economizar espaço no arquivo mesmo.

HZ_1000 é usado no kernel -desktop do openSUSE e no Fedora. Já o kernel -default do openSUSE usa HZ_250.

Teste os parâmetros que configuram o comportamento tickless do kernel (CONFIG_NO_HZ_IDLE <-> CONFIG_NO_HZ_FULL) -- ver este documento.

E compilar para a família do seu processador. Essa otimização não traz ganho significativo, mas qualquer porcento já está valendo. ;)

Seria interessamente é testar diferentes versões do GCC. Porém daí sua matriz de teste aumentaria demais.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcos FRM mas olha so quem eu encontro....kkkk

 

com o tickless eu cheguei a ganhos de 1 a 1,5 minutos meu caro, mas a ideia inicial é preservar o que tem de bom o kernel. quanto ao 1khz ou 300hz, te digo, tem alteracao sim... um minuto até... mas é na carga que vale a pena

 

infelizmente tive de comecar tudo do zero, por conta do windows... mas os testes recomecam

 

@Marcos FRM muito obrigado pela contribuicao meu caro... e seja bem vindo ao folding.... tuas dicas ~lá~ sempre foram boas....

 

and that the carnage re-begins

Compartilhar este post


Link para o post
Compartilhar em outros sites

reserva de post

Compartilhar este post


Link para o post
Compartilhar em outros sites

reserva de post

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em tempo:

@Marcos FRM esqueci de algo aqui? alguma coisa que gostarias de citar quanto ao kernel stock?

Acho que não. Se descobrir algo mais volto para incomodar. :)

Numa instalação mínima do F21 (kernel padrão 3.17.7-300.fc21.x86_64):

 

  PID  PPID   SID COMMAND    1     0     1 systemd  230     1   230   systemd-journal  255     1   255   systemd-udevd  293     1   293   auditd  304     1   304   firewalld  306     1   306   systemd-logind  308     1   307   chronyd  310     1   310   dbus-daemon  319     1   319   crond  325     1   325   agetty  375     1   375   NetworkManager  411     1   411   polkitd  431     1   431   sshd 7403   431  7403     sshd 7411  7403  7411       bash 7445  7411  7411         ps  471     1   471   FAHClient  768   471   471     FAHCoreWrapper  815   768   471       FahCore_a4 7407     1  7407   systemd 7409  7407  7407     (sd-pam)
Ao usar o CFS, duas opções a serem testadas na execução (via sysctl):

kernel.sched_migration_cost

Com muitos núcleos provavelmente aumentando esse tempo ajude evitando trocas de contexto desnecessárias. Para cargas com várias máquinas virtuais, o RHEL aumenta para 5000000 ns (https://bugzilla.redhat.com/show_bug.cgi?id=969491).

kernel.sched_autogroup_enabled

É o famoso patch lá de 2010 que coloca os processos de cada SID num cgroup diferente. Para liberar o máximo de recursos para o F @ H, desative-o. A responsividade em outras tarefas pode piorar, contudo. Reverta se necessário.

Referência: http://www.postgresql.org/message-id/50E4AAB1.9040902@optionshouse.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

reserva de post


@Marcos FRM bom saber também disso.

 

Inicialmente vou deixar os kerneis como estão, apenas alterando pouca coisa, e num segundo momento, daí sim... "partir pra ignorância"

Compartilhar este post


Link para o post
Compartilhar em outros sites

reserva de post

Compartilhar este post


Link para o post
Compartilhar em outros sites

reserva de post

Compartilhar este post


Link para o post
Compartilhar em outros sites

reserva de post

Compartilhar este post


Link para o post
Compartilhar em outros sites

reserva de post

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×