qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [Qemu-devel] [PATCH] spapr: Fix stale HTAB during live mi


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-ppc] [Qemu-devel] [PATCH] spapr: Fix stale HTAB during live migration
Date: Mon, 18 Aug 2014 11:31:17 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

* Samuel Mendoza-Jonas (address@hidden) wrote:
> If a guest reboots during a running migration, changes to the
> hash page table are not necessarily updated on the destination.
> Opening a new file descriptor to the HTAB forces the migration
> handler to resend the entire table.
> 
> Signed-off-by: Samuel Mendoza-Jonas <address@hidden>
> ---
>  hw/ppc/spapr.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 3a6d26d..7733b37 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -997,6 +997,12 @@ static void spapr_reset_htab(sPAPREnvironment *spapr)
>          /* Kernel handles htab, we don't need to allocate one */
>          spapr->htab_shift = shift;
>          kvmppc_kern_htab = true;
> +
> +        /* Make sure readers are aware of the reset */
> +        if (spapr->htab_fd > 0) {
> +            close(spapr->htab_fd);
> +            spapr->htab_fd = kvmppc_get_htab_fd(false);
> +        }

If this function can be called during migration, then
if we're unlucky can't that happen during a call to htab_save_iterate
from the migration thread?
If so what would happen if that htab_save_iterate call was made
just between the close() and the reopen?

Dave

>      } else {
>          if (!spapr->htab) {
>              /* Allocate an htab if we don't yet have one */
> -- 
> 1.9.3
> 
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

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