[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Xen GCOV Patches for latest Xen Unbstable and linux kernel(32/64bit)

  • To: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
  • From: Tej <bewith.tej@xxxxxxxxx>
  • Date: Sat, 8 May 2010 01:31:01 +0530
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-users <xen-users@xxxxxxxxxxxxxxxxxxx>, parkash.tej@xxxxxxxxx
  • Delivery-date: Fri, 07 May 2010 13:03:08 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=ibiH6VLYWfnimajirhVCTkFNAs1z2MVfc1MOdocf2MQEjzfT5LNcUr3R+rwSnQl7Mf 3ScfYZlMt5oOgvYbFsVCLDbnYF21JZq8YlQH6OeQuP9W/jY32lwAdpIJoCP222nPGg3F Abe0+nuxjz8I51LtSC0yxLSqSWNUm/n8IQNb8=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>


Here are the latest patches to expreiment with gcov profiler for xen
hypervisor. I have tested current patches on Intel i686.
System Details:
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
gcov (Ubuntu 4.3.3-5ubuntu4) 4.3.3
Kernel 2.6.28-11-generic
Distribution: Ubuntu jaunty 9.04

There are some design issue which i would like to highlight here:
1. To create gcov proc dir user /proc/xen, we are explicitly exported
xen_base symbol. I want to know your thoughts.
2. XEN_GCOV_PROC config is set as not selected. So someone has to be
configured manually as M/Y

Known Issues:
File vmac.c throw some fault while using with lcov/gcov. This is due
to some raw count copy between xen and kernel. I could not able to
reproduce it many times, may be someone can try on 64 bit m/c.
"My take on this is that zero length array element in gcov_info
structure has to be copied separately between xen and kernel. How? I
dont know."

I am still debugging this issue.

If you get fault and fail to proceed please apply the above patch in
linux-wa-v1.patch in Linux and recompile. This time vmac.gcda
file wont appear in /proc/xen/gcov/crypto

HOWTO Test using lcov
1.  install lcov from repo
     # sudo apt-get install lcov
2. vi /etc/lcovrc
    Change line: lcov_gcov_dir = /proc/gcov to lcov_gcov_dir = /proc/xen/gcov
3. # cd  /tmp; lcov -c -o kernel.info
4. # genhtml kernel.info
5, # firefox index.html

lcov README and screenshot is attached.


For any other detail required please CC me to parkash.tej@xxxxxxxxx

Attachment: linux-2.6.18-gcov-v1.patch
Description: Text Data

Attachment: linux-wa-v1.patch
Description: Text Data

Attachment: xen-unstable-gcov-v1.patch
Description: Text Data

Attachment: README
Description: Binary data

Attachment: lcov-screenshot
Description: Binary data

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.