Re: [Qemu-devel] [RFC PATCH 3/6] RAMBlock: Add a name field

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

 



On Fri, 2010-06-11 at 10:48 +0200, Gerd Hoffmann wrote:
> On 06/10/10 17:21, Alex Williamson wrote:
> > On Thu, 2010-06-10 at 15:49 +0100, Paul Brook wrote:
> >>> Ok, we can certainly do<vmsd->name>.<vmsd->instance>\<driver string>.
> >>> It seems like this highlights a deficiency in the vmstate matching
> >>
> >> Why are you forcing this to be a string?
> >
> > It seemed like a good way to send an identifier.  What do you suggest?
> 
> Do it the same way savevm handles device state?  I think it simply puts 
> a u32 for the instance id.

I see, so then we'd have:

uint8 - string length (should we decide to go with a variable length)
buffer - "<vmsd->name>\<driver string>"
uint32 - instance_id

I'm not sure I see the benefit to that since then we'd have to do both a
strcmp and an instance_id match.  It's unlikely we'll have instance_ids
large enough that even make it a space savings in the protocol stream
versus "name.id" ("e1000.0").

The trouble I'm running into is that the SaveStateEntry.instance_id is
effectively private, and there's no easy way to associate a
SaveStateEntry to a device since it passes an opaque pointer, which
could be whatever the driver decides it wants.  I'm wondering if we
should pass the DeviceState pointer in when registering the vmstate so
that we can stuff the instance_id into the DeviceInfo.  Or maybe
DeviceInfo should include a pointer to the SaveStateEntry.  It all seems
pretty messy.  Any thoughts?

Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux