qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 42/57] Page request: Consume pages off the post-c


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PULL 42/57] Page request: Consume pages off the post-copy queue
Date: Thu, 12 Nov 2015 12:04:44 +0000
User-agent: Mutt/1.5.24 (2015-08-30)

* Peter Maydell (address@hidden) wrote:
> On 10 November 2015 at 14:25, Juan Quintela <address@hidden> wrote:
> > From: "Dr. David Alan Gilbert" <address@hidden>
> >
> > 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 <address@hidden>
> > Reviewed-by: Juan Quintela <address@hidden>
> > Signed-off-by: Juan Quintela <address@hidden>
> 
> 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 / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]