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

[Xen-devel] Xenoprof in an HVM domain

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Xenoprof in an HVM domain
From: Steve Dobbelstein <steved@xxxxxxxxxx>
Date: Fri, 21 Apr 2006 15:11:11 -0500
Delivery-date: Fri, 21 Apr 2006 13:11:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
I'm looking into getting Xenoprof to tun in an HVM domain, since we will
eventually need a profiler for HVM domains to track down areas of poor
performance.  (HVMs have poor performance? :) )  Being relatively new to
OProfile, Xenoprof, and Xen internals, I would appreciate any pointers,
tips, and comments on how to work the implementation.  I see three basic
areas of work.

1. Implement hypercalls in HVM domains.  This has been done by Steve
Ofsthun of Virtual Iron who contributed his patches to the xen-devel list
recently.  (Thanks, Steve.)

2. Implement the shared buffer that conveys profile events from the
hypervisor to the domain.  From my initial crawl through the Xenoprof code
(see for example linux-2.6-xen-sparse/arch/i386/oprofile/xenoprof.c) it
appears that its setup of the shared buffer via hypercalls and page table
updates should work in an HVM domain.  Correct me if I'm wrong.

3. Implement an interrupt mechanism for the hypervisor to signal the domain
that it has more data in the shared buffer.  Xenoprof currently sets up an
event channel for this.  In my initial hack of the code I discovered that
the event channel used by Xenoprof conflicts with the 8259 support in the
HVM kernel.  Since I use the serial interface to the HVM domain, I am
hesitant to remove the 8259 support in my HVM kernel.  It appears that I
need to either get an event channel to work through qemu, preserving the
8259 functionality, or change Xenoprof in the hypervisor to instruct qemu
to issue an interrupt to the domain and change Xenoprof in the domain to
run off an interrupt instead of an event channel.  Or maybe I don't know
what I'm talking about and need to be enlightened by those who know better
what the issues are.

Any advice is appreciated.

Thanks,
Steve D.


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

<Prev in Thread] Current Thread [Next in Thread>