Operação vcpu de convidado simultâneo no KVM

1

Estou lançando um sistema x86 debian como convidado usando o QEMU2.6.0 em minha máquina host x86. O host é uma máquina de 2 soquetes de 8 núcleos inicializada com o RHEL7 com KVM ativado. 2 dispositivos PCI estão sendo emulados no convidado. -Preciso verificar a operação simultânea desses dispositivos PCI. O dispositivo PCI A é projetado de tal forma que o acesso a um determinado deslocamento BAR X induz o sleep () neste dispositivo por uma duração fixa. Durante esse período de sono, o aplicativo de teste tenta acessar a BAR para o dispositivo PCI B & gravar dados para ele.

  • O bloqueio global é eliminado ao criar regiões de memória para os dois dispositivos PCI.
  • A afinidade de tarefa é definida para processos iniciados para chutar aplicativos de teste que estão tentando acessar BARs para PCI A & B
  • Quando o QEMU é inicializado com a opção -smp 4, 4 vcpus são criados. Definindo a afinidade da tarefa, forço o agendador a agendar a operação de acesso para os dois dispositivos para separar o vcpus.
  • Nesse caso, mesmo que o dispositivo PCI A adormeça, digamos vcpu0, o acesso BAR BAR do dispositivo PCI deve ser planejado em outro número de vcpu escolhido usando o conjunto de tarefas.
  • Esse comportamento não está sendo observado. Quando o dispositivo A entra no modo de suspensão, as operações de R / W no dispositivo B são interrompidas & eles são retomados apenas quando o dispositivo A sai do sono.

Alguém pode compartilhar sua opinião sobre por que esse comportamento é observado?

Atualmente estou no escuro para depurar este problema & preciso de um ponteiro sobre como devo começar a depurar esse problema.

Cumprimentos LT

    
por Linux Techie 20.09.2016 / 08:15

0 respostas