[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 32/47] postcopy: ram_enable_notify to switch
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH v4 32/47] postcopy: ram_enable_notify to switch on userfault |
Date: |
Thu, 20 Nov 2014 08:17:22 +1100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Nov 19, 2014 at 06:59:38PM +0000, Dr. David Alan Gilbert wrote:
> * David Gibson (address@hidden) wrote:
> > On Fri, Oct 03, 2014 at 06:47:38PM +0100, Dr. David Alan Gilbert (git)
> > wrote:
> > > From: "Dr. David Alan Gilbert" <address@hidden>
> > >
> > > Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> > > ---
> > > include/migration/migration.h | 2 ++
> > > include/migration/postcopy-ram.h | 6 +++++
> > > postcopy-ram.c | 49
> > > +++++++++++++++++++++++++++++++++++++++-
> > > savevm.c | 9 ++++++++
> > > 4 files changed, 65 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/include/migration/migration.h b/include/migration/migration.h
> > > index be63c89..b01cc17 100644
> > > --- a/include/migration/migration.h
> > > +++ b/include/migration/migration.h
> > > @@ -87,6 +87,8 @@ struct MigrationIncomingState {
> > > POSTCOPY_RAM_INCOMING_END
> > > } postcopy_ram_state;
> > >
> > > + /* For the kernel to send us notifications */
> > > + int userfault_fd;
> > > QEMUFile *return_path;
> > > QemuMutex rp_mutex; /* We send replies from multiple threads
> > > */
> > > PostcopyPMI postcopy_pmi;
> > > diff --git a/include/migration/postcopy-ram.h
> > > b/include/migration/postcopy-ram.h
> > > index 8f237a2..413b670 100644
> > > --- a/include/migration/postcopy-ram.h
> > > +++ b/include/migration/postcopy-ram.h
> > > @@ -19,6 +19,12 @@
> > > int postcopy_ram_hosttest(void);
> > >
> > > /*
> > > + * Make all of RAM sensitive to accesses to areas that haven't yet been
> > > written
> > > + * and wire up anything necessary to deal with it.
> > > + */
> > > +int postcopy_ram_enable_notify(MigrationIncomingState *mis);
> > > +
> > > +/*
> > > * Initialise postcopy-ram, setting the RAM to a state where we can go
> > > into
> > > * postcopy later; must be called prior to any precopy.
> > > * called from arch_init's similarly named ram_postcopy_incoming_init
> > > diff --git a/postcopy-ram.c b/postcopy-ram.c
> > > index 8eccf26..925ac77 100644
> > > --- a/postcopy-ram.c
> > > +++ b/postcopy-ram.c
> > > @@ -485,9 +485,51 @@ int
> > > postcopy_ram_incoming_cleanup(MigrationIncomingState *mis)
> > > return 0;
> > > }
> > >
> > > +/*
> > > + * Mark the given area of RAM as requiring notification to unwritten
> > > areas
> > > + * Used as a callback on qemu_ram_foreach_block.
> > > + * host_addr: Base of area to mark
> > > + * offset: Offset in the whole ram arena
> > > + * length: Length of the section
> > > + * opaque: Unused
> >
> > ^^^^^^
> > This appears to be wrong - opaque is used to find the MIS.
>
> Fixed.
>
> >
> > > + * Returns 0 on success
> > > + */
> > > +static int postcopy_ram_sensitise_area(const char *block_name, void
> > > *host_addr,
> > > + ram_addr_t offset, ram_addr_t
> > > length,
> > > + void *opaque)
> > > +{
> > > + MigrationIncomingState *mis = opaque;
> > > + uint64_t tokern[2];
> >
> > "tokern"?
>
> Now "to_kernel"
Ah! I thought it was just mispelled "token".
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
pgptl9czI207l.pgp
Description: PGP signature