From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [RFC][PATCH] Hypervisor profiling using GCOV Date: Thu, 19 Feb 2009 14:53:17 +0000 Message-ID: <499D725D.40204@eu.citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Tej Cc: "xen-devel@lists.xensource.com" , Keir Fraser List-Id: xen-devel@lists.xenproject.org Tej wrote: >> Does it get us significantly more than the existing xentrace and xenoprofile >> tools? Especially the latter, which already does program-counter tracing and >> generation of stats from that, via the oprofile tool. >> > > thanks for our feedback > i agree xenoprofile is advanced proffiling tool in xen since ages, but > GCOV could be useful tool to naive tester/programmer on XEN who really > don't understand xenoprofile stats.... > Don't undersell gcov; its purpose is slightly different from either xentrace or xenoprofile. Xentrace can be used to get information about what paths or reasons caused vmexits (as well as just seeing specific patterns that happen). xenoprofile is a relatively low-overhead way of just profiling (which unfortuantely doesn't work properly in 32-on-64 mode ATM). gcov's main purpose is to tell you code coverage; profiling is just a side-effect. I looked at the LTP page about lcov, and it looks like it was pretty useful for them. It has graphical output with the number of times / percentage a given path was taken. It probably is worth porting to Xen for the same reason -- to see how well given paths in Xen actually get exercised. > e.g If i start with any hypervisor subsystem (scheduler), i will run > xm test suite for scheduler and see what all code is getting affected > over a period of time and proceed with it... > It sounds like the main problem with xenoprofile is that it's hard to set up and use ATM: it could use some attention to the code, and some well-worded HOWTOs. The fact that 32-on-64 doesn't work properly (truncates the long EIPs) doesn't help. :-) So I think that it probably would be useful. Unfortunately, I don't have time in the near future to look at either of these (new "xcov" functionality, or fixing xenoprofile). Gianluca's been doing some interesting work with testing. I'll ask him if he's interested in looking at it. Thanks for your work though, Tej! -George