[libvirt] [PATCH] lib: implement new API to retrieve the list of CPU models
Daniel P. Berrange
berrange at redhat.com
Thu Aug 22 09:34:37 UTC 2013
On Wed, Aug 21, 2013 at 01:19:24PM -0600, Eric Blake wrote:
> On 08/21/2013 01:02 PM, Giuseppe Scrivano wrote:
> > The new function virConnectGetCPUModelNames allows to retrieve the list
> > of CPU models known by the hypervisor for a specific architecture.
> >
> > Signed-off-by: Giuseppe Scrivano <gscrivan at redhat.com>
> > ---
> > I have collected your comments on my RFC patch into this new version. I've
> > replaced "virConnectGetCPUMapDesc" with "virConnectGetCPUModelNames".
>
> Good that the above paragraph is below the ---...
>
> >
> > The new function signature is:
> >
> > int
> > virConnectGetCPUModelNames(virConnectPtr conn, const char *arch, char **models,
> > unsigned int flags);
> >
> > It returns (in MODELS) the list of CPU models formatted as an XML document,
> > like:
> >
> > <models>
> > <arch name='x86'>
> > <model name='486'/>
> > <model name='pentium'/>
> > <model name='pentium2'/>
> > <model name='pentium3'/>
> > <model name='pentiumpro'/>
> > <model name='coreduo'/>
> > ...
> > </arch>
> > </models>
>
> ...but this is useful 6 months down the road, and should be in the
> commit message proper, above the ---.
>
> I'm not sure whether returning XML or a straight-up list makes more
> sense. If you used char ***models, then the user would get an array of
> directly-usable strings, "486", "pentium", ..., instead of a document
> that has to be parsed. On the other hand, your idea of returning XML
> lets us return information for multiple arches simultaneously. But do we
> need that flexibility, since arch is also an input parameter? Is the
> idea that you pass arch=NULL to get the full list, or arch="x86" to get
> the x86 subset of the xml? Why not just make arch mandatory and return
> char ***; but then you have the question of which arches are supported.
>
> So, let's get agreement on the best design before worrying about
> implementation (I'm still 50/50 on whether xml vs. char*** makes more
> sense, without more discussion to sway me one way or the other).
My intention was that we return a direct list of strings representing
model names, *not* any XML.
XML only comes into play when they they query the full CPU feature
set from virConnectBaselineCPU.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list