chromeos-config: Add scheduer tuning configuration.

Add /scheduler-tune/boost-urgent to schema. This integer value is
passed to chrome's 'scheduler-boost' switch to override the default
scheduler attributes of chrome's urgent tasks.

This value is heavily depends on the power management configuration
of each platform, thus this value should be specified only when
perf/power test measurements are getting better with modified value.

BUG=chromium:1041117
TEST=cros_config_host/cros_config_schema_unittest.py

Change-Id: I8736945cad2ec12d86e27a811f2d6bf624d72e8f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2514244
Commit-Queue: Ikjoon Jang <ikjn@chromium.org>
Tested-by: Ikjoon Jang <ikjn@chromium.org>
Reviewed-by: Joel Fernandes <joelaf@google.com>
Reviewed-by: Andrew Lamb <andrewlamb@chromium.org>
diff --git a/chromeos-config/README.md b/chromeos-config/README.md
index 36fb3e1..ee1dd71 100644
--- a/chromeos-config/README.md
+++ b/chromeos-config/README.md
@@ -342,6 +342,7 @@
 | power | [power](#power) |  | False |  | False | Defines settings that control power management functions. This mostly defines power_manager preferences, but there are a few other power related settings included. For details about each power_manager preference, see - src/platform2/power_manager/common/power_constants.h/cc For examples on setting these properties (including multiline examples), see the power config example in libcros_config/test.yaml |
 | proximity-sensor | [proximity-sensor](#proximity_sensor) |  | False |  | False | Defines the proximity sensor settings for devices such as /dev/proximity-wifi and /dev/proximity-wifi-lte typically used for SAR. |
 | regulatory-label | string |  | False |  | False | Base name of the directory containing the regulatory label files to show on this device. |
+| scheduler-tune | [scheduler-tune](#scheduler_tune) |  | False |  | False | ChromeOS scheduler's tunable values. |
 | test-label | string |  | False |  | False | Test alias (model) label that will be applied in Autotest and reported for test results. |
 | thermal | [thermal](#thermal) |  | False |  | False |  |
 | touch | [touch](#touch) |  | False |  | False |  |
@@ -715,6 +716,11 @@
 | thresh-rising-hysteresis | string | ```^[0-9.]+$``` | False |  | False | Proximity sensor rising hysteresis. |
 | thresh-rising-period | string | ```^[0-9.]+$``` | False |  | False | Proximity sensor rising threshold period (debounce). |
 
+### scheduler-tune
+| Attribute | Type   | RegEx     | Required | Oneof Group | Build-only | Description |
+| --------- | ------ | --------- | -------- | ----------- | ---------- | ----------- |
+| boost-urgent | integer |  | False |  | False | (Optional) Scheduler's boost value(%) for urgent tasks. When an urgent thread is created, chrome applies this value to scheduler attribute. Tasks with higher boost value are more likely to have higher operating power point even when the system is low utilized. Minimum value: 0x0. Maximum value: 0x64. |
+
 ### thermal
 | Attribute | Type   | RegEx     | Required | Oneof Group | Build-only | Description |
 | --------- | ------ | --------- | -------- | ----------- | ---------- | ----------- |
diff --git a/chromeos-config/cros_config_host/cros_config_schema.yaml b/chromeos-config/cros_config_host/cros_config_schema.yaml
index 8e820d9..f978cb0 100644
--- a/chromeos-config/cros_config_host/cros_config_schema.yaml
+++ b/chromeos-config/cros_config_host/cros_config_schema.yaml
@@ -922,6 +922,20 @@
                       type: boolean
                   additionalProperties: false
               additionalProperties: false
+            scheduler-tune:
+              type: object
+              description: ChromeOS scheduler's tunable values.
+              properties:
+                boost-urgent:
+                  type: integer
+                  description: (Optional) Scheduler's boost value(%) for urgent
+                    tasks. When an urgent thread is created, chrome applies
+                    this value to scheduler attribute. Tasks with higher
+                    boost value are more likely to have higher operating
+                    power point even when the system is low utilized.
+                  minimum: 0
+                  maximum: 100
+              additionalProperties: false
           additionalProperties: false
           required:
           - name