This PR is for an initial review of PCID support. This is not ready to be pulled but will need to be integrated with the namespace implementation that is being developed right now.
This PR adds support for PCID, a kernel API for using PCID for an ASID implementation, as well as PMU programming support for Intel's hardware PMU.
Particularly, I'd like your opinion on:
the kernel ASID API and whether it makes sense
The updated context switch code (chal_pgtbl_update())
(less important) The PMU programming API and whether this is actually an addition we would want to add to the kernel API
Intent for your PR
Choose one (Mandatory):
[x] This PR is for a code-review and is intended to get feedback, but not to be pulled yet.
[ ] This PR is mature, and ready to be integrated into the repo.
Reviewers (Mandatory):
@gparmer
Code Quality
As part of this pull request, I've considered the following:
You do need to add logic into pgtbl_deactivate to remove the asid from the per-cpu table. We need to discuss this as we might be deactivating on a different core than that on which the component executed.
Summary of this Pull Request (PR)
This PR is for an initial review of PCID support. This is not ready to be pulled but will need to be integrated with the namespace implementation that is being developed right now.
This PR adds support for PCID, a kernel API for using PCID for an ASID implementation, as well as PMU programming support for Intel's hardware PMU.
Particularly, I'd like your opinion on:
chal_pgtbl_update()
)Intent for your PR
Choose one (Mandatory):
Reviewers (Mandatory):
@gparmer
Code Quality
As part of this pull request, I've considered the following:
Style:
Code Craftsmanship:
Testing
I've tested the code using the following test programs (provide list here):