WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] host CPU features/flags in xen API

To: Ewan Mellor <ewan@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] host CPU features/flags in xen API
From: John Levon <levon@xxxxxxxxxxxxxxxxx>
Date: Tue, 24 Apr 2007 01:15:51 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 23 Apr 2007 17:10:05 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20070423234736.GB28964@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20070423234106.GA17272@xxxxxxxxxxxxxxxxxxxxxxx> <20070423234736.GB28964@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
On Tue, Apr 24, 2007 at 12:47:36AM +0100, Ewan Mellor wrote:

> > The functions to return 'features' and 'flags' in the Xen API seem a
> > little under-specified, in particular there's no indication of the
> > format of the string returned. Presumably at some point something is
> > going to use them. At which point the user has an interesting problem if
> > it's relying on something there and it's not present.
> > 
> > Either this return value needs to be explicitly labelled as not reliable
> > or something needs to be defined as 'architectural' for Xen API.
> 
> Yes, these are 'architectural'.  For x86, host_cpu.features is the same
> format as you get from xm info's hw_caps field, and host_cpu.flags is a
> readable version of that (we get it from /proc/cpuinfo).  Other
> architectures are free to define appropriate equivalents.

I suppose I wasn't clear. If they're not defined in the API they can't
be relied upon, this is the nature of a stable API. It's not good enough
for a specification to say "look over there" when it points to an
unstable, undocumented interface.

In particular I presume that we're going to end up with some version of
the Linux cpuinfo names for the flags. That's OK, but they need to be
clearly defined, or clearly labelled as unreliable. It'd be OK to list
some of them with stable names and others as unreliable, of course.

The reason I'm asking is we're going to have to implement the flags for
Solaris. The simplest way to do this is to use the same names as we have
for our equivalent of "grep flags /proc/cpuinfo", which is isainfo -x:

$ isainfo -x
amd64: ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov cx8 tsc fpu
i386: ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov cx8 tsc fpu

Now, this is great if it's just informative, but worse than useless if
clients need to rely on responses. And given live migration, they will
do. I don't mind taking on the tedious job of writing the code to
translate from what Solaris can provide into Linux names, but there
absolutely needs to be stable, reliable mapping for this to work.

regards
john

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel