[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