Date: Sat, 22 Jun 2013 12:21:25 -0700 From: hiren panchasara <hiren.panchasara@gmail.com> To: Adrian Chadd <adrian@freebsd.org> Cc: freebsd-bugs@freebsd.org Subject: Re: kern/179827: [hwpmc] process-mode counters aren't correctly read on multi-core machines Message-ID: <CALCpEUE08KyAcLSzb1Cnr49=6ryf-4hnPhoxEH3ZG6HdHJmATQ@mail.gmail.com> In-Reply-To: <201306221710.r5MHA1aq048745@freefall.freebsd.org> References: <201306221710.r5MHA1aq048745@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jun 22, 2013 at 10:10 AM, Adrian Chadd <adrian@freebsd.org> wrote: > The following reply was made to PR kern/179827; it has been noted by GNATS. > > From: Adrian Chadd <adrian@freebsd.org> > To: hiren panchasara <hiren@freebsd.org> > Cc: bug-followup@freebsd.org > Subject: Re: kern/179827: [hwpmc] process-mode counters aren't correctly > read on multi-core machines > Date: Sat, 22 Jun 2013 10:03:46 -0700 > > You can't do sleep() ; that yields the CPU. > > Replace it with a busy loop that constantly does some math. Okay, so some random thing off of internet: int main() { float a , b , sq , sinx , cosx , tanx; int x = 4; int y=30; for (int i=0; i<INT_MAX; i++) { sq = sqrt(x); y = 30*(3.142/180); sinx=sin(y); cosx=cos(y); tanx=tan(y); } return 0; } and this is how it looks: -bash-4.2$ pmcstat -p instructions -w 1 ./sin CSW:SWO:1: cpu=3 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC:OPS:1: start pmc=0xfffffe02e8fd6300 mode=3 ri=21 CSW:SWI:1: cpu=18 proc=0xfffffe0047f504b8 (16889, pmcstat) pp=0xfffffe005dbd8a00 CSW:SWO:1: cpu=3 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 CSW:SWI:1: cpu=18 ri=21 new=0 CSW:SWO:1: cpu=18 proc=0xfffffe0047f504b8 (16889, sin) pp=0xfffffe005dbd8a00 CSW:SWO:1: cpu=18 ri=21 tmp=126573151 CSW:SWI:1: cpu=22 proc=0xfffffe0047f504b8 (16889, sin) pp=0xfffffe005dbd8a00 CSW:SWI:1: cpu=22 ri=21 new=126573151 CSW:SWO:1: cpu=22 proc=0xfffffe0047f504b8 (16889, sin) pp=0xfffffe005dbd8a00 CSW:SWO:1: cpu=22 ri=21 tmp=54706956 CSW:SWI:1: cpu=23 proc=0xfffffe0047f504b8 (16889, sin) pp=0xfffffe005dbd8a00 CSW:SWI:1: cpu=23 ri=21 new=181280107 CSW:SWO:1: cpu=23 proc=0xfffffe0047f504b8 (16889, sin) pp=0xfffffe005dbd8a00 CSW:SWO:1: cpu=23 ri=21 tmp=43038450 CS W:# p/instructionSWIs :1: cpu=20 proc=0xfffffe0047f504b8 (16889, sin) pp=0xfffffe005dbd8a00 PMC:OPS:1: rw id=-16579051 flags=0x20 CSW:SWI:1: cpu=20 ri=21 new=224318557 PMC:OPS:2: rw id=21 -> old d5ed45d 22431855CSW7 :SWO:1: cpu=9 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=9 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=9 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=9 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=23 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=23 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=23 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=23 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=23 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=23 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=4 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=4 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=4 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=4 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW:SWO:1: cpu=4 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=4 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=4 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW:SWO:1: cpu=4 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 0 P# p/instructionMC:s OPS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW:SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW:SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:Os PS:1: rw id=-16579051 flags=0x20 PMC:OPS:2: rw id=21 -> old d5ed45d CSW0 :SWO:1: cpu=18 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0 PMC# p/instruction:OPs S:1: rw id=-16579051 flags=0x20 CSW:SWO:1: cpu=20 proc=0xfffffe0047f504b8 (16889, sin) pp=0 PMC:OPS:2: rw id=21 -> old 2f0d3df576 20186130869PM7 C:OPS:1: stop pmc=0xfffffe02e8fd6300 mode=3 ri=21 CSW:SWO:1: cpu=7 proc=0xfffffe0047d58000 (16888, pmcstat) pp=0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALCpEUE08KyAcLSzb1Cnr49=6ryf-4hnPhoxEH3ZG6HdHJmATQ>