From: Raghuramchary J. <Rag...@ln...> - 2011-10-13 09:21:40
|
Hello Experts, I'm trying to profile the pcie driver using oprofile. From the FAQ I see that -p option is given to profile the kernel modules. But I get invalid argument when I execute the -p option. Below are the steps I tried: --------------------- opcontrol --setup --no-vmlinux opcontrol --reset opcontrol -p pcie.ko >> specifying the kernel module name gives invalid argument opcontrol --start ./myapp opcontrol --dump opcontrol --shutdown opreport -l --------------------- Please let me know if I'm missing anything. Do I need to make changes in makefile to build the .ko module? Any events I need to set? I've tried setting up BUS_TRANS_ANY events opcontrol --event=BUS_TRAN_ANY:500:0x40 but I don't get any useful info . My driver is fpga based pcie driver which reads and writes the data. Appreciate your help. Thanks, Raghu ________________________________ The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail" ______________________________________________________________________ |
From: Raghuramchary J. <Rag...@ln...> - 2011-10-14 10:02:27
|
Can anyone please help. Thanks, Raghu From: Raghuramchary Jallipalli Sent: Thursday, October 13, 2011 2:52 PM To: opr...@li... Subject: Help: profiling the kernel module Hello Experts, I'm trying to profile the pcie driver using oprofile. From the FAQ I see that -p option is given to profile the kernel modules. But I get invalid argument when I execute the -p option. Below are the steps I tried: --------------------- opcontrol --setup --no-vmlinux opcontrol --reset opcontrol -p pcie.ko >> specifying the kernel module name gives invalid argument opcontrol --start ./myapp opcontrol --dump opcontrol --shutdown opreport -l --------------------- Please let me know if I'm missing anything. Do I need to make changes in makefile to build the .ko module? Any events I need to set? I've tried setting up BUS_TRANS_ANY events opcontrol --event=BUS_TRAN_ANY:500:0x40 but I don't get any useful info . My driver is fpga based pcie driver which reads and writes the data. Appreciate your help. Thanks, Raghu ________________________________ The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail" ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ |
From: William C. <wc...@re...> - 2011-10-14 14:18:51
|
On 10/14/2011 06:02 AM, Raghuramchary Jallipalli wrote: > Can anyone please help. > > > > Thanks, > > Raghu > > > > *From:*Raghuramchary Jallipalli > *Sent:* Thursday, October 13, 2011 2:52 PM > *To:* opr...@li... > *Subject:* Help: profiling the kernel module > > > > Hello Experts, > I'm trying to profile the pcie driver using oprofile. From the FAQ I see that -p option is given to profile the kernel modules. But I get invalid argument when I execute the -p option. Below are the steps I tried: > --------------------- > opcontrol --setup --no-vmlinux > opcontrol --reset > opcontrol -p pcie.ko >> specifying the kernel module name gives invalid argument > opcontrol --start > ./myapp > opcontrol --dump > opcontrol --shutdown > opreport -l > --------------------- > Please let me know if I’m missing anything. Do I need to make changes in makefile to build the .ko module? Any events I need to set? I've tried setting up BUS_TRANS_ANY events opcontrol --event=BUS_TRAN_ANY:500:0x40 but I don’t get any useful info . My driver is fpga based pcie driver which reads and writes the data. > > Appreciate your help. > > Thanks, > Raghu** Hi Raghu, The -p option of for opreport, you will see it mentioned in "man opreport". So on my Red Hat Linux system I did something like this following to look at where the processor spends time in the i915 kernel module: echo 0 > /proc/sys/kernel/nmi_watchdog opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux --event=CPU_CLK_UNHALTED:1000000 opcontrol --reset opcontrol --start ./myapp opcontrol --shutdown opreport -l -t1 -p /lib/modules/`uname -r` i915 Got the following output for the opreport: CPU: Intel Westmere microarchitecture, speed 2.667e+06 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 1000000 warning: could not check that the binary file /lib/modules/2.6.32-191.el6.x86_64/kernel/drivers/gpu/drm/i915/i915.ko has not been modified since the profile was taken. Results may be inaccurate. samples % symbol name 4861 55.7199 i915_gem_execbuffer_relocate_entry 1103 12.6433 i915_gem_object_set_to_gtt_domain 754 8.6428 i915_gem_do_execbuffer 339 3.8858 i915_gem_inactive_shrink 259 2.9688 i915_gem_execbuffer_reserve 231 2.6479 i915_gem_object_unpin 150 1.7194 pc_render_add_request 143 1.6392 i915_gem_pwrite_ioctl 101 1.1577 i915_gem_object_pin 99 1.1348 i915_add_request -Will -Will |
From: Raghuramchary J. <Rag...@ln...> - 2011-10-14 14:31:47
|
Thanks a lot Will. Shall follow the same steps and get back to you. Thanks, Raghu -----Original Message----- From: William Cohen [mailto:wc...@re...] Sent: Friday, October 14, 2011 7:49 PM To: Raghuramchary Jallipalli Cc: opr...@li... Subject: Re: Help: profiling the kernel module On 10/14/2011 06:02 AM, Raghuramchary Jallipalli wrote: > Can anyone please help. > > > > Thanks, > > Raghu > > > > *From:*Raghuramchary Jallipalli > *Sent:* Thursday, October 13, 2011 2:52 PM > *To:* opr...@li... > *Subject:* Help: profiling the kernel module > > > > Hello Experts, > I'm trying to profile the pcie driver using oprofile. From the FAQ I see that -p option is given to profile the kernel modules. But I get invalid argument when I execute the -p option. Below are the steps I tried: > --------------------- > opcontrol --setup --no-vmlinux > opcontrol --reset > opcontrol -p pcie.ko >> specifying the kernel module name gives invalid argument > opcontrol --start > ./myapp > opcontrol --dump > opcontrol --shutdown > opreport -l > --------------------- > Please let me know if I'm missing anything. Do I need to make changes in makefile to build the .ko module? Any events I need to set? I've tried setting up BUS_TRANS_ANY events opcontrol --event=BUS_TRAN_ANY:500:0x40 but I don't get any useful info . My driver is fpga based pcie driver which reads and writes the data. > > Appreciate your help. > > Thanks, > Raghu** Hi Raghu, The -p option of for opreport, you will see it mentioned in "man opreport". So on my Red Hat Linux system I did something like this following to look at where the processor spends time in the i915 kernel module: echo 0 > /proc/sys/kernel/nmi_watchdog opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux --event=CPU_CLK_UNHALTED:1000000 opcontrol --reset opcontrol --start ./myapp opcontrol --shutdown opreport -l -t1 -p /lib/modules/`uname -r` i915 Got the following output for the opreport: CPU: Intel Westmere microarchitecture, speed 2.667e+06 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 1000000 warning: could not check that the binary file /lib/modules/2.6.32-191.el6.x86_64/kernel/drivers/gpu/drm/i915/i915.ko has not been modified since the profile was taken. Results may be inaccurate. samples % symbol name 4861 55.7199 i915_gem_execbuffer_relocate_entry 1103 12.6433 i915_gem_object_set_to_gtt_domain 754 8.6428 i915_gem_do_execbuffer 339 3.8858 i915_gem_inactive_shrink 259 2.9688 i915_gem_execbuffer_reserve 231 2.6479 i915_gem_object_unpin 150 1.7194 pc_render_add_request 143 1.6392 i915_gem_pwrite_ioctl 101 1.1577 i915_gem_object_pin 99 1.1348 i915_add_request -Will -Will ______________________________________________________________________ The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail" ______________________________________________________________________ |
From: Raghuramchary J. <Rag...@ln...> - 2011-10-24 16:04:50
|
Hello Will, I have followed the same steps as mentioned.. but I get below error after the command 'opreport -l -t1 -p /lib/modules/`uname -r` pcie_mod " Error: no sample files found: profile specification too strict" I can see my module in /proc/modules but could not find the .ko file in /lib/modules/`uname -r` .. is this the reason for error?? Tried to find the pcie_mod.ko file( find -name pcie_mod.ko) in the complete root directory but couldn't find anywhere. Can you please help? Thanks, Raghu -----Original Message----- From: William Cohen [mailto:wc...@re...] Sent: Friday, October 14, 2011 7:49 PM To: Raghuramchary Jallipalli Cc: opr...@li... Subject: Re: Help: profiling the kernel module On 10/14/2011 06:02 AM, Raghuramchary Jallipalli wrote: > Can anyone please help. > > > > Thanks, > > Raghu > > > > *From:*Raghuramchary Jallipalli > *Sent:* Thursday, October 13, 2011 2:52 PM > *To:* opr...@li... > *Subject:* Help: profiling the kernel module > > > > Hello Experts, > I'm trying to profile the pcie driver using oprofile. From the FAQ I see that -p option is given to profile the kernel modules. But I get invalid argument when I execute the -p option. Below are the steps I tried: > --------------------- > opcontrol --setup --no-vmlinux > opcontrol --reset > opcontrol -p pcie.ko >> specifying the kernel module name gives invalid argument > opcontrol --start > ./myapp > opcontrol --dump > opcontrol --shutdown > opreport -l > --------------------- > Please let me know if I'm missing anything. Do I need to make changes in makefile to build the .ko module? Any events I need to set? I've tried setting up BUS_TRANS_ANY events opcontrol --event=BUS_TRAN_ANY:500:0x40 but I don't get any useful info . My driver is fpga based pcie driver which reads and writes the data. > > Appreciate your help. > > Thanks, > Raghu** Hi Raghu, The -p option of for opreport, you will see it mentioned in "man opreport". So on my Red Hat Linux system I did something like this following to look at where the processor spends time in the i915 kernel module: echo 0 > /proc/sys/kernel/nmi_watchdog opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux --event=CPU_CLK_UNHALTED:1000000 opcontrol --reset opcontrol --start ./myapp opcontrol --shutdown opreport -l -t1 -p /lib/modules/`uname -r` i915 Got the following output for the opreport: CPU: Intel Westmere microarchitecture, speed 2.667e+06 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 1000000 warning: could not check that the binary file /lib/modules/2.6.32-191.el6.x86_64/kernel/drivers/gpu/drm/i915/i915.ko has not been modified since the profile was taken. Results may be inaccurate. samples % symbol name 4861 55.7199 i915_gem_execbuffer_relocate_entry 1103 12.6433 i915_gem_object_set_to_gtt_domain 754 8.6428 i915_gem_do_execbuffer 339 3.8858 i915_gem_inactive_shrink 259 2.9688 i915_gem_execbuffer_reserve 231 2.6479 i915_gem_object_unpin 150 1.7194 pc_render_add_request 143 1.6392 i915_gem_pwrite_ioctl 101 1.1577 i915_gem_object_pin 99 1.1348 i915_add_request -Will -Will ______________________________________________________________________ The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail" ______________________________________________________________________ |
From: William C. <wc...@re...> - 2011-10-25 13:42:48
|
On 10/24/2011 12:04 PM, Raghuramchary Jallipalli wrote: > Hello Will, > I have followed the same steps as mentioned.. but I get below error after the command 'opreport -l -t1 -p /lib/modules/`uname -r` pcie_mod > " Error: no sample files found: profile specification too strict" > > I can see my module in /proc/modules but could not find the .ko file in /lib/modules/`uname -r` .. is this the reason for error?? > Tried to find the pcie_mod.ko file( find -name pcie_mod.ko) in the complete root directory but couldn't find anywhere. > > Can you please help? > > Thanks, > Raghu Are there any samples for the pcie_mod.ko? Do you see any lines with pcie_mod in "opreport" ("opreport |grep pcie_mod")? If there are no samples for the module then you would get that message. that would indicate that this module is not using few cpu resources. -Will |
From: Raghuramchary J. <Rag...@ln...> - 2011-10-25 15:11:46
|
Yes Will , I see the below line in opreport | grep pcie_mod 1 5.6e-04 pcie_mod What this indicates?? Thanks, Raghu -----Original Message----- From: William Cohen [mailto:wc...@re...] Sent: Tuesday, October 25, 2011 7:13 PM To: Raghuramchary Jallipalli Cc: opr...@li... Subject: Re: Help: profiling the kernel module On 10/24/2011 12:04 PM, Raghuramchary Jallipalli wrote: > Hello Will, > I have followed the same steps as mentioned.. but I get below error after the command 'opreport -l -t1 -p /lib/modules/`uname -r` pcie_mod > " Error: no sample files found: profile specification too strict" > > I can see my module in /proc/modules but could not find the .ko file in /lib/modules/`uname -r` .. is this the reason for error?? > Tried to find the pcie_mod.ko file( find -name pcie_mod.ko) in the complete root directory but couldn't find anywhere. > > Can you please help? > > Thanks, > Raghu Are there any samples for the pcie_mod.ko? Do you see any lines with pcie_mod in "opreport" ("opreport |grep pcie_mod")? If there are no samples for the module then you would get that message. that would indicate that this module is not using few cpu resources. -Will ______________________________________________________________________ The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail" ______________________________________________________________________ |
From: Raghuramchary J. <Rag...@ln...> - 2011-10-25 15:36:22
|
By decreasing the CPU_CLK_UNHALTED event sampling rate to 6000 the opreport | grep pcie_mod gave below line: 4 6.5e-05 pcie_mod Samples got incremented from 1 to 4 by decreasing the sample rate to 6000 from 1000000. Any clue, why am I still getting the error when I execute the command ''opreport -l -t1 -p /lib/modules/`uname -r` pcie_mod' Please help. Thanks, Raghu -----Original Message----- From: Raghuramchary Jallipalli Sent: Tuesday, October 25, 2011 8:42 PM To: William Cohen Cc: opr...@li... Subject: RE: Help: profiling the kernel module Yes Will , I see the below line in opreport | grep pcie_mod 1 5.6e-04 pcie_mod What this indicates?? Thanks, Raghu -----Original Message----- From: William Cohen [mailto:wc...@re...] Sent: Tuesday, October 25, 2011 7:13 PM To: Raghuramchary Jallipalli Cc: opr...@li... Subject: Re: Help: profiling the kernel module On 10/24/2011 12:04 PM, Raghuramchary Jallipalli wrote: > Hello Will, > I have followed the same steps as mentioned.. but I get below error after the command 'opreport -l -t1 -p /lib/modules/`uname -r` pcie_mod > " Error: no sample files found: profile specification too strict" > > I can see my module in /proc/modules but could not find the .ko file in /lib/modules/`uname -r` .. is this the reason for error?? > Tried to find the pcie_mod.ko file( find -name pcie_mod.ko) in the complete root directory but couldn't find anywhere. > > Can you please help? > > Thanks, > Raghu Are there any samples for the pcie_mod.ko? Do you see any lines with pcie_mod in "opreport" ("opreport |grep pcie_mod")? If there are no samples for the module then you would get that message. that would indicate that this module is not using few cpu resources. -Will ______________________________________________________________________ The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail" ______________________________________________________________________ ------------------------------------------------------------------------------ The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev _______________________________________________ oprofile-list mailing list opr...@li... https://lists.sourceforge.net/lists/listinfo/oprofile-list ______________________________________________________________________ ______________________________________________________________________ |
From: Raghuramchary J. <Rag...@ln...> - 2011-10-25 16:37:55
|
Ok.. This is the driver for the Xilinix based fpga PCIe device. The driver writes and reads the data to/from the device. The PCIe throughput values for write/read are not as expected, so I suspect there is a problem in my driver module. To triage this, I'm trying to profile my PCIe driver module hoping to get get a clue. Thanks Will. Raghu -----Original Message----- From: William Cohen [mailto:wc...@re...] Sent: Tuesday, October 25, 2011 9:45 PM To: opr...@li... Subject: Re: Help: profiling the kernel module On 10/25/2011 11:36 AM, Raghuramchary Jallipalli wrote: > By decreasing the CPU_CLK_UNHALTED event sampling rate to 6000 the opreport | grep pcie_mod gave below line: > 4 6.5e-05 pcie_mod > > Samples got incremented from 1 to 4 by decreasing the sample rate to 6000 from 1000000. > > Any clue, why am I still getting the error when I execute the command ''opreport -l -t1 -p /lib/modules/`uname -r` pcie_mod' > > Please help. > > Thanks, > Raghu If pcie_mod is getting so few samples with such a low sample interval, you are probably not going to get useful data out of oprofile on pcie_mod. Could you take a moment and explain why the focus is on pcie_mod and give some background on the performance issue that you are try to address? -Will ------------------------------------------------------------------------------ The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev _______________________________________________ oprofile-list mailing list opr...@li... https://lists.sourceforge.net/lists/listinfo/oprofile-list ______________________________________________________________________ The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail" ______________________________________________________________________ |
From: William C. <wc...@re...> - 2011-10-25 17:39:25
|
On 10/25/2011 12:37 PM, Raghuramchary Jallipalli wrote: > Ok.. This is the driver for the Xilinix based fpga PCIe device. The driver writes and reads the data to/from the device. The PCIe throughput values for write/read are not as expected, so I suspect there is a problem in my driver module. To triage this, I'm trying to profile my PCIe driver module hoping to get get a clue. > > > Thanks Will. > Raghu Hi Raghu, Thanks for the summary. It sound unlikely that the bottleneck is the processor. Oprofile is best showing where the processor hotspots are. You might take a look at SystemTap for triaging the problem: http://sourceware.org/systemtap/ There are some examples like latencytap.stp on http://sourceware.org/systemtap/examples/ that could give some ideas about what is causing the performance problem. Also found new group thread discussing a similar problem: http://www.linuxquestions.org/questions/linux-newbie-8/pcie-driver-need-high-performance-660222/ -Will |
From: William C. <wc...@re...> - 2011-10-25 16:00:13
|
On 10/25/2011 11:11 AM, Raghuramchary Jallipalli wrote: > Yes Will , I see the below line in opreport | grep pcie_mod > 1 5.6e-04 pcie_mod > > What this indicates?? > > Thanks, > Raghu Means there is 1 sample that makes up 5.6e-4 of the samples on the machine. About 1785 samples. If only getting one sample, possible that earlier runs didn't have any samples for pcie_mod. -Will |
From: William C. <wc...@re...> - 2011-10-25 16:15:12
|
On 10/25/2011 11:36 AM, Raghuramchary Jallipalli wrote: > By decreasing the CPU_CLK_UNHALTED event sampling rate to 6000 the opreport | grep pcie_mod gave below line: > 4 6.5e-05 pcie_mod > > Samples got incremented from 1 to 4 by decreasing the sample rate to 6000 from 1000000. > > Any clue, why am I still getting the error when I execute the command ''opreport -l -t1 -p /lib/modules/`uname -r` pcie_mod' > > Please help. > > Thanks, > Raghu If pcie_mod is getting so few samples with such a low sample interval, you are probably not going to get useful data out of oprofile on pcie_mod. Could you take a moment and explain why the focus is on pcie_mod and give some background on the performance issue that you are try to address? -Will |