看板 FB_bugs 關於我們 聯絡資訊
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&#39;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 _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"