[Libvirt-cim] What does NumberOfBlocks and ConsumableBlocks in the Xen_Memory class represent?
Medlyn, Dayne (VSL - Ft Collins)
dayne.medlyn at hp.com
Fri May 15 19:55:14 UTC 2009
Kaitlin,
Thanks for working through this with me. One last question:
> > Isn't this backwards from your original message? Or did I just
> misunderstand? Interestingly, what I see for a DomU with maxmem=1024
> and memory=512 in 0.4.1 is the following:
>
> In my original message, I was talking about the current implementation
> -
> which would be 0.5.1 and newer.
Just for confirmation, does this mean that for anything 0.5.1 and newer I should expect:
-NumberOfBlocks the maximum memory allocated to the guest
-ConsumableBlocks the memory currently assigned to the guest
And for anything older than 0.5.1 I should expect:
-NumberOfBlocks the memory currently assigned to the guest
-ConsumableBlocks the maximum memory allocated to the guest
I will need to put this in my code so I can handle both (which I can tell by looking in VirtualSystemManagementService).
> >
> > -ConsumableBlocks=262144
> > -NumberOfBlocks=131072
> > -BlockSize=4096
> >
> > Which is consistent with what you just stated about 0.4.1 and reverse
> of what you said in your original response.
>
> Correct - sorry for the confusion. My original response was indicating
> the way the providers behave currently.
No worries. Thanks for the clarification.
> >
> >> In 0.5.2:
> >> -NumberOfBlocks the maximum memory allocated to the guest
> >> -ConsumableBlocks the memory currently assigned to the guest
> >
> > What I see in 0.5.2 for a DomU with maxmem=1024 and memory=512 is:
> >
> > -ConsumableBlocks=131072
> > -NumberOfBlocks=262144
> > -BlockSize=4096
> >
>
> It looks like the behavior you're seeing is consistent with the last
> email I sent - so we're on the same page, I think. =)
I think so too. Hopefully we are not both wrong :-).
> >
> > I am pretty new at deciphering MOF files, but if I understand the
> mof, NumberOfBlocks should be the maximum as in the NumberOfBlock x
> BlockSize = total size of
> > memory (I think this mean maximum memory). I believe the MOF says
> > ConsumableBlocks is the number of blocks available for consumption,
> or the actual memory assigned to the guest. If I understand this
> right,
> it is actually 0.4.1
> > that is reversed and 0.5.2 contains the correction, yes?
>
> I reread the mof, and you are correct. So this doesn't appear to be a
> regression at all.
Again, thanks for the confirmation.
> >
> > In either case I am going to have to figure out how to tell if I am
> talking to a 0.4.1 libvirt-CIM or 0.5.2 .. and where the change
> happened .. *sigh* ... so I can handle it appropriately as one of them
> is not right.
>
> Yes, unfortunately. You can get the version from the
> VirtualSystemManagementService -
Just what I needed.
> > It looks like you are just reporting what libvirt is telling you ...
> very interesting. BTW: I don't actually have 16Tb of memory either, I
> only have 8Gb.
>
> Yes, we pull the value from libvirt and then convert that value in to
> blocks.
>
> In this case, libvirt is pulling from Xen. My guess is that the Xen or
> libvirt behavior has changed, which is why you may see the value
> reported change across different versions of Xen / libvirt.
Good to know.
> >
> > It looks like we are honing in on the problem. Based on everything I
> said above, I believe libvirt-CIM 0.4.1 to be flawed and libvirt-CIM
> 0.5.2 to be correct. Does this sound about right? Do you have any
> idea where it may have changed? Thanks for your patience.
>
> Yes, agreed. Here's the change:
> http://libvirt.org/hg/libvirt-cim/rev/2796fd3e2eaa
>
> We parse the guest XML (essentially virsh dumpxml) to get the various
> attributes of a guest. The problem in 0.4.1 is that we were storing the
> memory values in the wrong structures.
>
> We later use these struct values in src/Virt_Device.c (starting at line
> 143). My concern in my original email was that the values were
> reversed
> here as well, but as you pointed out, the values are set correctly.
Thanks again for all the clarification.
Dayne
More information about the Libvirt-cim
mailing list