From: C K K. <ckk...@gm...> - 2010-09-15 13:10:58
|
Hi All, I was attempting to generate the callgraph of kernel routines but I noticed that kernel output for kernel functions are always limited as follows ------------------------------------------------------------------------------- 943 0.0555 libc-2.5.so times 943 100.000 libc-2.5.so times [self] ------------------------------------------------------------------------------- 689 0.0405 vmlinux bad_to_user 689 100.000 vmlinux bad_to_user [self] ------------------------------------------------------------------------------- The user land functions however show both callers and callees. My opcontrol --status is as follows - Daemon not running Separate options: library kernel vmlinux file: /usr/lib/debug/lib/modules/2.6.18-128.el5debug/vmlinux Image filter: /home/ckk/work/oprofile/a.out Call-graph depth: 100 -- Regards, Kashyap |
From: C K K. <ckk...@gm...> - 2010-09-16 11:57:22
|
I'd really appreciate any help on this. On Wed, Sep 15, 2010 at 6:40 PM, C K Kashyap <ckk...@gm...> wrote: > Hi All, > > I was attempting to generate the callgraph of kernel routines but I > noticed that kernel output for kernel functions are always limited as > follows > > ------------------------------------------------------------------------------- > 943 0.0555 libc-2.5.so times > 943 100.000 libc-2.5.so times [self] > ------------------------------------------------------------------------------- > 689 0.0405 vmlinux bad_to_user > 689 100.000 vmlinux bad_to_user [self] > ------------------------------------------------------------------------------- > > > The user land functions however show both callers and callees. My > opcontrol --status is as follows - > Daemon not running > Separate options: library kernel > vmlinux file: /usr/lib/debug/lib/modules/2.6.18-128.el5debug/vmlinux > Image filter: /home/ckk/work/oprofile/a.out > Call-graph depth: 100 > > > > > > -- > Regards, > Kashyap > -- Regards, Kashyap |
From: Maynard J. <may...@us...> - 2010-09-16 16:55:52
|
On 09/15/2010 8:10 AM, C K Kashyap wrote: > Hi All, > > I was attempting to generate the callgraph of kernel routines but I What oprofile version are you using and what's your architecture and processor type? Callgraph is not supported on all architectures. Some examples where it *is* supported are: x86, ppc64, and ARM. -Maynard > noticed that kernel output for kernel functions are always limited as > follows > > ------------------------------------------------------------------------------- > 943 0.0555 libc-2.5.so times > 943 100.000 libc-2.5.so times [self] > ------------------------------------------------------------------------------- > 689 0.0405 vmlinux bad_to_user > 689 100.000 vmlinux bad_to_user [self] > ------------------------------------------------------------------------------- > > > The user land functions however show both callers and callees. My > opcontrol --status is as follows - > Daemon not running > Separate options: library kernel > vmlinux file: /usr/lib/debug/lib/modules/2.6.18-128.el5debug/vmlinux > Image filter: /home/ckk/work/oprofile/a.out > Call-graph depth: 100 > > > > > |
From: C K K. <ckk...@gm...> - 2010-09-17 06:35:24
|
> What oprofile version are you using and what's your architecture and > processor type? Callgraph is not supported on all architectures. Some > examples where it *is* supported are: x86, ppc64, and ARM. > My kernel/OS details as follows - Linux mymachine 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux Oprofile version - opcontrol: oprofile 0.9.3 compiled on Sep 3 2008 00:41:52 Some data about the hardware - vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz So, I am able to generate callgraph for user apps. Its the kernel where I dont see goot result. Regards, Kashyap |
From: C K K. <ckk...@gm...> - 2010-09-23 10:50:21
|
Hi, I was wondering if I've missed any setting/flag to get the kernel callgraph correctly? On Fri, Sep 17, 2010 at 12:05 PM, C K Kashyap <ckk...@gm...> wrote: >> What oprofile version are you using and what's your architecture and >> processor type? Callgraph is not supported on all architectures. Some >> examples where it *is* supported are: x86, ppc64, and ARM. >> > My kernel/OS details as follows - > Linux mymachine 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 > x86_64 x86_64 x86_64 GNU/Linux > > Oprofile version - opcontrol: oprofile 0.9.3 compiled on Sep 3 2008 00:41:52 > > Some data about the hardware - > vendor_id : GenuineIntel > cpu family : 6 > model : 23 > model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz > > > So, I am able to generate callgraph for user apps. Its the kernel > where I dont see goot result. > > Regards, > Kashyap > -- Regards, Kashyap |
From: Maynard J. <may...@us...> - 2010-09-23 14:02:43
|
On 09/23/2010 5:50 AM, C K Kashyap wrote: > Hi, > I was wondering if I've missed any setting/flag to get the kernel > callgraph correctly? > > On Fri, Sep 17, 2010 at 12:05 PM, C K Kashyap<ckk...@gm...> wrote: >>> What oprofile version are you using and what's your architecture and >>> processor type? Callgraph is not supported on all architectures. Some >>> examples where it *is* supported are: x86, ppc64, and ARM. >>> >> My kernel/OS details as follows - >> Linux mymachine 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 >> x86_64 x86_64 x86_64 GNU/Linux >> >> Oprofile version - opcontrol: oprofile 0.9.3 compiled on Sep 3 2008 00:41:52 >> >> Some data about the hardware - >> vendor_id : GenuineIntel >> cpu family : 6 >> model : 23 >> model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz >> >> >> So, I am able to generate callgraph for user apps. Its the kernel >> where I dont see goot result. Yes, sorry, that slipped by me -- the snippet of opreport you pasted into your note seemed to imply that neither userspace nor kernelspace callgraph'ing was working. Please provide the final stats reported in the oprofiled.log. That will help us determine if this is an oprofile userspace issue or an oprofile kernel driver issue. It may not be definitive . . . we may have to dig deeper by collecting verbose output. But running with --verbose even without callgraph enabled can severely impact results due to the high overhead. Then when you add the high overhead of callgraph, verbose enablement can result in so many lost samples that it's almost useless without careful tweaking of buffer sizes and sampling frequencies. *Robert*, have you heard of anything like this before? -Maynard >> >> Regards, >> Kashyap >> > > > |
From: Robert R. <rob...@am...> - 2010-09-23 15:13:22
|
On 23.09.10 10:02:30, Maynard Johnson wrote: > On 09/23/2010 5:50 AM, C K Kashyap wrote: > > Hi, > > I was wondering if I've missed any setting/flag to get the kernel > > callgraph correctly? > > > > On Fri, Sep 17, 2010 at 12:05 PM, C K Kashyap<ckk...@gm...> wrote: > >>> What oprofile version are you using and what's your architecture and > >>> processor type? Callgraph is not supported on all architectures. Some > >>> examples where it *is* supported are: x86, ppc64, and ARM. > >>> > >> My kernel/OS details as follows - > >> Linux mymachine 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 This kernel is not very up-to-date, support for model 23 has been added to v2.6.27. Does this kernel include backports or are you running in timer mode? > >> x86_64 x86_64 x86_64 GNU/Linux > >> > >> Oprofile version - opcontrol: oprofile 0.9.3 compiled on Sep 3 2008 00:41:52 > >> > >> Some data about the hardware - > >> vendor_id : GenuineIntel > >> cpu family : 6 > >> model : 23 > >> model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz > >> > >> > >> So, I am able to generate callgraph for user apps. Its the kernel > >> where I dont see goot result. > > Yes, sorry, that slipped by me -- the snippet of opreport you pasted into your > note seemed to imply that neither userspace nor kernelspace callgraph'ing was > working. Please provide the final stats reported in the oprofiled.log. That > will help us determine if this is an oprofile userspace issue or an oprofile > kernel driver issue. It may not be definitive . . . we may have to dig deeper > by collecting verbose output. But running with --verbose even without callgraph > enabled can severely impact results due to the high overhead. Then when you add > the high overhead of callgraph, verbose enablement can result in so many lost > samples that it's almost useless without careful tweaking of buffer sizes and > sampling frequencies. Before we dig deeper here we should test the latest or some stable kernel. I don't much trust this v2.6.18 version and its potential backports. > > *Robert*, have you heard of anything like this before? I didn't touch the callgraph code so far nor I am aware of a regression or bug reports. Though I don't know if it really works since I am not using it. -Robert -- Advanced Micro Devices, Inc. Operating System Research Center |