qemu -enable-kvm * ​​mais lento * que a emulação pura para x86_64

2

Executando qemu-system-x86_64 -enable-kvm -cpu host -smp cores=4hospedado em uma máquina Intel Xeon / Core-2 (nova geração, Família = 6) ou melhor (número total de núcleos em guest = 24, ram total = 196gb), e o kernel convidado trava por alguns minutos e o kernel host envia mensagens gostar:

kvm: SMP vm criado no host com TSC instável; o TSC convidado não será confiável
kvm [..]: vcpu0, guest rIP: 0xffffffff81064724 desativado perfctr wrmsr: 0xc2 dados 0xffff

Removendo -enable-kvm -cpu host... o sistema convidado fica mais rápido !?

O que da?

Ahmed Masud
fonte
Quais versões do kernel você está usando em ambos os lados? Poderia estar relacionado a um bug, corrigido pelo patch x86 / tsc: Corrigir taxa de TSC incorreta no Skylake Xeon ?
Lekensteyn

Respostas:

2

Bem, acontece que esse problema é a fonte de relógio usada pelo kvm no sistema host. Dê uma olhada na saída de:

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

se é tcsou tcs_earlyvocê encontrou o culpado, altere-o para uma das outras fontes de relógio disponíveis no seu sistema:

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

Por exemplo, hpet (timer de eventos de alto desempenho):

$ echo hpet | sudo tee /sys/devices/system/clocksource/clocksource0/current_clocksource
Ahmed Masud
fonte
Alguma chance de uma explicação de por que tcsuma fonte de relógio ruim é usada em comparação com outras? Existem outras desvantagens ou benefícios em mudar a fonte do relógio?
Mokubai
Informações possíveis sobre o porquê da Intel ( software.intel.com/en-us/blogs/2013/06/20/… ), mas não estou convencido, pois menciona o Xeon Phi como problemático e não suportando tsc invariável.
Mokubai
11
Eu não entendi por que o tcs clock é uma fonte ruim, mas não tive tempo para hackear o código kvm. Provavelmente vou executar alguns testes depois que o projeto bobo que eu tiver feito for concluído. No entanto, é definitivamente o culpado, porque o problema é facilmente reproduzida em vários hardwares com várias permutações
Ahmed Masud