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] wrong vmexit size in xenalyze

To: Keir Fraser <keir@xxxxxxx>
Subject: Re: [Xen-devel] wrong vmexit size in xenalyze
From: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
Date: Fri, 19 Nov 2010 09:50:03 +0000
Cc: Olaf Hering <olaf@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 19 Nov 2010 01:50:56 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C90BF541.A851%keir@xxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C90BF541.A851%keir@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101027 Thunderbird/3.0.10
Yeah, doing some archeology... looks like the trace size for the HVMTRACE_ND macro is has an off-by-one error since domain_id and vcpu_id were removed from HVM trace records in September 2008.

Tracing is definitely not a stable ABI between releases, but it should be reasonably stable after a release.

Originally I tried having xenalyze detect and deal with different trace layouts, but it made the code just too much of a mess. I could have simply tagged xenalyze on a release, but then future improvements to xenalyze wouldn't be able to be used on released versions of Xen.

My most recent attempt is to have xenalyze always be compatible with -unstable, but to have back-patches (found in xenalyze.hg/back-patches/) to change the file format to earlier versions. But obviously that requires some more vigilance to making and testing back-patches for previous versions.

If you have a better idea, I'm open to it. A bit more discipline -- doing an audit of the tracing after the feature freeze before each release -- would be helpful; some automated testing would be even more helpful.

 -George

On 19/11/10 09:34, Keir Fraser wrote:
Xenalyze should do a Xen version check and do the appropriate thing for 4.0
and earlier versus 4.1 and later. Changing visible behaviour of a Xen stable
branch will just add to the confusion.

  -- Keir

On 19/11/2010 09:23, "Olaf Hering"<olaf@xxxxxxxxx>  wrote:

George,

what is the reason behind this changeset?
http://xenbits.xensource.com/ext/xenalyze.hg?rev/9fa7e4d2a3af

All my vmexit trace entries have size 4 for 64bit and 3 for 32bit.
Looking at the code in ./xen/arch/x86/hvm/vmx/vmx.c, HVMTRACE_ND() gets
size 3 for VMEXIT64. But HVMTRACE_ND does a 'sizeof(u32)*count+1' in
xen-4.0.
The xen-unstable macro looks different. It was changed in this revision:

  # 8 weeks ago:    x86/hvm: fix extra size passed to __trace_var()
  # revision 10:    9cebb977e9d8 (diff) (annotate)
  # author:         Keir Fraser<keir.fraser@xxxxxxxxxx>
  # date:   Mon Sep 20 18:53:18 2010 +0100

I think this means most of the extra_words checks are bogus now, unless
the same change also goes into the 4.0 branch.

What should we do about this difference in tracedata?


Olaf

--- a/xenalyze.c        Wed Nov 10 14:56:56 2010 +0000
+++ b/xenalyze.c        Wed Nov 10 14:58:31 2010 +0000
@@ -4828,8 +4828,8 @@ void hvm_vmexit_process(struct record_in
          };
      } *r;

-    if(ri->extra_words != 4
-&&  ri->extra_words != 3
+    if(ri->extra_words != 3
+&&  ri->extra_words != 2
          )
      {
          fprintf(warn, "FATAL: vmexit has unexpected extra words %d!\n",


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




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