intel / intel-cmt-cat

User space software for Intel(R) Resource Director Technology
http://www.intel.com/content/www/us/en/architecture-and-technology/resource-director-technology.html
Other
693 stars 183 forks source link

MBA fixes - AMD #193

Closed babumoger closed 3 years ago

babumoger commented 3 years ago

Couple of fixes.

  1. MBA feature was broken for AMD
  2. Changed printing messages from SOCKET to Core Complex for AMD

Description

The MBA feature was not working when trying to set the MBA limits on AMD. ....

pqos -I OS -e mba:1=0xf

NOTE: Mixed use of MSR and kernel interfaces to manage CAT or CMT & MBM may lead to unexpected behavior. ERROR: Expected MBA controller but not requested! SOCKET 0 MBA COS1 - FAILED! Allocation configuration error!


The code was using the hard coded value to detect the feature. Changed it to use the vendor specific mba_max values while detecting the feature.

Also fixed printing  messages on AMD.
Before the change.
SOCKET 0 MBA COS1 => 256% requested, 256% applied
SOCKET 1 MBA COS1 => 256% requested, 256% applied
SOCKET 2 MBA COS1 => 256% requested, 256% applied
SOCKET 3 MBA COS1 => 256% requested, 256% applied

After the change.

Core Complex 0 MBA COS1 => 256 requested, 256 applied
Core Complex 1 MBA COS1 => 256 requested, 256 applied
Core Complex 2 MBA COS1 => 256 requested, 256 applied
Core Complex 3 MBA COS1 => 256 requested, 256 applied

## Affected parts
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] library
- [x] pqos utility
- [ ] rdtset utility
- [ ] other: (please specify)

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->

Without this fix MBA feature wont work on AMD.

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, tests ran to see how -->
<!--- your change affects other areas of the code, etc. -->
Tested on AMD system.

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
babumoger commented 3 years ago

Addressed all the comments. Let me know if I missed something. Thanks

babumoger commented 3 years ago

Sent new pull request https://github.com/intel/intel-cmt-cat/pull/196 to address all the comments. I will close this pull request.