17.03  
Inicio
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histórico da Lista
PC-BSD: Artigos
PC-BSD: Notícias
Galeria de Imagens
Contador Usuários FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introdução
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usuário

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


FreeBSD Ports Collection agora Paralelizável em ambiente SMP. PDF Imprimir E-mail
Por P. Tracanelli (FreeBSD Brasil)   
31/03/2009
Uma ótima notícia: Há dois dias o commiter Pav fez a inclusão na Coleção de Ports do FreeBSD de uma alteração consideravelmente importante no framework de ports, mudança essa que por sinal tinha muita demanda de solicitações por parte de usuários e desevolvedores: suporte pleno automática a construção de ports em múltiplos núcleos de processamento. Com isso o framework de ports tira proveito das flags -jX no make(1).
 
Apesar de nem todo código no Ports ser completamente ISO C, habilitando o recurso globalmente temos apenas 400 ports que falham ao compilar. O que parece muito, mas considerando o tamanho da árvore, não é. Ainda assim o framework foi projetado no sentido de conter whitelist dos Ports que podem ser compilados em ambiente SMP sem problemas. Dessa forma os commiters de ports já começaram a adicionar tal recurso em ports mais populares como Firefox, Apache, PHP, KDE, Gnome e outros.

O que muda para os usuários?

Nada. Os ports declarados como SMP-seguros farão uso automaticamente da quantidade de núcleos disponíveis no servidor. Mas se por algum motivo você quiser desabilitar o recurso, basta compilar o port com a flag  DISABLE_MAKE_JOBS=yes ou se preferir, globalmente, colocar DISABLE_MAKE_JOBS=yes no /etc/make.conf. O padrão é a paralelização acontecer de acordo com o número de núcleos disponível no computador, mas se quiser alterar esse valor pode defini-lo com a variável MAKE_JOBS_NUMBER=X no /etc/make.conf ou no momento da compilação do port.

Se você adora testes e quer testar todos os ports mesmo aqueles que o mantenedor ainda não comprovou a possibilidade de compilar plenamente em SMP, use a flag FORCE_MAKE_JOBS=yes.

O que muda para os commiters?

Se o commiter não quiser colocar seu port compilando em ambiente SMP, não precisa fazer nada. Mas se quer colocar, deve usar a flag MAKE_JOBS_SAFE=yes que carrega o framework em questão, em qualquer bloco abaixo da declaração de DEPEND. Se sabe que a aplicação que mantém, não se comporta bem com paralelização de compilação e quer desabilitar, mesmo que o usuário force a paralelização, use a flag MAKE_JOBS_UNSAFE=yes mais uma vez, na declaração, abaixo de DEPEND.

Seu port preferido ainda não tira proveito da compilação paralelizada? Então modifique-o da forma sugerida, e teste. Quando eu digo teste, não basta ver se compila. Teste o resultado final gerada, já que alguns ports notoriamente se comportam de forma adversa quando compilados com flags de otimização ou paralelizados, mesmo não gerando falha de compilação. Depois de testar submeta um PR - com send-pr(1). Ou então dê um ping no mantenedor do seu port preferido (hehe).

Comentários
Por loans em 17/07/2009 10:02:03
Obrigado por este post. Eu sou novo aqui e só entrou na sua comunidade. Meu nome é Jack e eu estou trabalhando em mortgage em New York.


Comente!*
Nome:
E-mail
Homepage
Título:
Comentário:

Código:* Code

 
< Anterior   Próximo >
FUG-BR - Espalhando BSD
Dicas Rápidas:

Para ter seu sistema otimizado para seu hardware.

Coloque no "/etc/make.conf" a linha "CPUTYPE=native"

Isto vale para gcc 4.2 e maiores

para saber a versão do seu compilador use "gcc -v"

 






Wallpapers
FreeBSD Security Advisories
  • FreeBSD-SA-10:03.zfs
  • FreeBSD-SA-10:02.ntpd
  • FreeBSD-SA-10:01.bind
  • FreeBSD-SA-09:17.freebsd-update
  • FreeBSD-SA-09:16.rtld
  • FreeBSD-SA-09:15.ssl
  • FreeBSD-SA-09:14.devfs
  • FreeBSD-SA-09:13.pipe
  • FreeBSD-SA-09:12.bind

  • Online:
    Nós temos 33 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA

    FUG-BR: Desde 1999, espalhando BSD pelo Brasil.