Skip to content

readme: Add CounterType and ProgrammingRestriction#375

Open
edwarddavidbaker wants to merge 2 commits into
intel:mainfrom
edwarddavidbaker:readme-updates
Open

readme: Add CounterType and ProgrammingRestriction#375
edwarddavidbaker wants to merge 2 commits into
intel:mainfrom
edwarddavidbaker:readme-updates

Conversation

@edwarddavidbaker

@edwarddavidbaker edwarddavidbaker commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Add documentation to describe event fields CounterType and ProgrammingRestriction.

Pre-merge rendered markdown can be viewed at https://github.com/edwarddavidbaker/perfmon/tree/readme-updates#countertype .

Add documentation to describe event fields CounterType and
ProgrammingRestriction.
@edwarddavidbaker

edwarddavidbaker commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for drafting readme content Ryan. What do you think about the [N] indexing? Do you think adding a small mermaid diagram would help succinctly show an example?

Comment thread README.md
Comment on lines +259 to +260
there are several `UMask` entries, then `UMask[N]` and `MSRIndex[N]` are used to select which UMask to program, and
which MSR is written. Any of the `MSRIndex` entries is compatible with counters listed in counter fields.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
there are several `UMask` entries, then `UMask[N]` and `MSRIndex[N]` are used to select which UMask to program, and
which MSR is written. Any of the `MSRIndex` entries is compatible with counters listed in counter fields.
there are multiple `UMask` entries, then `UMask` and `MSRIndex` should be used paired in their specified order.
An event configured with the `N`th UMask, `UMask[N]` must write `MSRValue` to the MSR indicated at the `N`th MSRIndex, `MSRIndex[N]` .
Any of the `MSRIndex` entries is compatible with counters listed in counter fields.

@rpmclaug

Copy link
Copy Markdown
Contributor

@edwarddavidbaker Ideally this document could remain legible in text editors; If there's a means to clarify the text description, let's start there.

Can you provide an example of the sort of diagram you think would help?

One possibility to help differentiate these:

flowchart

    MUX(MSRIndex-UMask
    UMask: A,B
    MSRIndex: C,D
    Counter: 0,1) --> MUY{UMask: A
    MSRIndex: C
    Counter: 0,1}
    MUX --> MUZ{UMask: B
    MSRIndex: D
    Counter: 0,1}

    MUCX(MSRIndex-UMask-Counter
    UMask: A,B
    MSRIndex: C,D
    Counter: 0,1) --> MUCY{UMask: A
    MSRIndex: C
    Counter: 0}
    MUCX --> MUCZ{UMask: B
    MSRIndex: D
    Counter: 1}
Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants