[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