SIGPROF received ( profile timer expired )
Hi all I am facing problem in running an application over character driver written by me. I wanted to profile that application (time required for each system call) so I compiled it using gcc -pg option. But some time i am receiving SIGPROF signal during ioctl() system call. Is there any way we can control profile timer's value ? or some other way to get rid of this problem. Thanks in advance
On 12/03/2011, अनिकेत आगाशे <agasheac@gmail.com> wrote:
Hi all
I am facing problem in running an application over character driver written by me. I wanted to profile that application (time required for each system call) so I compiled it using gcc -pg option. But some time i am receiving SIGPROF signal during ioctl() system call.
Is there any way we can control profile timer's value ? or some other way to get rid of this problem.
hm, how about using TSC? http://en.wikipedia.org/wiki/Time_Stamp_Counter -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
On Sat, Mar 12, 2011 at 4:01 PM, Mulyadi Santosa <mulyadi.santosa@gmail.com>wrote:
On 12/03/2011, अनिकेत आगाशे <agasheac@gmail.com> wrote:
Hi all
I am facing problem in running an application over character driver written by me. I wanted to profile that application (time required for each system call) so I compiled it using gcc -pg option. But some time i am receiving SIGPROF signal during ioctl() system call.
Is there any way we can control profile timer's value ? or some other way to get rid of this problem.
hm, how about using TSC? http://en.wikipedia.org/wiki/Time_Stamp_Counter
Thaks for your reply but is there any way we can control profile timer value ?
-- regards,
Mulyadi Santosa Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
On Tue, Mar 15, 2011 at 11:12, अनिकेत आगाशे <agasheac@gmail.com> wrote:
but is there any way we can control profile timer value ?
sorry, I didn't get it.... "control"? could you give example on what you mean by "control"? -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
*http://ftp.gnu.org/old-gnu/Manuals/gprof-2.9.1/html_chapter/gprof_9.html* para from link, However, some operating systems, most notably Linux 2.0 (and earlier), do not provide a profil() system call. On such a system, arrangements are made for the kernel to periodically deliver a signal to the process (typically via setitimer()), which then performs the same operation of examining the program counter and incrementing a slot in the memory array. Since this method requires a signal to be delivered to user space every time a sample is taken, it uses considerably more overhead than kernel-based profiling. Also, due to the added delay required to deliver the signal, this method is less accurate as well. whether we can change value of an interval timer used for profiling ? * * Thank you*, * ** On Tue, Mar 15, 2011 at 1:04 PM, Mulyadi Santosa <mulyadi.santosa@gmail.com>wrote:
On Tue, Mar 15, 2011 at 11:12, अनिकेत आगाशे <agasheac@gmail.com> wrote:
but is there any way we can control profile timer value ?
sorry, I didn't get it.... "control"? could you give example on what you mean by "control"?
-- regards,
Mulyadi Santosa Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
On Tue, Mar 15, 2011 at 16:41, अनिकेत आगाशे <agasheac@gmail.com> wrote:
whether we can change value of an interval timer used for profiling ?
OK, I guess what the paragraph refers is kernel tick frequency aka HZ. In that case, you can't change it. perhaps what you need to check is oprofile or "trace" utility. They uses hardware counter for profiling... but still, AFAIK, they do sampling...it just they use their own timer... -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
participants (2)
-
Mulyadi Santosa -
अनिकेत आगाशे