From: Venkat S. <ven...@ya...> - 2007-08-22 21:30:29
|
Hi, How does oprofile collect data about the time spent within a function? I guess it could depend the mode also. Thx, Venkat ____________________________________________________________________________________ Fussy? Opinionated? Impossible to please? Perfect. Join Yahoo!'s user panel and lay it on us. http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7 |
From: Bob N. <rrn...@li...> - 2007-08-23 21:56:14
|
On Wednesday 22 August 2007 04:30:27 pm Venkat Subbiah wrote: > Hi, > How does oprofile collect data about the time spent > within a function? I guess it could depend the mode > also. > Thx, > Venkat > OProfile takes program counter samples on an interval basis. Depending on the processor the interval might be based on a timer, CPU clock cycles, or other events that the processor's PMU is capable of monitoring. For example it might be cache misses, or branch mispredicitions. Typically you set up OProfile to capture data every N events, such as 200000 CPU cycles, or 50000 cache misses, or it could be timer based. At each event OProfile captures the execution address and stores it. When you run the reporting tool(s) such as opreport later, it will read the list of captured data and attempt to associate the address of each event with a particular program/function/line of code, etc., depending on the report you are generating. Bob |