From abca52a18ded0f0ab45b42192b6484e2185ccdf6 Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Fri, 5 Apr 2024 09:27:20 -0500 Subject: [PATCH 1/5] fix latexmath rendering --- qos_identifiers.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qos_identifiers.adoc b/qos_identifiers.adoc index 2073725..b529205 100644 --- a/qos_identifiers.adoc +++ b/qos_identifiers.adoc @@ -38,7 +38,7 @@ computed as: [latexmath#eq-1,reftext="equation ({counter:eqs})"] ++++ \begin{equation} -Effective-MCID = (RCID << P) | (MCID & ((1 << P) - 1)) +Effective-MCID = (RCID << P) | (MCID \& ((1 << P) - 1)) \end{equation} ++++ From e8eb02da90986c77f07240cdd5d93f88a7607a49 Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Fri, 5 Apr 2024 09:33:17 -0500 Subject: [PATCH 2/5] clarify that impdef method to associate IDs is when IOMMU is not present --- qos_identifiers.adoc | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/qos_identifiers.adoc b/qos_identifiers.adoc index b529205..8c56647 100644 --- a/qos_identifiers.adoc +++ b/qos_identifiers.adoc @@ -57,20 +57,26 @@ of `mstateen0` controls access to `srmcfg` from privilege modes less than M. ==== Device initiated requests -Devices may be configured with an `RCID` and `MCID` for requests originated -from the device if the device implementation supports such capability. The -method to configure the QoS identifiers into devices is `UNSPECIFIED`. - -Where the device does not natively support being configured with an `RCID` -and `MCID`, the implementation may provide a shim at the device interface that -may be configured with the `RCID` and `MCID` that are associated with requests -originating from the device. The method to configure such QoS identifiers into -a shim is `UNSPECIFIED`. - -If the system supports an IOMMU, then the IOMMU may be configured with the -`RCID` and `MCID` to associate requests from the device with QoS identifiers. -The RISC-V IOMMU cite:[IOMMU] extension to support configuring QoS identifiers -is specified in <>. +A RISC-V IOMMU cite:[IOMMU] extension to support configuring QoS identifiers is +specified in <>. If the system supports an IOMMU with this extension, +the IOMMU may be configured with the `RCID` and `MCID` to associate with requests +from devices and from the IOMMU itself. + +If the system does not support an IOMMU with this extension, then the +association of `RCID` and `MCID` with requests from devices becomes +implementation-defined. Such methods may include, but are not limited to, one of +the following: + +* Devices may be configured with an `RCID` and `MCID` for requests originating + from the device, provided the device implementation and the bus protocol used + by the device support such capabilities. The method to configure the QoS + identifiers into devices remains `UNSPECIFIED`. + +* Where the device does not natively support being configured with an `RCID` + and `MCID`, the implementation may provide a shim at the device interface. This + shim may be configured with the `RCID` and `MCID` to associate with requests + originating from the device. The method to configure such QoS identifiers into + a shim is `UNSPECIFIED`. === Access-type (`AT`) From 2f54bad377a7a59e1a25f76608bb798392f34e8e Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Fri, 5 Apr 2024 10:18:14 -0500 Subject: [PATCH 3/5] all rcid and mcid may be used simultaneously --- qos_identifiers.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qos_identifiers.adoc b/qos_identifiers.adoc index 8c56647..da3047a 100644 --- a/qos_identifiers.adoc +++ b/qos_identifiers.adoc @@ -18,7 +18,8 @@ configure counters identified by the `MCID` to count events in the resource controllers that control accesses to such shared resources. <> discusses guidelines for sizing the QoS IDs and the need for -differentiated IDs for monitoring. +differentiated IDs for monitoring. All supported `RCID` and `MCID` may be +actively used in the system at any instance. [[EMCID]] === Associating `RCID` and `MCID` with requests From 16e6bd44da12f522a61571fb47abd744e37fa2d0 Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Fri, 5 Apr 2024 10:23:33 -0500 Subject: [PATCH 4/5] bandwidth scales linearly with Rbwb --- qos_bandwidth.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qos_bandwidth.adoc b/qos_bandwidth.adoc index 06f15a2..46c60ee 100644 --- a/qos_bandwidth.adoc +++ b/qos_bandwidth.adoc @@ -408,7 +408,8 @@ the bandwidth usage over a few accounting intervals. The `Rbwb` represents the bandwidth that is made available to a `RCID` for requests matching `AT`, even when all other `RCID` are using their full -allocation of bandwidth. +allocation of bandwidth. The bandwidth allocation scales linearly with the +number of bandwidth blocks programmed into `Rbwb`. If there is non-reserved or unused bandwidth available in an accounting interval, `RCIDs` may compete for additional bandwidth. The non-reserved or From 33e32325bc3f7c7cf08791be11cbc816c4bd8be3 Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Thu, 11 Apr 2024 18:27:59 -0500 Subject: [PATCH 5/5] additional guidelines for enumeration --- qos_sw_guidelines.adoc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/qos_sw_guidelines.adoc b/qos_sw_guidelines.adoc index 125bb30..2849e1c 100644 --- a/qos_sw_guidelines.adoc +++ b/qos_sw_guidelines.adoc @@ -13,6 +13,13 @@ reported using these methods: * Placement and topology describing the hart and IO bridges that share the resources controlled by the controller * The number of QoS identifiers supported by the controller +* For memory bandwidth controllers, the controlled memory regions. These may be + described in the form of NUMA domains or proximity domains +* If a controller is part of a set of controllers that collectively control a + shared resource such as memory bandwidth of a memory region, then information + to identify all members of the set should be reported +* Constraints imposed by the controllers, such as the minimum number of capacity + or bandwidth blocks per RCID === Context Switching QoS Identifiers