svn commit: r254824 - head/sys/dev/hwpmc

Adrian Chadd adrian at freebsd.org
Sun Aug 25 11:55:40 UTC 2013


Ah, damnit! Thanks for catching that.

Sorry, normally I use editor macros to catch this, but for some reason, the
"I'm over 80 columns wide" macro isn't in vim. Let me fix this.


-adrian



On 24 August 2013 23:56, hiren panchasara <hiren at freebsd.org> wrote:

>
>
>
> On Sat, Aug 24, 2013 at 7:07 PM, Adrian Chadd <adrian at freebsd.org> wrote:
>
>> Author: adrian
>> Date: Sun Aug 25 02:07:28 2013
>> New Revision: 254824
>> URL: http://svnweb.freebsd.org/changeset/base/254824
>>
>> Log:
>>   Update the MEM_UOP_RETIRED PMC operation for sandy bridge and sandy
>>   bridge Xeon.
>>
>>   Summary: These are PEBS events but they're also available as normal
>>   counter/sample events.  The source table (Table 19-2) lists the
>>   base versions (LOAD, STLB_MISS, SPLIT, ALL) but it says they must
>>   be qualified with other values.  This particular commit fleshes
>>   out those umask values.
>>
>>   Source:
>>
>>   * Linux; SDM June 2013, Volume 3B, Table 19-2 and 18-21.
>>
>>   Tested:
>>
>>   * Sandy Bridge (non-Xeon)
>>
>> Modified:
>>   head/sys/dev/hwpmc/hwpmc_core.c
>>   head/sys/dev/hwpmc/pmc_events.h
>>
>> Modified: head/sys/dev/hwpmc/hwpmc_core.c
>>
>> ==============================================================================
>> --- head/sys/dev/hwpmc/hwpmc_core.c     Sun Aug 25 01:55:14 2013
>>  (r254823)
>> +++ head/sys/dev/hwpmc/hwpmc_core.c     Sun Aug 25 02:07:28 2013
>>  (r254824)
>> @@ -1514,19 +1514,21 @@ static struct iap_event_descr iap_events
>>      IAPDESCR(CEH_00H, 0xCE, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2),
>>      IAPDESCR(CFH_00H, 0xCF, 0x00, IAP_F_FM | IAP_F_CA | IAP_F_CC2),
>>
>> +    /* Sandy Bridge / Sandy Bridge Xeon - 11, 12, 21, 41, 42, 81, 82 */
>>      IAPDESCR(D0H_00H, 0xD0, 0x00, IAP_F_FM | IAP_F_CC),
>> -    IAPDESCR(D0H_01H, 0xD0, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
>> -       IAP_F_SB | IAP_F_IB | IAP_F_SBX | IAP_F_IBX | IAP_F_HW),
>> -    IAPDESCR(D0H_02H, 0xD0, 0x02, IAP_F_FM | IAP_F_SB | IAP_F_IB |
>> -       IAP_F_SBX | IAP_F_IBX | IAP_F_HW),
>> -    IAPDESCR(D0H_10H, 0xD0, 0x10, IAP_F_FM | IAP_F_SB | IAP_F_IB |
>> -       IAP_F_SBX | IAP_F_IBX | IAP_F_HW),
>> -    IAPDESCR(D0H_20H, 0xD0, 0x20, IAP_F_FM | IAP_F_SB | IAP_F_IB |
>> -       IAP_F_SBX | IAP_F_IBX | IAP_F_HW),
>> -    IAPDESCR(D0H_40H, 0xD0, 0x40, IAP_F_FM | IAP_F_SB | IAP_F_IB |
>> -       IAP_F_SBX | IAP_F_IBX | IAP_F_HW),
>> -    IAPDESCR(D0H_80H, 0xD0, 0X80, IAP_F_FM | IAP_F_SB | IAP_F_IB |
>> -       IAP_F_SBX | IAP_F_IBX | IAP_F_HW),
>> +    IAPDESCR(D0H_01H, 0xD0, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
>> IAP_F_IB | IAP_F_IBX | IAP_F_HW),
>>
>
> This is unnecessarily going above 80-columns.
>
> Thanks,
> Hiren
>
>> +    IAPDESCR(D0H_02H, 0xD0, 0x02, IAP_F_FM | IAP_F_IB | IAP_F_IBX |
>> IAP_F_HW),
>> +    IAPDESCR(D0H_10H, 0xD0, 0x10, IAP_F_FM | IAP_F_IB | IAP_F_IBX |
>> IAP_F_HW),
>> +    IAPDESCR(D0H_11H, 0xD0, 0x11, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
>> +    IAPDESCR(D0H_12H, 0xD0, 0x12, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
>> +    IAPDESCR(D0H_20H, 0xD0, 0x20, IAP_F_FM | IAP_F_IB | IAP_F_IBX |
>> IAP_F_HW),
>> +    IAPDESCR(D0H_21H, 0xD0, 0x21, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
>> +    IAPDESCR(D0H_40H, 0xD0, 0x40, IAP_F_FM | IAP_F_IB | IAP_F_IBX |
>> IAP_F_HW),
>> +    IAPDESCR(D0H_41H, 0xD0, 0x41, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
>> +    IAPDESCR(D0H_42H, 0xD0, 0x42, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
>> +    IAPDESCR(D0H_80H, 0xD0, 0x80, IAP_F_FM | IAP_F_IB | IAP_F_IBX |
>> IAP_F_HW),
>> +    IAPDESCR(D0H_81H, 0xD0, 0x81, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
>> +    IAPDESCR(D0H_82H, 0xD0, 0x82, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
>>
>>      IAPDESCR(D1H_01H, 0xD1, 0x01, IAP_F_FM | IAP_F_WM | IAP_F_SB |
>>         IAP_F_IB | IAP_F_SBX | IAP_F_IBX | IAP_F_HW),
>>
>> Modified: head/sys/dev/hwpmc/pmc_events.h
>>
>> ==============================================================================
>> --- head/sys/dev/hwpmc/pmc_events.h     Sun Aug 25 01:55:14 2013
>>  (r254823)
>> +++ head/sys/dev/hwpmc/pmc_events.h     Sun Aug 25 02:07:28 2013
>>  (r254824)
>> @@ -1053,9 +1053,16 @@ __PMC_EV(IAP, EVENT_D0H_00H)                     \
>>  __PMC_EV(IAP, EVENT_D0H_01H)                   \
>>  __PMC_EV(IAP, EVENT_D0H_02H)                   \
>>  __PMC_EV(IAP, EVENT_D0H_10H)                   \
>> +__PMC_EV(IAP, EVENT_D0H_11H)                   \
>> +__PMC_EV(IAP, EVENT_D0H_12H)                   \
>>  __PMC_EV(IAP, EVENT_D0H_20H)                   \
>> +__PMC_EV(IAP, EVENT_D0H_21H)                   \
>>  __PMC_EV(IAP, EVENT_D0H_40H)                   \
>> +__PMC_EV(IAP, EVENT_D0H_41H)                   \
>> +__PMC_EV(IAP, EVENT_D0H_42H)                   \
>>  __PMC_EV(IAP, EVENT_D0H_80H)                   \
>> +__PMC_EV(IAP, EVENT_D0H_81H)                   \
>> +__PMC_EV(IAP, EVENT_D0H_82H)                   \
>>  __PMC_EV(IAP, EVENT_D1H_01H)                   \
>>  __PMC_EV(IAP, EVENT_D1H_02H)                   \
>>  __PMC_EV(IAP, EVENT_D1H_04H)                   \
>> @@ -3286,12 +3293,13 @@ __PMC_EV_ALIAS("FP_ASSIST.ANY", IAP_EVEN
>>  __PMC_EV_ALIAS("ROB_MISC_EVENTS.LBR_INSERTS", IAP_EVENT_CCH_20H)       \
>>  __PMC_EV_ALIAS("MEM_TRANS_RETIRED.LOAD_LATENCY", IAP_EVENT_CDH_01H)    \
>>  __PMC_EV_ALIAS("MEM_TRANS_RETIRED.PRECISE_STORE", IAP_EVENT_CDH_02H)   \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.LOADS", IAP_EVENT_D0H_01H)             \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.STORES", IAP_EVENT_D0H_02H)            \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.STLB_MISS", IAP_EVENT_D0H_10H)         \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.LOCK", IAP_EVENT_D0H_20H)              \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.SPLIT", IAP_EVENT_D0H_40H)             \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED_ALL", IAP_EVENT_D0H_80H)               \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.STLB_MISS_LOADS", IAP_EVENT_D0H_11H)   \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.STLB_MISS_STORES", IAP_EVENT_D0H_12H)  \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.LOCK_LOADS", IAP_EVENT_D0H_21H)
>>        \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.SPLIT_LOADS", IAP_EVENT_D0H_41H)       \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.SPLIT_STORES", IAP_EVENT_D0H_42H)      \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.ALL_LOADS", IAP_EVENT_D0H_81H)         \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.ALL_STORES", IAP_EVENT_D0H_82H)
>>        \
>>  __PMC_EV_ALIAS("MEM_LOAD_UOPS_RETIRED.L1_HIT", IAP_EVENT_D1H_01H)      \
>>  __PMC_EV_ALIAS("MEM_LOAD_UOPS_RETIRED.L2_HIT", IAP_EVENT_D1H_02H)      \
>>  __PMC_EV_ALIAS("MEM_LOAD_UOPS_RETIRED.LLC_HIT", IAP_EVENT_D1H_04H)     \
>> @@ -3517,12 +3525,13 @@ __PMC_EV_ALIAS("FP_ASSIST.ANY", IAP_EVEN
>>  __PMC_EV_ALIAS("ROB_MISC_EVENTS.LBR_INSERTS", IAP_EVENT_CCH_20H)        \
>>  __PMC_EV_ALIAS("MEM_TRANS_RETIRED.LOAD_LATENCY", IAP_EVENT_CDH_01H)     \
>>  __PMC_EV_ALIAS("MEM_TRANS_RETIRED.PRECISE_STORE", IAP_EVENT_CDH_02H)    \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.LOADS", IAP_EVENT_D0H_01H)              \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.STORES", IAP_EVENT_D0H_02H)             \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.STLB_MISS", IAP_EVENT_D0H_10H)          \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.LOCK", IAP_EVENT_D0H_20H)               \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED.SPLIT", IAP_EVENT_D0H_40H)              \
>> -__PMC_EV_ALIAS("MEM_UOP_RETIRED_ALL", IAP_EVENT_D0H_80H)                \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.STLB_MISS_LOADS", IAP_EVENT_D0H_11H)   \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.STLB_MISS_STORES", IAP_EVENT_D0H_12H)  \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.LOCK_LOADS", IAP_EVENT_D0H_21H)
>>        \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.SPLIT_LOADS", IAP_EVENT_D0H_41H)       \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.SPLIT_STORES", IAP_EVENT_D0H_42H)      \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.ALL_LOADS", IAP_EVENT_D0H_81H)         \
>> +__PMC_EV_ALIAS("MEM_UOP_RETIRED.ALL_STORES", IAP_EVENT_D0H_82H)
>>        \
>>  __PMC_EV_ALIAS("MEM_LOAD_UOPS_RETIRED.L1_HIT", IAP_EVENT_D1H_01H)       \
>>  __PMC_EV_ALIAS("MEM_LOAD_UOPS_RETIRED.L2_HIT", IAP_EVENT_D1H_02H)       \
>>  __PMC_EV_ALIAS("MEM_LOAD_UOPS_RETIRED.LLC_HIT", IAP_EVENT_D1H_04H)      \
>>
>
>


More information about the svn-src-head mailing list