Vivek,
On Sun, Mar 04, 2007 at 07:22:34PM -0500, Vivek Thakkar wrote:
>
> Hi,
>
> One of the functions in smpl_pebs.c is "process_smpl_buf " . It has a check
> condition (modified slightly for running with multiple threads) as follows :
>
> if (hdr->hdr_overflows <= last_overflow[id] && last_overflow[id] != ~0)
> {
> warning("skipping identical set of samples %"PRIu64" <= %"PRIu64"\n",
> hdr->hdr_overflows, last_overflow);
> return;
> }
> /*In my case this condition gets executed individually for each thread -
> last_overflow[id] is an array for thread with thread # id, argument hdr is
> passed in the function and is unique for each thread */
>
> Here, hdr->hdr_overflows should be monotonically increasing (across
> multiple function invocations) for each thread. But somewhere in the
> middle, I notice a spike in its value (described below).
> Because of it , all the following invocations of this function just return
> without counting samples. Now, I can hack it pretty easily by just
> updating the last_overflow[id] to the current hdr->hdr_overflows (treating
> that one value as unexpected). But I would like to understand the reason
> for this. Is this a bug in perfmon ?
Could you try this on 2.6.20 with the latest perfmon patches?
Another thing you can do is check the perfmon statistics. in PEBS
mode, the number of buffer overflows = number of PMU interrupts.
So if you have 2 identical threads and they each see 2000 buffer overflows,
the total number of PMU interrupts as reported by:
/sys/devices/system/cpu/cpu*/perfmon/ovfl_intr_all-count
should be 4000 total of all your cpus.
You can reset the stats by doing:
# echo 1 > /sys/kernel/perfmon/reset
> I am using perfmon patched 2.6.17 kernel.
>
> Following header overflows((hdr->hdr_overflows) have been tracked only for
> thread 0. And the test program was run for 2 threads.
>
> Header overflow = 1781
> Header overflow = 1782
> Header overflow = 1783
> Header overflow = 1784
> Header overflow = 1785
> Header overflow = 1786
> Header overflow = 1787
> Header overflow = 1788
> Header overflow = 1789
> <<<<<<<<<<<<<<<<< Header overflow = 2947 >>>>>>>>>>>>>>>>>>>>>>>>>>
> Header overflow = 1790
> Header overflow = 1791
> Header overflow = 1792
> Header overflow = 1793
> Header overflow = 1794
> Header overflow = 1795
> Header overflow = 1796
> Header overflow = 1797
> Header overflow = 1798
> Header overflow = 1799
> Header overflow = 1800
>
> --
> Regards,
> Vivek Thakkar
>
> Regards,
> Vivek
> ---------------------
> MS, CSC Department
> NC State University
>
> 2834 Avent Ferry Road, Apt. 202
> Raleigh, NC, 27606
> _______________________________________________
> perfmon mailing list
> [email protected]
> http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/
--
-Stephane
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/