* Peter Maydell (peter.mayd...@linaro.org) wrote: > On 10 November 2015 at 14:25, Juan Quintela <quint...@redhat.com> wrote: > > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > > > When transmitting RAM pages, consume pages that have been queued by > > MIG_RPCOMM_REQPAGE commands and send them ahead of normal page scanning. > > > > Note: > > a) After a queued page the linear walk carries on from after the > > unqueued page; there is a reasonable chance that the destination > > was about to ask for other closeby pages anyway. > > > > b) We have to be careful of any assumptions that the page walking > > code makes, in particular it does some short cuts on its first linear > > walk that break as soon as we do a queued page. > > > > c) We have to be careful to not break up host-page size chunks, since > > this makes it harder to place the pages on the destination. > > > > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > > Reviewed-by: Juan Quintela <quint...@redhat.com> > > Signed-off-by: Juan Quintela <quint...@redhat.com> > > I've just discovered that this is causing 'make check' failures on > my OSX host (unfortunately something in my setup is causing > 'make check' failures to not always cause a build failure, so I > didn't notice earlier):
It's only failing on OSX? Every time or only sometimes? > manooth$ (make -C build/x86 -j8 && cd build/x86 && > QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 > QTEST_QEMU_IMG=qemu-img MALLOC_PERTURB_=${MALLOC_PERTURB_:-$((RANDOM % > 255 + 1))} tests/ahci-test) > [...] > > /x86_64/ahci/flush/simple: OK > /x86_64/ahci/flush/retry: OK > /x86_64/ahci/flush/migrate: qemu: qemu_mutex_lock: Invalid argument > qemu-system-x86_64:Broken pipe > Not a migration stream > qemu-system-x86_64: load of migration failed: Invalid argument OK, let me see if I can find - I do add a mutex in there (src_page_req_mutex) that I guess is the most likely culprit; it's initialised by migrate_get_current (once using a bool) so it should be OK. If you can find a way to get a backtrace off that qemu_mutex_lock case that would be great; I'd assume the later errors are the fall out from that. Dave > > thanks > -- PMM -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK