forked from microsoft/hcsshim
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add 2 ways of specifying vNUMA for WCOW (for now): 1. Heuristics approach in which the caller specifies max memory and processors per vNUMA node and the platform takes care of presenting vNUMA that matches the criteria 2. Explicit vNUMA mappings, where the caller can pass the physical pNUMA node indices and the corresponding processor counts and memory size for each vNUMA. The following annotations have been added to enable heuristics based placement: - "io.microsoft.virtualmachine.computetopology.processor.numa.max-processors-per-node" - "io.microsoft.virtualmachine.computetopology.processor.numa.max-size-per-node" - "io.microsoft.virtualmachine.computetopology.numa.preferred-physical-nodes" The following annotatinos have been added to enable explicit placement: - "io.microsoft.virtualmachine.computetopology.numa.mapped-physical-nodes" - "io.microsoft.virtualmachine.computetopology.numa.count-of-processors" - "io.microsoft.virtualmachine.computetopology.numa.count-of-memory-blocks" Port vNUMA validation logic. Signed-off-by: Maksim An <maksiman@microsoft.com>
- Loading branch information
Showing
22 changed files
with
672 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// Autogenerated code; DO NOT EDIT. | ||
|
||
// Schema retrieved from branch 'main' and build '27598.1000.2404101356'. | ||
|
||
/* | ||
* Schema Open API | ||
* | ||
* No description provided (generated by Swagger Codegen https://github.com/swaggerapi/swaggercodegen) | ||
* | ||
* API version: 2.4 | ||
* Generated by: Swagger Codegen (https://github.com/swaggerapi/swaggercodegen.git) | ||
*/ | ||
|
||
package hcsschema | ||
|
||
type MemoryBackingPageSize string | ||
|
||
// List of MemoryBackingPageSize | ||
const ( | ||
MemoryBackingPageSize_SMALL MemoryBackingPageSize = "Small" | ||
MemoryBackingPageSize_LARGE MemoryBackingPageSize = "Large" | ||
MemoryBackingPageSize_HUGE MemoryBackingPageSize = "Huge" | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// Autogenerated code; DO NOT EDIT. | ||
|
||
// Schema retrieved from branch 'main' and build '27598.1000.2404101356'. | ||
|
||
/* | ||
* Schema Open API | ||
* | ||
* No description provided (generated by Swagger Codegen https://github.com/swaggerapi/swaggercodegen) | ||
* | ||
* API version: 2.4 | ||
* Generated by: Swagger Codegen (https://github.com/swaggerapi/swaggercodegen.git) | ||
*/ | ||
|
||
package hcsschema | ||
|
||
type MemoryBackingType string | ||
|
||
// List of MemoryBackingType | ||
const ( | ||
MemoryBackingType_PHYSICAL MemoryBackingType = "Physical" | ||
MemoryBackingType_VIRTUAL MemoryBackingType = "Virtual" | ||
MemoryBackingType_HYBRID MemoryBackingType = "Hybrid" | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
// Autogenerated code; DO NOT EDIT. | ||
|
||
// Schema retrieved from branch 'main' and build '27598.1000.240410-1356'. | ||
|
||
/* | ||
* Schema Open API | ||
* | ||
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) | ||
* | ||
* API version: 2.4 | ||
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||
*/ | ||
|
||
package hcsschema | ||
|
||
type Numa struct { | ||
VirtualNodeCount uint8 `json:"VirtualNodeCount,omitempty"` | ||
PreferredPhysicalNodes []int64 `json:"PreferredPhysicalNodes,omitempty"` | ||
Settings []NumaSetting `json:"Settings,omitempty"` | ||
MaxSizePerNode uint64 `json:"MaxSizePerNode,omitempty"` | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
// Autogenerated code; DO NOT EDIT. | ||
|
||
// Schema retrieved from branch 'main' and build '27598.1000.240410-1356'. | ||
|
||
/* | ||
* Schema Open API | ||
* | ||
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) | ||
* | ||
* API version: 2.4 | ||
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||
*/ | ||
|
||
package hcsschema | ||
|
||
type NumaNode struct { | ||
VirtualNodeIndex uint32 `json:"VirtualNodeIndex,omitempty"` | ||
PhysicalNodeIndex uint32 `json:"PhysicalNodeIndex,omitempty"` | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
// Autogenerated code; DO NOT EDIT. | ||
|
||
// Schema retrieved from branch 'main' and build '27598.1000.240410-1356'. | ||
|
||
/* | ||
* Schema Open API | ||
* | ||
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) | ||
* | ||
* API version: 2.4 | ||
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||
*/ | ||
|
||
package hcsschema | ||
|
||
type NumaNodeMemory struct { | ||
// Total physical memory on on this physical NUMA node that is consumable by the VMs. | ||
TotalConsumableMemoryInPages uint64 `json:"TotalConsumableMemoryInPages,omitempty"` | ||
// Currently available physical memory on this physical NUMA node for the VMs. | ||
AvailableMemoryInPages uint64 `json:"AvailableMemoryInPages,omitempty"` | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
// Autogenerated code; DO NOT EDIT. | ||
|
||
// Schema retrieved from branch 'main' and build '27598.1000.240410-1356'. | ||
|
||
/* | ||
* Schema Open API | ||
* | ||
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) | ||
* | ||
* API version: 2.4 | ||
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||
*/ | ||
|
||
package hcsschema | ||
|
||
type NumaNodeProcessor struct { | ||
TotalAssignedProcessors uint32 `json:"TotalAssignedProcessors,omitempty"` | ||
TotalAvailableProcessors uint32 `json:"TotalAvailableProcessors,omitempty"` | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// Autogenerated code; DO NOT EDIT. | ||
|
||
// Schema retrieved from branch 'main' and build '27598.1000.240410-1356'. | ||
|
||
/* | ||
* Schema Open API | ||
* | ||
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) | ||
* | ||
* API version: 2.4 | ||
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||
*/ | ||
|
||
package hcsschema | ||
|
||
type NumaProcessors struct { | ||
CountPerNode Range `json:"count_per_node,omitempty"` | ||
NodePerSocket uint32 `json:"node_per_socket,omitempty"` | ||
} | ||
|
||
type Range struct { | ||
Max uint32 `json:"max,omitempty"` | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
// Autogenerated code; DO NOT EDIT. | ||
|
||
// Schema retrieved from branch 'main' and build '27598.1000.240410-1356'. | ||
|
||
/* | ||
* Schema Open API | ||
* | ||
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) | ||
* | ||
* API version: 2.4 | ||
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||
*/ | ||
|
||
package hcsschema | ||
|
||
const ( | ||
WildcardPhysicalNodeNumber = 0xFF | ||
NumaTopologyNodeCountMax = 64 | ||
NumaChildNodeCountMax = 64 | ||
) | ||
|
||
type NumaSetting struct { | ||
VirtualNodeNumber uint32 `json:"VirtualNodeNumber,omitempty"` | ||
PhysicalNodeNumber uint32 `json:"PhysicalNodeNumber,omitempty"` | ||
VirtualSocketNumber uint32 `json:"VirtualSocketNumber,omitempty"` | ||
CountOfProcessors uint32 `json:"CountOfProcessors,omitempty"` | ||
CountOfMemoryBlocks uint64 `json:"CountOfMemoryBlocks,omitempty"` | ||
MemoryBackingType MemoryBackingType `json:"MemoryBackingType,omitempty"` | ||
AccessTracingGranularity PageGranularity `json:"AccessTracingGranularity,omitempty"` | ||
} |
Oops, something went wrong.