[FUG-BR] RES:  RES: Não usem FBSD-8x como router !!!
    Luiz Otavio O Souza 
    lists.br em gmail.com
       
    Sábado Março  5 11:12:27 BRT 2011
    
    
  
On Mar 4, 2011, at 9:52 AM, Eduardo Schoedler wrote:
> Pessoal,
> 
> Aproveitando o tópico... não terei perda de performance mantendo os "debug
> symbols", KDB e GDB compilados no kernel ?
> Meu kernel está assim:
> 
> # Debbuging
> makeoptions     DEBUG=-g  # Build kernel with gdb(1) debug symbols
> options         KDB
> options         KDB_TRACE
> options         GDB
> options         SOCKBUF_DEBUG
> options         DEBUG_VFS_LOCKS
> options         DEBUG_MEMGUARD
> 
> 
> Sds,
> 
> --
> Eduardo Schoedler
Eduardo,
Os símbolos utilizados no debug só aumentam o tamanho do kernel, mas eles não impactam na performance do sistema pois eles não adicionam nada a mais de 'código' (não existe nada que precise ser executado 'a mais' por conta do debug).
Mas isso é com relação a opção '-g'...
As outras opções (kernel options) podem adicionar códigos extras de verificação (como o INVARIANTS, WITNESS, etc. - opções default no -current) e assim afetar a performance.
Eu (IMHO) recomendo, ao menos, utilizar as opções que estão no kernel GENERIC (e remover as opções não default):
makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
options         KDB                     # Kernel debugger related code
options         KDB_TRACE               # Print a stack trace for a panic
Já no -current, o GENERIC tem por default as seguintes opções de debug (apenas para comparação):
# Debugging for use in -current
options         KDB                     # Enable kernel debugger support.
options         DDB                     # Support DDB.
options         GDB                     # Support remote GDB.
options         DEADLKRES               # Enable the deadlock resolver
options         INVARIANTS              # Enable calls of extra sanity checking
options         INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
options         WITNESS                 # Enable checks to detect deadlocks and cycles
options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks for speed
options         MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
Mantendo-se próximo do GENERIC, os problemas são sempre menores (kernel padrão == recebe mais testes).
Att.,
Luiz
    
    
Mais detalhes sobre a lista de discussão freebsd