All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: "Marcin Gibuła" <m.gibula@beyond.pl>, "Andrey Korolyov" <andrey@xdel.ru>
Cc: Amit Shah <amit.shah@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Fam Zheng <famz@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] latest rc: virtio-blk hangs forever after migration
Date: Fri, 18 Jul 2014 10:48:40 +0200	[thread overview]
Message-ID: <53C8DF68.5040705@redhat.com> (raw)
In-Reply-To: <53C7CEE5.4080006@beyond.pl>

Il 17/07/2014 15:25, Marcin Gibuła ha scritto:
> +static void do_kvm_cpu_synchronize_state_always(void *arg)
> +{
> +    CPUState *cpu = arg;
> +
> +    kvm_arch_get_registers(cpu);
> +}
> +

The name of the hack^Wfunction is tricky, because compared to 
do_kvm_cpu_synchronize_state there are three things you change:

1) you always synchronize the state

2) the next call to do_kvm_cpu_synchronize_state will do 
kvm_arch_get_registers

3) the next CPU entry will call kvm_arch_put_registers:

         if (cpu->kvm_vcpu_dirty) {
             kvm_arch_put_registers(cpu, KVM_PUT_RUNTIME_STATE);
             cpu->kvm_vcpu_dirty = false;
         }

It is easy to find out if the "fix" is related to 1 or 2/3: just write

      if (cpu->kvm_vcpu_dirty) {
          printf ("do_kvm_cpu_synchronize_state_always: look at 2/3\n");
          kvm_arch_get_registers(cpu);
      } else {
          printf ("do_kvm_cpu_synchronize_state_always: look at 1\n");
      }

To further refine between 2 and 3, I suppose you can set a breakpoint on 
cpu_synchronize_all_states and kvm_cpu_exec, and see which is called 
first after cpu_synchronize_all_states_always.

I still lean very much towards reverting the patches now.  We can 
reapply them, fixed, in 2.1.1.

Paolo

  parent reply	other threads:[~2014-07-18  8:49 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-13 12:28 [Qemu-devel] latest rc: virtio-blk hangs forever after migration Andrey Korolyov
2014-07-13 15:29 ` Andrey Korolyov
2014-07-15 15:57   ` Paolo Bonzini
2014-07-15 17:32     ` Andrey Korolyov
2014-07-15 17:39       ` Andrey Korolyov
2014-07-15  5:03 ` Amit Shah
2014-07-15  6:52   ` Andrey Korolyov
2014-07-15 14:01     ` Andrey Korolyov
2014-07-15 21:09       ` Marcelo Tosatti
2014-07-15 21:25         ` Andrey Korolyov
2014-07-15 22:01           ` Paolo Bonzini
2014-07-15 23:40             ` Andrey Korolyov
2014-07-15 23:47               ` Marcelo Tosatti
2014-07-16  1:16               ` Marcelo Tosatti
2014-07-16  8:38                 ` Andrey Korolyov
2014-07-16 11:52                   ` Marcelo Tosatti
2014-07-16 13:24                     ` Andrey Korolyov
2014-07-16 18:25                       ` Andrey Korolyov
2014-07-16 21:28                         ` Marcin Gibuła
2014-07-16 21:36                           ` Andrey Korolyov
2014-07-17  9:49                             ` Marcin Gibuła
2014-07-17 11:20                               ` Marcin Gibuła
2014-07-17 11:54                               ` Marcin Gibuła
2014-07-17 12:06                                 ` Andrey Korolyov
2014-07-17 13:25                                   ` Marcin Gibuła
2014-07-17 19:18                                     ` Dr. David Alan Gilbert
2014-07-17 20:33                                       ` Marcin Gibuła
2014-07-17 20:50                                     ` Andrey Korolyov
2014-07-18  8:21                                       ` Marcin Gibuła
2014-07-18  8:36                                         ` Andrey Korolyov
2014-07-18  8:44                                           ` Marcin Gibuła
2014-07-18  8:51                                             ` Paolo Bonzini
2014-07-18  8:48                                     ` Paolo Bonzini [this message]
2014-07-18  8:57                                       ` Amit Shah
2014-07-18  9:32                                       ` Marcin Gibuła
2014-07-18  9:37                                         ` Paolo Bonzini
2014-07-18  9:48                                           ` Marcin Gibuła
2014-07-29 16:58                                       ` Paolo Bonzini
2014-07-30 12:02                                         ` Marcin Gibuła
2014-07-30 13:38                                           ` Paolo Bonzini
2014-07-30 22:12                                             ` Marcin Gibuła
2014-07-31 11:27                                               ` Marcin Gibuła
2014-08-04 16:30                                                 ` Marcin Gibuła
2014-08-04 18:30                                                   ` Paolo Bonzini
2014-08-08 21:37                                                     ` Marcelo Tosatti
2014-08-09  6:35                                                       ` Paolo Bonzini
2014-08-21 15:48                                                         ` Andrey Korolyov
2014-08-21 16:41                                                           ` Andrey Korolyov
2014-08-21 16:44                                                             ` Paolo Bonzini
2014-08-21 17:51                                                               ` Andrey Korolyov
2014-08-22 16:44                                                                 ` Andrey Korolyov
2014-08-22 17:45                                                                   ` Marcelo Tosatti
2014-08-22 18:39                                                                     ` Andrey Korolyov
2014-08-22 19:05                                                                       ` Marcelo Tosatti
2014-08-22 19:05                                                                         ` Marcelo Tosatti
2014-08-22 19:51                                                                           ` Andrey Korolyov
2014-08-22 21:01                                                                           ` Marcelo Tosatti
2014-08-22 22:21                                                                             ` Andrey Korolyov
2014-08-24 16:19                                                                             ` Andrey Korolyov
2014-08-24 16:35                                                                               ` Paolo Bonzini
2014-08-24 16:57                                                                                 ` Andrey Korolyov
2014-08-24 18:51                                                                                   ` Andrey Korolyov
2014-08-24 20:14                                                                                     ` Andrey Korolyov
2014-08-25 10:45                                                                                       ` Paolo Bonzini
2014-08-25 10:51                                                                                         ` Andrey Korolyov
2014-09-04 16:38                                                                                     ` Marcelo Tosatti
2014-09-04 16:52                                                                                       ` Andrey Korolyov
2014-09-04 18:54                                                                                         ` Marcelo Tosatti
2014-09-04 18:54                                                                                           ` Marcelo Tosatti
2014-09-04 19:13                                                                                             ` Andrey Korolyov
2014-08-22 17:55                                                                   ` Paolo Bonzini
2014-10-09 19:07                                                   ` Eduardo Habkost
2014-10-10  7:33                                                     ` Marcin Gibuła
2014-10-11 12:58                                                       ` Eduardo Habkost
2014-07-16  7:35         ` Marcin Gibuła
2014-07-16 12:00           ` Marcelo Tosatti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53C8DF68.5040705@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=amit.shah@redhat.com \
    --cc=andrey@xdel.ru \
    --cc=famz@redhat.com \
    --cc=m.gibula@beyond.pl \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.