qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Question about vmstate_register(), dc->vmsd and instance_id
@ 2022-03-17 13:58 Daniel Henrique Barboza
  2022-03-17 15:04 ` Peter Maydell
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel Henrique Barboza @ 2022-03-17 13:58 UTC (permalink / raw)
  To: qemu-devel@nongnu.org; +Cc: David Gibson

Hi,

I've been looking into converting some vmstate_register() calls to use dc->vmsd,
using as a base the docs in docs/devel/migration.rst. This doc mentions that we
can either register the vmsd by using vmstate_register() or we can use dc->vmsd
for qdev-based devices.

When trying to convert this vmstate() call for the qdev alternative (hw/ppc/spapr_drc.c,
drc_realize()) I found this:

     vmstate_register(VMSTATE_IF(drc), spapr_drc_index(drc), &vmstate_spapr_drc,
                      drc);

spapr_drc_index() is an unique identifier for these DRC devices and it's being used
as instance_id. It is not clear to me how we can keep using this same instance_id when
using the dc->vmsd alternative. By looking a bit into migration files I understood
that if dc->vmsd is being used the instance_id is always autogenerated. Is that correct?

Another related question is the role of instance_id per se. I understand that this
value is used to identify SaveStateEntries in migration/savevm.c and it's autogenerated
if the caller does not provide it. And there's also this comment from
register_savevm_live():

/* TODO: Individual devices generally have very little idea about the rest
    of the system, so instance_id should be removed/replaced.
    Meanwhile pass -1 as instance_id if you do not already have a clearly
    distinguishing id for all instances of your device class. */

Given that this is a 13 year old comment from Anthony Liguori I wanted to confirm its
validity. Is there a long term goal of getting rid of instance_id? Can I ignore its
role when converting these calls to dc->vmsd?


Thanks,


Daniel


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-03-23 21:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-17 13:58 Question about vmstate_register(), dc->vmsd and instance_id Daniel Henrique Barboza
2022-03-17 15:04 ` Peter Maydell
2022-03-17 16:29   ` Dr. David Alan Gilbert
2022-03-18  3:43     ` David Gibson
2022-03-18 19:51       ` Daniel Henrique Barboza
2022-03-19  9:43         ` David Gibson
2022-03-23 21:39     ` Daniel Henrique Barboza

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).