Sempre que vejo a inicialização do Linux, vejo esta mensagem:
origem do relógio tsc instável (delta = NNNNNNNN ns)
onde NNNNNNNN é um número muito grande que pode ser positivo ou negativo.
O que essa mensagem significa? Devo me preocupar com isso?
Sempre que vejo a inicialização do Linux, vejo esta mensagem:
origem do relógio tsc instável (delta = NNNNNNNN ns)
onde NNNNNNNN é um número muito grande que pode ser positivo ou negativo.
O que essa mensagem significa? Devo me preocupar com isso?
Respostas:
Sinceramente, vejo esta mensagem pela primeira vez hoje e não tenho idéia do que ela realmente significa.
Dito isto, li o artigo da Wikipedia no contador do carimbo de data / hora (que é o que está tsc
na mensagem de erro). O artigo menciona um problema com o TSC no segundo parágrafo:
Até recentemente, o contador de registro de data e hora era uma excelente maneira de obter informações de tempo da CPU, de alta resolução e baixa sobrecarga. Com o advento de CPUs com vários núcleos / hyperthread, sistemas com várias CPUs e sistemas operacionais "hibernando", o TSC não pode ser invocado para fornecer resultados precisos- a menos que seja tomado muito cuidado para corrigir as possíveis falhas: taxa de tick e se todos os núcleos (processadores) têm valores idênticos em seus registros de registro de horas. Não há promessa de que os contadores de data e hora de várias CPUs em uma única placa-mãe sejam sincronizados. Nesses casos, os programadores só podem obter resultados confiáveis bloqueando seu código em uma única CPU. Mesmo assim, a velocidade da CPU pode mudar devido a medidas de economia de energia tomadas pelo sistema operacional ou BIOS, ou o sistema pode ser hibernado e reiniciado mais tarde (redefinindo o contador de carimbo de data / hora). Nesses últimos casos, para permanecer relevante, o contador deve ser recalibrado periodicamente (de acordo com a resolução de tempo exigida por sua inscrição).
Em resumo, em sistemas modernos, o TSC é uma droga para medir o tempo com precisão . E é isso que a mensagem está dizendo. No seu sistema, o TSC não é uma fonte de tempo estável.
O delta
observado, eu diria, é o delta de tempo relatado entre dois ticks do TSC. Ou seja, toda vez que o TSC conta 1
, os NNNNNNNNN
nanossegundos passam. Então, é assim que você costuma manter um tempo muito preciso.
O kernel do linux terá verificado essa frequência várias vezes (para determinar se a fonte é estável) e obteve resultados diferentes. Assim, a mensagem.
Então, você precisa se preocupar?
Sinceramente, não sei. Na minha opinião, esse problema surge do fato de os processos serem "movidos" entre os núcleos (todos os núcleos podem ter uma frequência TSC diferente) ou um núcleo alterando sua frequência (como na economia de energia).
Provavelmente, a mensagem é impressa apenas porque o kernel detectou esse problema por si próprio e agora será ajustado de acordo.
E, pelo que li nas fontes do kernel ( arch/x86/kernel/tsc.c
), não acho que estou muito longe com minhas suposições.
Duvido que a mensagem signifique uma condição crítica. E baseio-me na suposição de que você já deveria saber se isso fosse crítico.
tsc
se refere ao contador de carimbo de data / hora . Se isso ajudar.