mlsorensen opened a new pull request, #8850:
URL: https://github.com/apache/cloudstack/pull/8850
### Description
This PR adds a second config option for VM CPU topology and implements it
for KVM. This can be useful when there is out of band pinning at the hypervisor
host and the admin wants to ensure the guest view of L1/2/3 cache among cores
matches the physical host.
Eventually it may be nice extend this to the front end and make it
available via service offerings, for now it is only available as VM detail.
Added and updated several unit tests, I found it difficult to implement the
threads setting with the existing implementation of `cpu.corespersocket`. Also
maintains the default topology grouping of 4 or 6 cores per socket when none is
provided. It will ignore custom topology if the result doesn't make sense
(e.g. service offering's core count doesn't divide evenly into the
`cpu.corespersocket` and `cpu.threadspercore` settings, similar to the
implementation before that would ignore if `cpu.corespersocket` didn't divide
evenly into the total cores.
<!---
*******************************************************************************
-->
<!--- NOTE: AUTOMATION USES THE DESCRIPTIONS TO SET LABELS AND PRODUCE
DOCUMENTATION. -->
<!--- PLEASE PUT AN 'X' in only **ONE** box -->
<!---
*******************************************************************************
-->
### Types of changes
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] Enhancement (improves an existing feature and functionality)
- [ ] Cleanup (Code refactoring and cleanup, that may add test cases)
- [ ] build/CI
### Feature/Enhancement Scale or Bug Severity
#### Feature/Enhancement Scale
- [ ] Major
- [x] Minor
#### Bug Severity
- [ ] BLOCKER
- [ ] Critical
- [ ] Major
- [ ] Minor
- [x] Trivial
### Screenshots (if appropriate):
### How Has This Been Tested?
Tested locally with combinations of corespersocket and threadspercore. Also
provided fair amount of unit test coverage in PR.
#### How did you try to break this feature and the system with this change?
Unit tests cover combinations that don't make sense and/or details omitted.
<!-- Please read the
[CONTRIBUTING](https://github.com/apache/cloudstack/blob/main/CONTRIBUTING.md)
document -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]