[CFT] hwpmc support for Intel Ivy Bridge

Baptiste Daroussin bapt at FreeBSD.org
Tue Sep 4 19:23:24 UTC 2012


On Tue, Sep 04, 2012 at 09:35:07AM +0200, Fabien Thomas wrote:
> 
> Le 3 sept. 2012 à 23:23, Baptiste Daroussin a écrit :
> 
> > On Mon, Sep 03, 2012 at 02:04:21PM +0200, Fabien Thomas wrote:
> >> 	Hi,
> >> 
> >> Find a patch that add Intel  Ivy Bridge support to hwpmc(9).
> >> The patch also support offcore RSP token for Sandy Bridge.
> >> Note: No uncore support.
> >> 
> >> Tested on:
> >> Intel(R) Xeon(R) CPU E3-1265L V2 @ 2.50GHz (2494.35-MHz K8-class CPU)
> >> Origin = "GenuineIntel"  Id = 0x306a9  Family = 6  Model = 3a  Stepping = 9
> >> 
> >> http://people.freebsd.org/~fabient/patch-hwpmc_ivy_bridge_head
> >> 
> >> cd /usr/src && patch -p0 < patch-hwpmc_ivy_bridge_head 
> >> and rebuild world.
> >> 
> >> 
> >> Fabien
> > 
> > World building, I'll keep you in touch
> > 
> > Is there any particulat testing, I can do other than using the new world?
> 
> Thanks for testing!
> 
> Yes you can test it quickly using top mode for example:
> 
> kldload hwpmc
> pmccontrol -L to list all events
> 
> some test:
> 
> - offcore
> pmcstat -SOFF_CORE_RESPONSE_0,rsp=REQ_DMND_DATA_RD+RES_ANY -w1 -T
> 
> - unhalted cycle (programmable counter)
> pmcstat -n2000000 -SCPU_CLK_UNHALTED.THREAD_P -w4 -T
> 
> - INSTR_RETIRED_ANY (fixed counter)
> pmcstat -n2000000 -S INSTR_RETIRED_ANY -w4 -T
> 
> - Soft counter:
> pmcstat -SPAGE_FAULT.ALL -w4 -T
> 
> all at the same time (and change view by pressing 'p':
> pmcstat -SOFF_CORE_RESPONSE_0,rsp=REQ_DMND_DATA_RD+RES_ANY -n2000000 -SCPU_CLK_UNHALTED.THREAD_P   -n2000000 -S INSTR_RETIRED_ANY -SPAGE_FAULT.ALL -w1 -T
> 
> 
> all events are described in the man page pmc.ivybridge
> 
> 
> > 
> > regards,
> > Bapt
> 

Hi,

here are the results

# pmccontrol -L
SOFT
        CLOCK.STAT
        CLOCK.HARD
        LOCK.FAILED
        PAGE_FAULT.WRITE
        PAGE_FAULT.READ
        PAGE_FAULT.ALL

# pmcstat -SOFF_CORE_RESPONSE_0,rsp=REQ_DMND_DATA_RD+RES_ANY -w1 -T
pmcstat: ERROR: Cannot allocate system-mode pmc with specification "OFF_CORE_RESPONSE_0,rsp=REQ_DMND_DATA_RD+RES_ANY": Invalid argument

# pmcstat -n2000000 -S INSTR_RETIRED_ANY -w4 -T
pmcstat: ERROR: Cannot allocate system-mode pmc with specification "INSTR_RETIRED_ANY": Invalid argument

# pmcstat -n2000000 -S INSTR_RETIRED_ANY -w4 -T
pmcstat: ERROR: Cannot allocate system-mode pmc with specification "INSTR_RETIRED_ANY": Invalid argument

# pmcstat -SPAGE_FAULT.ALL -w4 -T
(This one seems to work correctly

# pmcstat -SOFF_CORE_RESPONSE_0,rsp=REQ_DMND_DATA_RD+RES_ANY -n2000000 -SCPU_CLK_UNHALTED.THREAD_P   -n2000000 -S INSTR_RETIRED_ANY -SPAGE_FAULT
pmcstat: ERROR: Cannot allocate system-mode pmc with specification "OFF_CORE_RESPONSE_0,rsp=REQ_DMND_DATA_RD+RES_ANY": Invalid argument

The pmctest.py fails: 
# ./test/hwpmc/pmctest.py
Traceback (most recent call last):
  File "./test/hwpmc/pmctest.py", line 94, in <module>
    main()
  File "./test/hwpmc/pmctest.py", line 81, in main
    stdout=PIPE)
  File "/usr/local/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/local/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
TypeError: execv() arg 2 must contain only strings


regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20120904/3e88cd67/attachment.pgp


More information about the freebsd-current mailing list