Skip to content

Commit 0838a2c

Browse files
authored
docs: Replace uRM with URM to maintain consistency (#177)
Signed-off-by: Jagadeesh Pagadala <jpagadal@qti.qualcomm.com>
1 parent 566bdcc commit 0838a2c

1 file changed

Lines changed: 19 additions & 19 deletions

File tree

docs/README.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66
- [1. Overview](#1-overview)
7-
- [1.1. Why uRM is Needed](#11-why-urm-is-needed)
7+
- [1.1. Why URM is Needed](#11-why-urm-is-needed)
88
- [1.2. Powerful System-Level Control](#12-powerful-system-level-control)
99
- [1.3. Dynamic Resource Provisioning via Signals](#13-dynamic-resource-provisioning-via-signals)
1010
- [1.4. Extension Framework](#14-extension-framework)
@@ -15,9 +15,9 @@
1515
- [3.1. Resources](#31-resources)
1616
- [3.2. Signals](#32-signals)
1717

18-
- [4. uRM Interface](#4-urm-interface)
18+
- [4. URM Interface](#4-urm-interface)
1919
- [4.1. Platform Abstraction Layer](#41-platform-abstraction-layer)
20-
- [4.2. uRM APIs](#42-urm-apis)
20+
- [4.2. URM APIs](#42-urm-apis)
2121
- [4.2.1. tuneResources](#421-tuneresources)
2222
- [4.2.1.1. SysResource](#4211-sysresource)
2323
- [4.2.1.2. Resource ResCode Construction](#4212-resource-rescode-construction)
@@ -83,9 +83,9 @@
8383
- [9. License](#9-license)
8484

8585
# 1. Overview
86-
The Userspace Resource Manager (uRM) is a lightweight, extensible framework designed to intelligently manage and provision system resources from userspace. It brings together two key components that enable dynamic, context‑aware optimization of performance and power across diverse embedded and resource‑constrained environments:
86+
The Userspace Resource Manager (URM) is a lightweight, extensible framework designed to intelligently manage and provision system resources from userspace. It brings together two key components that enable dynamic, context‑aware optimization of performance and power across diverse embedded and resource‑constrained environments:
8787
- Contextual Classifier
88-
A FastText‑based classifier that identifies static workload contexts—such as camera pipelines, multimedia sessions, installations, or background services. By understanding what the system is running, uRM can apply the right resource strategy without manual intervention.
88+
A FastText‑based classifier that identifies static workload contexts—such as camera pipelines, multimedia sessions, installations, or background services. By understanding what the system is running, URM can apply the right resource strategy without manual intervention.
8989
- Resource Tuner
9090
A userspace engine that dynamically provisions system resources—CPU, memory, GPU, I/O, caches, and more—using standard kernel interfaces such as procfs, sysfs, and cgroups. This enables fine‑grained control of system operating points to balance performance and power for each application or use case.
9191
```
@@ -112,24 +112,24 @@ A userspace engine that dynamically provisions system resources—CPU, memory, G
112112
| Action |
113113
+--------------+
114114
```
115-
### 1.1. Why uRM is Needed
115+
### 1.1. Why URM is Needed
116116
Modern workloads vary drastically across segments like servers, compute, XR, mobile, and IoT. Each use case exhibits unique characteristics. Some may demand high CPU frequency, others may require sustained GPU throughput, and many hinge on efficient caching or more memory bandwidth.
117117

118118
At the same time, these workloads run on a broad spectrum of hardware platforms with different capabilities, power envelopes, and user expectations. A "one‑size‑fits‑all" tuning approach fails in such environments.
119119

120-
uRM addresses this challenge by offering:
120+
URM addresses this challenge by offering:
121121
- Per‑use‑case adaptability
122122
- Hardware‑aware tuning
123123
- User‑experience‑driven power/perf balancing
124124

125125
This allows systems to achieve consistent performance while minimizing energy consumption.
126126

127127
### 1.2. Powerful System‑Level Control
128-
Fine‑tuning system resources is a powerful tool for any developer or OEM building high‑performance embedded systems. With uRM, developers can directly influence operating points to match workload demands.
128+
Fine‑tuning system resources is a powerful tool for any developer or OEM building high‑performance embedded systems. With URM, developers can directly influence operating points to match workload demands.
129129
For example: to boost performance, increase the CPU DCVS minimum frequency to 1 GHz to improve responsiveness during compute‑intensive scenarios. To save power, cap the maximum CPU frequency at 1.5 GHz when the workload is light, preventing unnecessary turbo boosts and improving battery life. Such targeted interventions can significantly enhance user experience while optimizing for energy efficiency.
130130

131131
### 1.3. Dynamic Resource Provisioning via Signals
132-
uRM introduces Signals, a mechanism that adjusts system resources in real time based on events such as:
132+
URM introduces Signals, a mechanism that adjusts system resources in real time based on events such as:
133133

134134
- App launches
135135
- App installations
@@ -138,7 +138,7 @@ uRM introduces Signals, a mechanism that adjusts system resources in real time b
138138
These behaviors are governed by flexible, human‑readable YAML configurations, making policies easy to author, review, and evolve.
139139

140140
### 1.4. Extension Framework
141-
uRM also provides extension APIs that allow other modules or applications to:
141+
URM also provides extension APIs that allow other modules or applications to:
142142

143143
- Register custom resources
144144
- Define custom provisioning logic
@@ -216,10 +216,10 @@ The following signal codes are supported signals. Target or segment specific cus
216216

217217
The above mentioned list of enums are available in the interface file "UrmPlatformAL.h".
218218

219-
# 4. uRM Interface
219+
# 4. URM Interface
220220

221221
- Platform Abstraction Layer
222-
- uRM APIs
222+
- URM APIs
223223
- Configs
224224

225225
## 4.1. Platform Abstraction Layer
@@ -279,7 +279,7 @@ Logical IDs for MPAM groups. Configs of MPAM group map in InitConfigs->MpamGroup
279279

280280
Custom resource types and signal categories must be >=128 to avoid conflicts with default types.
281281

282-
## 4.2. uRM APIs
282+
## 4.2. URM APIs
283283
This API suite allows you to manage system resource provisioning through tuning requests. You can issue, modify, or withdraw resource tuning requests with specified durations and priorities.
284284

285285
APIs examples:
@@ -680,7 +680,7 @@ int8_t relaySignal(uint32_t sigId,
680680
### 4.2.7. getProp
681681

682682
**Description:**
683-
Gets a property from the config file, this is used as property config file used for enabling or disabling internal features in uRM, can also be used by modules or clients to enable/disable features in their software based on property configs in uRM.
683+
Gets a property from the config file, this is used as property config file used for enabling or disabling internal features in URM, can also be used by modules or clients to enable/disable features in their software based on property configs in URM.
684684

685685
**API Signature:**
686686
```cpp
@@ -1051,7 +1051,7 @@ URM_REGISTER_CONFIG(SIGNALS_CONFIG, "/etc/bin/targetSignalConfigCustom.yaml");
10511051

10521052

10531053
## 6.2. Custom Configs
1054-
uRM allows to add custom configs and override configs items. It also provides additional configs.
1054+
URM allows to add custom configs and override configs items. It also provides additional configs.
10551055

10561056
### 6.2.1. Initialization Configs
10571057
Custom init configs can be added to init config yaml. New init sections can be defined. For example "ClusterMap" can be redefined if your target has 4 clusters. Also you can define new section like MPAMgroupsInfo, see the example below.
@@ -1192,7 +1192,7 @@ Signal config yaml file can be given in one of the below ways
11921192

11931193
### 6.2.5. Target Configs
11941194
The file TargetConfig.yaml defines the target configs, note this is an optional config, i.e. this
1195-
file need not necessarily be provided. uRM can dynamically fetch system info, like target name,
1195+
file need not necessarily be provided. URM can dynamically fetch system info, like target name,
11961196
logical to physical core / cluster mapping, number of cores etc. Use this file, if you want to
11971197
provide this information explicitly. If the TargetConfig.yaml is provided, URM will always
11981198
overide default dynamically generated target information with given config and use it. Also note, there are no field-level default values available if the TargetConfig.yaml is provided. Hence if you wish to provide this file, then you'll need to provide all the complete required information.
@@ -1285,11 +1285,11 @@ FeatureConfigs:
12851285

12861286
## 7.2. Userspace Resource Manager Key Points
12871287

1288-
Userspace resource manager (uRM) contains
1289-
- Userspace resource manager (uRM) exposes a variery of APIs for resource tuning and use-case/scenario tuning
1288+
Userspace resource manager (URM) contains
1289+
- Userspace resource manager (URM) exposes a variery of APIs for resource tuning and use-case/scenario tuning
12901290
- These APIs can be used by apps, features and other modules
12911291
- Using these APIs, client can tune any system resource parameters like cpu, dcvs, min / max frequencies etc.
1292-
- Userspace resource manager (uRM) provides
1292+
- Userspace resource manager (URM) provides
12931293

12941294
### 7.2.1. Contextual Classifier
12951295

0 commit comments

Comments
 (0)