Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions config-linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -748,6 +748,7 @@ The following parameters can be specified for the container:
* **`memBwSchema`** *(string, OPTIONAL)* - specifies the schema of memory bandwidth per L3 cache id.
The value MUST start with `MB:` and MUST NOT contain newlines.
* **`schemata`** *(array of strings, OPTIONAL)* - specifies the schemata to be written to the `schemata` file in resctrlfs. Each element represents one line in the `schemata` file. The value MUST NOT contain newlines.
* **`enableMonitoring`** *(boolean, OPTIONAL)* - enables resctrl monitoring for the container.

The following rules on parameters MUST be applied:

Expand All @@ -769,13 +770,20 @@ The following rules on parameters MUST be applied:

* If `closID` is set, and none of `l3CacheSchema`, `memBwSchema` or `schemata` are set, runtime MUST check if corresponding pre-configured directory `closID` is present in mounted `resctrl`. If such pre-configured directory `closID` exists, runtime MUST assign container to this `closID` and [generate an error](runtime.md#errors) if directory does not exist.

* **`enableCMT`** *(boolean, OPTIONAL)* - specifies if Intel RDT CMT should be enabled:
* CMT (Cache Monitoring Technology) supports monitoring of the last-level cache (LLC) occupancy
for the container.

* **`enableMBM`** *(boolean, OPTIONAL)* - specifies if Intel RDT MBM should be enabled:
* MBM (Memory Bandwidth Monitoring) supports monitoring of total and local memory bandwidth
Copy link
Member

@AkihiroSuda AkihiroSuda Jun 5, 2025

Choose a reason for hiding this comment

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

The history of this technically-breaking change should be documented as a note?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍 thanks @AkihiroSuda, I think that makes sense (I was thinking something along the lines I described in the commit message(s)). Any suggestion where to put that note?

Copy link
Member

Choose a reason for hiding this comment

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

+1

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Any thoughts @AkihiroSuda? Or would it be better to split the removal of this fields into a separate PR(?)

Copy link
Member

Choose a reason for hiding this comment

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

Commit messages are practically invisible to readers, so it should be just written in the markdown file

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Got it. I now added a NOTE to config-linux.md (in the IntelRdt section).

@AkihiroSuda PTAL

for the container.
* If `enableMonitoring` is set, the runtime MUST create a dedicated MON group
for the container. The runtime MUST use the container ID from
[`start`](runtime.md#start) as the name of the MON group, i.e. create
`mon_groups/<container-id>/` subdirectory under the top-level CTRL_MON group
(named after `closID` or `<container-id>`, see above). The runtime MUST
delete the MON group after the container is deleted. If creation of the MON
group fails (e.g. the maximum number of MON groups is reached) the runtime MUST
return an error.

> **NOTE:** The `enableCMT` and `enableMBM` parameters, available in runtime-spec versions v1.1.0 through v1.2.1, were
> replaced with a unified `enableMonitoring` parameter in v1.3.0. Their semantics were loosely defined and there were
> no known implementations. More critically, these parameters were problematic as hardware does not support selective
> enabling of individual monitoring features. This scheme also made it unnecessarily complex to add support for new
> monitoring features, without providing any recognized benefits.

### Example

Expand Down
5 changes: 1 addition & 4 deletions schema/config-linux.json
Original file line number Diff line number Diff line change
Expand Up @@ -278,10 +278,7 @@
"type": "string",
"pattern": "^MB:[^\\n]*$"
},
"enableCMT": {
"type": "boolean"
},
"enableMBM": {
"enableMonitoring": {
"type": "boolean"
}
}
Expand Down
10 changes: 3 additions & 7 deletions specs-go/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -855,13 +855,9 @@ type LinuxIntelRdt struct {
// NOTE: Should not be specified if Schemata is non-empty.
MemBwSchema string `json:"memBwSchema,omitempty"`

// EnableCMT is the flag to indicate if the Intel RDT CMT is enabled. CMT (Cache Monitoring Technology) supports monitoring of
// the last-level cache (LLC) occupancy for the container.
EnableCMT bool `json:"enableCMT,omitempty"`

// EnableMBM is the flag to indicate if the Intel RDT MBM is enabled. MBM (Memory Bandwidth Monitoring) supports monitoring of
// total and local memory bandwidth for the container.
EnableMBM bool `json:"enableMBM,omitempty"`
// EnableMonitoring enables resctrl monitoring for the container. This will
// create a dedicated resctrl monitoring group for the container.
EnableMonitoring bool `json:"enableMonitoring,omitempty"`
}

// ZOS contains platform-specific configuration for z/OS based containers.
Expand Down
Loading