[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kernel 2.6.0 Released - Quem deve atualizar?



On Fri, Dec 19, 2003 at 09:44:12PM -0200, Fabricio Cannini Flores wrote:
> Me corrijam se estiver errado,
> mas seria então por isso que tem gente escalando o 2.6 a 64 processadores 
> por kernel?

um kernel preemptível tem um mecanismo de lock mais refinado, isto é, as
estruturas de dados do kernel são protegidas por "lockings", de modo que
se uma instância do kernel que estiver rodando em um processador for
interrompida (preemptada - removida da cpu), as estruturas de dados que
ela está utilizando não serão
corrompidas/alteradas/deixadas_inconsistentes por outra instância do
kernel que esteja rodando em qualquer outra cpu.

como disse o Leandro G.F.C. Dutra, isto já existia no kernel antigo, 
mas em menor escala. no 2.6.0 este mecanismo foi refinado.

existem algumas situações que devem ser protegidos:
- dados por CPU, estado da CPU; tb os locks têm que ser adquiridos e
  liberados pela mesma tarefa.

a solução para a proteção de dados sob preempção é _desabilitar_ a
preempção enquanto durar a região crítica (trecho de código onde se
acessa variáveis compartilhadas e que pode resultar em inconsistência se
não tiver exclusão mútua).

no 2.6.0 os lockings ficaram muito mais leves, e normalmente são por
CPU, o que deixa as outras instâncias executando. 

além dos lockings, existem situações em que as interrupções precisam ser
desabilitadas, e isto é feito em grande parte somente na CPU local,
também deixando as outras instâncias executando. ainda é possível
desabilitar as interrupções globalmente, mas estas situações são mais
raras e são sempre desencorajadas, ou seja, nada de programador
preguiçoso no kernel.



> Claro que fazem isso porque o 2.6 tem suporte a NUMA (non-uniform memory 
> access, acesso não uniforme á memória), e um agendamento de processos 
> turbinado como está o do 2.6.
> Seria isso? 

não somente para NUMA mas tb para SMP.

referências: preempt-locking.txt, sched-coding.txt e cli-sti-removal.txt


-- 
Mario O.de Menezes, Ph.D.    "Many are the plans in a man's heart, but
    IPEN-CNEN/SP                is the Lord's purpose that prevails"
http://www.ipen.br/~mario                  Prov. 19.21
    



Reply to: