• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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