Linux Kernel reclamando sobre o TSC quando a fonte de clock selecionada é Hyper V

2

Estamos executando as caixas do RHEL 6 no HyperV com o Windows Server 2012. Em algumas das caixas do RHEL, estou vendo esse erro em / var / log / messages

kernel: Clocksource tsc unstable (delta = -62519781 ns).  Enable clocksource failover by adding clocksource_failover kernel parameter.

A fonte atual do relógio é -

[root@server ~]# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
hyperv_clocksource

E as fontes de relógio disponíveis são -

[root@server ~]# cat /sys/devices/system/clocksource/clocksource0/available_clocksource 
hyperv_clocksource tsc acpi_pm jiffies 

Minha pergunta é - 1. Por que o servidor está reclamando sobre o tsc quando a origem do relógio é HyperV? 2. Qual fonte de clock devo selecionar como failover?

P.S - Estou ciente da solução da Red Hat - link . Eu só estou querendo saber por que isso está acontecendo?

Para quem não tem acesso RedHat, a solução é a seguinte -

Altere a fonte do relógio para outro relógio disponível no sistema Primeiro, encontre as fontes de relógio do sistema disponíveis:

$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource

**** Um exemplo dos resultados está abaixo: *

$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource 
tsc hpet acpi_pm 

Em seguida, verifique a fonte atual do relógio em uso:

$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource

**** Um exemplo dos resultados está abaixo: *

$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource 
tsc

Finalmente, defina a nova fonte de relógio:

echo <new clock source selection> > /sys/devices/system/clocksource/clocksource0/current_clocksource

Para tornar esta mudança persistente entre as reinicializações do sistema, o seguinte deve ser adicionado à linha de comando do kernel em /boot/grub/grub.conf:

clocksource=<clock source choice>
    
por Sidd 06.01.2014 / 23:39

1 resposta

1

A queixa é apenas que é necessário fazer fallover do padrão do TSC, e você não tem o módulo para detectar o melhor. Aparentemente, ele já está selecionando o correto, então isso não é um problema.

O aviso está apenas lá, então você sabe o que fazer se o kernel está escolhendo a fonte de relógio alternativa errada por padrão.

Por que o timer TSC não está produzindo um timer confiável, isso pode ser um bug no software da máquina virtual. Você pode querer verificar o manual da sua máquina virtual. Há também uma errata em alguns processadores com o estado C 2 e estados inativos de CPU mais baixos interrompendo o temporizador TSC. De qualquer forma, não acho que seja uma grande preocupação.

    
por 08.07.2014 / 10:56