1// Copyright 2023 The ChromiumOS Authors 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5syntax = "proto3"; 6 7package chromiumos.config.api; 8 9import "google/protobuf/wrappers.proto"; 10 11option go_package = "go.chromium.org/chromiumos/config/go/api"; 12 13// Defines configuration settings for schedqos of resourced. 14// 15// NEXT ID: 2 16message SchedqosConfig { 17 enum CpusetCgroup { 18 CPUSET_CGROUP_DEFAULT = 0; 19 // The task runs on all cores 20 CPUSET_CGROUP_ALL = 1; 21 // The task runs on efficient cores only 22 CPUSET_CGROUP_EFFICIENT = 2; 23 } 24 25 message ThreadConfig { 26 // The priority on RT mode. 27 // Negative value to disable RT. 28 google.protobuf.Int32Value rt_priority = 1; 29 30 // nice value 31 // 32 // Valid values: -20 ~ 19 33 google.protobuf.Int32Value nice = 2; 34 35 // The UCLAMP_MIN value. 36 // 37 // Valid values: 0 ~ 1024 38 google.protobuf.UInt32Value uclamp_min = 3; 39 40 // The cpuset cgroup to use. 41 CpusetCgroup cpuset_cgroup = 4; 42 43 // Whether the task is latency sensitive or not. 44 // 45 // This value is set to `/proc/pid/task/tid/latency_sensitive` 46 google.protobuf.BoolValue latency_sensitive = 5; 47 } 48 49 message ConfigSet { 50 // The cpu share of normal cpu cgroup. 51 uint32 normal_cpu_share = 1; 52 53 // The cpu share of background cpu cgroup. 54 uint32 background_cpu_share = 2; 55 56 // The thread config for URGENT_BURSTY state. 57 ThreadConfig thread_urgent_bursty = 3; 58 59 // The thread config for URGENT state. 60 ThreadConfig thread_urgent = 4; 61 62 // The thread config for BALANCED state. 63 ThreadConfig thread_balanced = 5; 64 65 // The thread config for ECO state. 66 ThreadConfig thread_eco = 6; 67 68 // The thread config for UTILITY state. 69 ThreadConfig thread_utility = 7; 70 71 // The thread config for BACKGROUND state. 72 ThreadConfig thread_background = 8; 73 74 // The thread config for URGENT_BURSTY_SERVER state. 75 ThreadConfig thread_urgent_bursty_server = 9; 76 77 // The thread config for URGENT_BURSTY_CLIENT state. 78 ThreadConfig thread_urgent_bursty_client = 10; 79 } 80 81 // The default config set. 82 ConfigSet default = 1; 83} 84