[libvirt] RFC: <memory units=...> [was: libvirt doesn't boot kVM, hangs, qemu on 100% CPU]

Dave Allan dallan at redhat.com
Thu Feb 23 00:27:40 UTC 2012


On Wed, Feb 22, 2012 at 04:42:59PM -0700, Eric Blake wrote:
> On 02/21/2012 03:46 PM, Igor Galić wrote:
> > 
> > Hi folks,
> > 
> > it's been adventurous.
> > Yesterday night I've started debugging this particular
> > issue of why my KVMs don't boot on Ubuntu 11.10.
> 
> On IRC, we identified the culprit:
> 
> > <uuid>8cfcb7b0-10ee-7d08-9b64-9f39c154292a</uuid>
> > <memory>2048</memory>
> > <currentMemory>2048</currentMemory>
> 
> There ain't no way on earth you're going to boot a kernel in 2 megabytes
> of memory!
> 
> I propose enhancing the XML; on output, libvirt should produce:
> 
> <memory units='k'>2048</memory> => 2048 * kibibyte
> 
> the output unit must remain the same as it has always been, but the new
> attribute will make it easier for humans reading the XML to spot
> blunders like what spawned this thread.
> 
> On input, the optional attribute is more useful - we can use it to
> provide a multiplier (of course, the result will be rounded up to k, and
> again rounded up to any higher granularity per the hypervisor):
> b => bytes
> k, KiB => kibibyte (1024)
> KB => kilobyte (1000)
> M, MiB => mebibyte (1024*1024)
> MB => megabyte (1000000)
> and so on for at least G and T (do we need P, E, Z, or Y? and I'm
> jealous if you have a machine with 1Y memory).
> 
> Thoughts before I propose such a patch?

I like the idea, maybe use units=KiB just to be completely clear?

Dave




More information about the libvir-list mailing list