tools/perf/pmu-events/arch/x86/ivytown/uncore-interconnect.json

Source file repositories/reference/linux-study-clean/tools/perf/pmu-events/arch/x86/ivytown/uncore-interconnect.json

File Facts

System
Linux kernel
Corpus path
tools/perf/pmu-events/arch/x86/ivytown/uncore-interconnect.json
Extension
.json
Size
248438 bytes
Lines
3673
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

[
    {
        "BriefDescription": "Address Match (Conflict) Count; Conflict Merges",
        "Counter": "0,1",
        "EventCode": "0x17",
        "EventName": "UNC_I_ADDRESS_MATCH.MERGE_COUNT",
        "PerPkg": "1",
        "PublicDescription": "Counts the number of times when an inbound write (from a device to memory or another device) had an address match with another request in the write cache.; When two requests to the same address from the same source are received back to back, it is possible to merge the two of them together.",
        "UMask": "0x2",
        "Unit": "IRP"
    },
    {
        "BriefDescription": "Address Match (Conflict) Count; Conflict Stalls",
        "Counter": "0,1",
        "EventCode": "0x17",
        "EventName": "UNC_I_ADDRESS_MATCH.STALL_COUNT",
        "PerPkg": "1",
        "PublicDescription": "Counts the number of times when an inbound write (from a device to memory or another device) had an address match with another request in the write cache.; When it is not possible to merge two conflicting requests, a stall event occurs.  This is bad for performance.",
        "UMask": "0x1",
        "Unit": "IRP"
    },
    {
        "BriefDescription": "Write Ack Pending Occupancy; Any Source",
        "Counter": "0,1",
        "EventCode": "0x14",
        "EventName": "UNC_I_CACHE_ACK_PENDING_OCCUPANCY.ANY",
        "PerPkg": "1",
        "PublicDescription": "Accumulates the number of writes that have acquired ownership but have not yet returned their data to the uncore.  These writes are generally queued up in the switch trying to get to the head of their queues so that they can post their data.  The queue occuapancy increments when the ACK is received, and decrements when either the data is returned OR a tickle is received and ownership is released.  Note that a single tickle can result in multiple decrements.; Tracks only those requests that come from the port specified in the IRP_PmonFilter.OrderingQ register.  This register allows one to select one specific queue.  It is not possible to monitor multiple queues at a time.",
        "UMask": "0x1",
        "Unit": "IRP"
    },
    {
        "BriefDescription": "Write Ack Pending Occupancy; Select Source",
        "Counter": "0,1",
        "EventCode": "0x14",
        "EventName": "UNC_I_CACHE_ACK_PENDING_OCCUPANCY.SOURCE",
        "PerPkg": "1",
        "PublicDescription": "Accumulates the number of writes that have acquired ownership but have not yet returned their data to the uncore.  These writes are generally queued up in the switch trying to get to the head of their queues so that they can post their data.  The queue occuapancy increments when the ACK is received, and decrements when either the data is returned OR a tickle is received and ownership is released.  Note that a single tickle can result in multiple decrements.; Tracks all requests from any source port.",
        "UMask": "0x2",
        "Unit": "IRP"
    },
    {
        "BriefDescription": "Outstanding Write Ownership Occupancy; Any Source",
        "Counter": "0,1",
        "EventCode": "0x13",
        "EventName": "UNC_I_CACHE_OWN_OCCUPANCY.ANY",
        "PerPkg": "1",
        "PublicDescription": "Accumulates the number of writes (and write prefetches) that are outstanding in the uncore trying to acquire ownership in each cycle.  This can be used with the write transaction count to calculate the average write latency in the uncore.  The occupancy increments when a write request is issued, and decrements when the data is returned.; Tracks all requests from any source port.",
        "UMask": "0x1",
        "Unit": "IRP"
    },
    {
        "BriefDescription": "Outstanding Write Ownership Occupancy; Select Source",
        "Counter": "0,1",
        "EventCode": "0x13",
        "EventName": "UNC_I_CACHE_OWN_OCCUPANCY.SOURCE",
        "PerPkg": "1",
        "PublicDescription": "Accumulates the number of writes (and write prefetches) that are outstanding in the uncore trying to acquire ownership in each cycle.  This can be used with the write transaction count to calculate the average write latency in the uncore.  The occupancy increments when a write request is issued, and decrements when the data is returned.; Tracks only those requests that come from the port specified in the IRP_PmonFilter.OrderingQ register.  This register allows one to select one specific queue.  It is not possible to monitor multiple queues at a time.",
        "UMask": "0x2",
        "Unit": "IRP"
    },
    {
        "BriefDescription": "Outstanding Read Occupancy; Any Source",
        "Counter": "0,1",
        "EventCode": "0x10",
        "EventName": "UNC_I_CACHE_READ_OCCUPANCY.ANY",
        "PerPkg": "1",
        "PublicDescription": "Accumulates the number of reads that are outstanding in the uncore in each cycle.  This can be used with the read transaction count to calculate the average read latency in the uncore.  The occupancy increments when a read request is issued, and decrements when the data is returned.; Tracks all requests from any source port.",
        "UMask": "0x1",
        "Unit": "IRP"

Annotation

Implementation Notes