Skip site navigation (1)Skip section navigation (2)
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&#39;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&#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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALCpEUE08KyAcLSzb1Cnr49=6ryf-4hnPhoxEH3ZG6HdHJmATQ>