Muito Bem Vindo
Prezado Leitor, a proposta desse Blog é compartilhar conhecimento com as pessoas que trabalham com Linux, Asterisk, OpenSER, e com tecnologia de voz sobre a rede IP em geral, através de tutoriais, dicas, howto, notícias entre outros assuntos.
Atente para termo de uso do conteúdo do blog no rodapé da página.
sábado, 26 de abril de 2008
Lock debugging: prove locking correctness
----------------------------------------------------------------------------------------------------------------------------------------
Lock debugging: prove locking correctness
CONFIG_PROVE_LOCKING:
Essa funcionalidade habilita o kernel provar que todo travamento que ocorrer no kernel runtime está matematicamente correto: que sob nenhuma circunstancia pode uma combinação arbitraria (e ainda não trigada) de seqüências de travamento observadas (em um número arbitrário de CPUs, rodando um número arbitrário de tarefas e contextos de interrupção) causa um deadlock.
Em resumo, essa funcionalidade habilita o kernel reportar travamento relacionado à deadlocks antes mesmo deles ocorrem de fato.
A prova não depende de quão difícil e complexo seria um cenário de deadlock para trigar: quantas CPUs participantes, tarefas e irq-contextos seriam preciso para ele trigar.
A prova também não depende de timing: se uma condição race e um deadlock resultante sejam possíveis teoricamente (não importa quão seja improvável o cenário race), seria provado então e seria imediatamente reportado pelo kernel (uma vez o evento seja observado que torna o deadlock teoricamente possível).
Se um deadlock for impossível (ou seja, as regras de trava são corretas matematicamente, como observado pelo kernel), o kernel reporta nada.
NOTE que essa funcionalidade também pode ser habilitada por rwlocks, mutexes e rwsems – naquele caso todas as dependências entre essas diferentes variantes de travamento são observadas e mapeadas também, e a prova de exatidão observada é também mantida por uma combinação arbitraria dessas variantes separadas de travamento.
Para mais detalhes, veja o arquivo Documentation/lockdep-design.txt.
Symbol: PROVE_LOCKING [=y]
Prompt: Lock debugging: prove locking correctness
Defined at lib/Kconfig.debug:174
Depends on: DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
Location:
-> Kernel hacking
-> Kernel debugging (DEBUG_KERNEL [=y])
Selects: LOCKDEP && DEBUG_SPINLOCK && DEBUG_MUTEXES && DEBUG_RWSEMS && DEBUG_LOCK_ALLOC
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário