All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Halil Pasic <pasic@linux.vnet.ibm.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Jianjun Duan <duanj@linux.vnet.ibm.com>,
	qemu-devel@nongnu.org, veroniabahaa@gmail.com,
	peter.maydell@linaro.org, mst@redhat.com, quintela@redhat.com,
	mark.cave-ayland@ilande.co.uk, mdroth@linux.vnet.ibm.com,
	mreitz@redhat.com, blauwirbel@gmail.com, amit.shah@redhat.com,
	qemu-ppc@nongnu.org, kraxel@redhat.com, kwolf@redhat.com,
	dmitry@daynix.com, rth@twiddle.net, leon.alrae@imgtec.com,
	aurelien@aurel32.net, david@gibson.dropbear.id.au
Subject: Re: [Qemu-devel] [QEMU PATCH v5 3/6] migration: extend VMStateInfo
Date: Thu, 13 Oct 2016 12:12:55 +0100	[thread overview]
Message-ID: <20161013111254.GB2169@work-vm> (raw)
In-Reply-To: <0cf06165-ff45-b985-c6d3-ccf02d9f6eff@linux.vnet.ibm.com>

* Halil Pasic (pasic@linux.vnet.ibm.com) wrote:
> 
> 
> On 10/12/2016 04:59 PM, Dr. David Alan Gilbert wrote:
> >> Paolo I agree on a theoretical level. It's just I do not see why this
> >> > particular change makes the API simpler. In my opinion this complicates
> >> > things because now all VMStateInfo's can do funky stuff. Having additional
> >> > state you can poke is rarely a simplification. Same goes for lots
> >> > of arguments especially if some of them are barely ever used. These
> >> > additional parameters contribute nothing for the large majority
> >> > of the cases (except maybe some head scratching when reading
> >> > the code).
> > I think it might depend how many VMStateInfo's we have.
> > My ideal rule would be there are no .get/.put implementations outside
> > of migration/ and we can trust that they would never do anything silly (right?);
> 
> Your statement about ideally no .get/.put implementations outside
> of migration/ is consistent with my initial understanding of VMStateInfo:
> It's there to take care of the marshaling between the on wire representation
> and the in memory representation of a single and preferably primitive
> vmstate field (not consisting of further fields). Complex stuff like
> arrays, structs, indirection via pointers and possibly allocation is
> preferably handled elsewhere. So VMStateInfo is the basic building stones,
> and the only place which should write to/read from the stream (in
> ideal vmstate).
> 
> So in a perfect vmstate world complete type of VMStateInfo is not part of the
> API (you do not care about how it's done outside vmstate/), but only the
> (possibly pointers to) VMStateInfo's supported by the vmstate API.
> 
> Of course this is not realistic, at least at the moment.
> 
> On the other hand if VMStateInfo is meant for complete customization,
> as Jianjun has put it, then it obviously has to be a full fledged member
> of the API, and I think then your ideal rule makes no sense to me.
> 
> I also do think we will always need something for handling special
> cases because we need to maintain compatibility -- see virtio migration
> for example.
> 
> > so the extra parameters aren't going to be misused too badly.
> > 
> 
> What would you consider bad misuse? I do not see this as a big concern
> at the moment.

I don't know; but the only justification for needing the VMS_LINKED flag
was that only those functions that were marked with VMS_LINKED would
be passed the new field.

Dave

> Cheers,
> Halil
> 
> > However, we're probably quite a way from pulling all of the weirder
> > .get/.put implementations back in.
> > 
> > Dave
> > 
> 



--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2016-10-13 11:13 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-03 18:24 [Qemu-devel] [QEMU PATCH v5 0/6] migration: ensure hotplug and migration work together Jianjun Duan
2016-10-03 18:24 ` [Qemu-devel] [QEMU PATCH v5 1/6] migration: alternative way to set instance_id in SaveStateEntry Jianjun Duan
2016-10-05 10:12   ` Dr. David Alan Gilbert
2016-10-05 16:44     ` Jianjun Duan
2016-10-07  2:54       ` David Gibson
2016-10-07  8:07         ` Dr. David Alan Gilbert
2016-10-10  5:31           ` David Gibson
2016-10-11 16:17             ` Michael Roth
2016-10-11 23:37               ` David Gibson
2016-11-15 23:45         ` Michael Roth
2016-10-05 16:46     ` [Qemu-devel] [Qemu-ppc] " Jianjun Duan
2016-10-03 18:24 ` [Qemu-devel] [QEMU PATCH v5 2/6] migration: spapr_drc: defined VMStateDescription struct Jianjun Duan
2016-10-05 11:38   ` Dr. David Alan Gilbert
2016-10-07  3:17     ` David Gibson
2016-10-07  3:12   ` David Gibson
2016-10-07 17:17     ` Jianjun Duan
2016-10-10  5:09       ` David Gibson
2016-10-10 16:48         ` [Qemu-devel] [Qemu-ppc] " Jianjun Duan
2016-10-03 18:24 ` [Qemu-devel] [QEMU PATCH v5 3/6] migration: extend VMStateInfo Jianjun Duan
2016-10-07 12:08   ` Dr. David Alan Gilbert
2016-10-07 16:35     ` [Qemu-devel] [Qemu-ppc] " Jianjun Duan
2016-10-07 18:42       ` Dr. David Alan Gilbert
2016-10-10  5:02         ` David Gibson
2016-10-12 11:59   ` [Qemu-devel] " Halil Pasic
2016-10-12 12:07     ` Paolo Bonzini
2016-10-12 12:30       ` Halil Pasic
2016-10-12 14:59         ` Dr. David Alan Gilbert
2016-10-13 10:33           ` Halil Pasic
2016-10-13 11:12             ` Dr. David Alan Gilbert [this message]
2016-10-12 17:27       ` [Qemu-devel] [Qemu-ppc] " Jianjun Duan
2016-10-13  8:22         ` Paolo Bonzini
2016-10-13 10:48           ` Halil Pasic
2016-10-13 11:20             ` Paolo Bonzini
2016-10-13 16:23             ` Jianjun Duan
2016-10-13 16:32               ` Halil Pasic
2016-10-13 16:35                 ` Jianjun Duan
2016-10-03 18:24 ` [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ Jianjun Duan
2016-10-05 16:56   ` Dr. David Alan Gilbert
2016-10-05 17:19     ` Jianjun Duan
2016-10-06 19:01       ` Dr. David Alan Gilbert
2016-10-06 19:49         ` Jianjun Duan
2016-10-07  3:25         ` David Gibson
2016-10-07 14:31         ` Paolo Bonzini
2016-10-07 14:34           ` Dr. David Alan Gilbert
2016-10-07 16:31             ` [Qemu-devel] [Qemu-ppc] " Jianjun Duan
2016-10-07 16:32               ` Paolo Bonzini
2016-10-07 17:25                 ` Jianjun Duan
2016-10-07 17:34                   ` Dr. David Alan Gilbert
2016-10-07 17:43                     ` Jianjun Duan
2016-10-08 11:37                       ` Paolo Bonzini
2016-10-08 19:28                         ` Halil Pasic
2016-10-10 21:29                           ` Jianjun Duan
2016-10-11  7:33                             ` Paolo Bonzini
2016-10-10 21:40                           ` Jianjun Duan
2016-10-06 11:05     ` [Qemu-devel] " Paolo Bonzini
2016-10-06 11:56       ` Dr. David Alan Gilbert
2016-10-06 12:23         ` Paolo Bonzini
2016-10-06 15:21           ` Dr. David Alan Gilbert
2016-10-03 18:24 ` [Qemu-devel] [QEMU PATCH v5 5/6] migration: spapr: migrate ccs_list in spapr state Jianjun Duan
2016-10-07  3:36   ` David Gibson
2016-10-07 14:52     ` Michael Roth
2016-10-10  5:05       ` David Gibson
2016-10-03 18:24 ` [Qemu-devel] [QEMU PATCH v5 6/6] migration: spapr: migrate pending_events of " Jianjun Duan
2016-10-03 18:35 ` [Qemu-devel] [QEMU PATCH v5 0/6] migration: ensure hotplug and migration work together no-reply
2016-10-03 19:00 ` no-reply
2016-10-03 19:11 ` Jianjun Duan

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=20161013111254.GB2169@work-vm \
    --to=dgilbert@redhat.com \
    --cc=amit.shah@redhat.com \
    --cc=aurelien@aurel32.net \
    --cc=blauwirbel@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=dmitry@daynix.com \
    --cc=duanj@linux.vnet.ibm.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=leon.alrae@imgtec.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=mreitz@redhat.com \
    --cc=mst@redhat.com \
    --cc=pasic@linux.vnet.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=rth@twiddle.net \
    --cc=veroniabahaa@gmail.com \
    /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.