Tej
2010-May-07 20:01 UTC
[Xen-devel] Xen GCOV Patches for latest Xen Unbstable and linux 2.6.18.8 kernel(32/64bit)
All, 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 2.6.18.8 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. HTH Note: For any other detail required please CC me to parkash.tej@gmail.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Konrad Rzeszutek Wilk
2010-May-10 14:53 UTC
[Xen-users] Re: [Xen-devel] Xen GCOV Patches for latest Xen Unbstable and linux 2.6.18.8 kernel(32/64bit)
On Sat, May 08, 2010 at 01:31:01AM +0530, Tej wrote:> All, > > Here are the latest patches to expreiment with gcov profiler for xen > hypervisor. I have tested current patches on Intel i686.Nice..> 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-genericUhh? 2.6.28 or 2.6.18? I hate to tell you this but development is happening in the pv-ops kernel, not anymore in the XenLinux branches :-( Any chance you can rebase those patches against the pv-ops kernel? Looking briefly at the Linux patches, you need to remove those #ifdef LINUX_VERSION_CODE, make the EXPORT_SYMBOL be EXPORT_SYMBOL_GPL, and also run the patch through scripts/checkpatch.pl> 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 2.6.18.8 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.22% coverege, eh? Is that just by booting the Dom0 kernel?> > HTH > > Note: > For any other detail required please CC me to parkash.tej@gmail.com> diff -r 86d6c6417cf9 drivers/xen/Kconfig > --- a/drivers/xen/Kconfig Thu Feb 04 13:08:27 2010 +0000 > +++ b/drivers/xen/Kconfig Sun Feb 07 00:13:40 2010 +0530 > @@ -311,6 +311,13 @@ > help > Xen hypervisor attributes will show up under /sys/hypervisor/. > > +config XEN_GCOV_PROC > + tristate "Code covarage for hypervisor"^^^^^ - coverage _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Tej
2010-May-10 17:21 UTC
[Xen-users] Re: [Xen-devel] Xen GCOV Patches for latest Xen Unbstable and linux 2.6.18.8 kernel(32/64bit)
On Mon, May 10, 2010 at 8:23 PM, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:> On Sat, May 08, 2010 at 01:31:01AM +0530, Tej wrote: >> All, >> >> Here are the latest patches to expreiment with gcov profiler for xen >> hypervisor. I have tested current patches on Intel i686. > > Nice.. > >> 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 > > Uhh? 2.6.28 or 2.6.18?2.6.18.8> > I hate to tell you this but development is happening in the pv-ops > kernel, not anymore in the XenLinux branches :-( > > Any chance you can rebase those patches against the pv-ops kernel?rebasing wont to much problem,> > Looking briefly at the Linux patches, you need to remove those #ifdef > LINUX_VERSION_CODE, make the EXPORT_SYMBOL be EXPORT_SYMBOL_GPL, and > also run the patch through scripts/checkpatch.pl >> 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 2.6.18.8 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. > > 22% coverege, eh? Is that just by booting the Dom0 kernel? > >> >> HTH >> >> Note: >> For any other detail required please CC me to parkash.tej@gmail.com > >> diff -r 86d6c6417cf9 drivers/xen/Kconfig >> --- a/drivers/xen/Kconfig Thu Feb 04 13:08:27 2010 +0000 >> +++ b/drivers/xen/Kconfig Sun Feb 07 00:13:40 2010 +0530 >> @@ -311,6 +311,13 @@ >> help >> Xen hypervisor attributes will show up under /sys/hypervisor/. >> >> +config XEN_GCOV_PROC >> + tristate "Code covarage for hypervisor" > ^^^^^ - coverage >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Tej
2010-May-10 17:26 UTC
[Xen-users] Re: [Xen-devel] Xen GCOV Patches for latest Xen Unbstable and linux 2.6.18.8 kernel(32/64bit)
On Mon, May 10, 2010 at 8:23 PM, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:> On Sat, May 08, 2010 at 01:31:01AM +0530, Tej wrote: >> All, >> >> Here are the latest patches to expreiment with gcov profiler for xen >> hypervisor. I have tested current patches on Intel i686. > > Nice.. > >> 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 > > Uhh? 2.6.28 or 2.6.18? > > I hate to tell you this but development is happening in the pv-ops > kernel, not anymore in the XenLinux branches :-( > > Any chance you can rebase those patches against the pv-ops kernel? > > Looking briefly at the Linux patches, you need to remove those #ifdef > LINUX_VERSION_CODE, make the EXPORT_SYMBOL be EXPORT_SYMBOL_GPL, and > also run the patch through scripts/checkpatch.plThanks for your review/suggestion, will do all and get back but may be after 2 weeks as i am off from the work, (only mails)>> 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 2.6.18.8 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. > > 22% coverege, eh? Is that just by booting the Dom0 kernel?Yes, but any operation on Xen which will reach to hypervisor is going to change this number, since boot.> >> >> HTH >> >> Note: >> For any other detail required please CC me to parkash.tej@gmail.com > >> diff -r 86d6c6417cf9 drivers/xen/Kconfig >> --- a/drivers/xen/Kconfig Thu Feb 04 13:08:27 2010 +0000 >> +++ b/drivers/xen/Kconfig Sun Feb 07 00:13:40 2010 +0530 >> @@ -311,6 +311,13 @@ >> help >> Xen hypervisor attributes will show up under /sys/hypervisor/. >> >> +config XEN_GCOV_PROC >> + tristate "Code covarage for hypervisor" > ^^^^^ - coverageoops!!!!!! thanks for spotting the typo>-Tej _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Reasonably Related Threads
- Xen GCOV Patches for latest Xen Unbstable and linux 2.6.18.8 kernel(32/64bit)
- [EXTERNAL] How to get branch coverage by using 'source-based code coverage'
- Unable to generate lcov test coverage reports (Out of memory error)
- [EXTERNAL] How to get branch coverage by using 'source-based code coverage'
- Customizing SBCC for lcov workflows