Some but not all memcg v1 attributes exist in the v2 hierarchy. The following information comes from Shakeel Butt and Kamil Yurtsever, "cgroup v2 migration at Google", Linux Plumbers Conference 2018 ( https://lpc.events/event/2/contributions/204/attachments/143/378/LPC2018-cgroup-v2.pdf ): v1 v2 -------------------------- ---------- memory.limit_in_bytes memory.max memory.soft_limit_in_bytes memory.low Add support for cgroup attributes that have different names in the v1 and v2 hierarchies. Also add those memcg attributes that are used in lmkd. Bug: 213617178 Test: Tested lmkd with v1 and v2 memcg. Change-Id: Ia5c5f02974f3b783d5cdaad85b33169ced8db55f Signed-off-by: Bart Van Assche <bvanassche@google.com>
53 lines
1.6 KiB
Protocol Buffer
53 lines
1.6 KiB
Protocol Buffer
/*
|
|
* Copyright (C) 2019 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
syntax = "proto3";
|
|
|
|
package android.profiles;
|
|
|
|
// Next: 4
|
|
message TaskProfiles {
|
|
repeated Attribute attributes = 1 [json_name = "Attributes"];
|
|
repeated Profile profiles = 2 [json_name = "Profiles"];
|
|
repeated AggregateProfiles aggregateprofiles = 3 [json_name = "AggregateProfiles"];
|
|
}
|
|
|
|
// Next: 6
|
|
message Attribute {
|
|
string name = 1 [json_name = "Name"];
|
|
string controller = 2 [json_name = "Controller"];
|
|
string file = 3 [json_name = "File"];
|
|
string filev2 = 4 [json_name = "FileV2"];
|
|
string optional = 5 [json_name = "Optional"];
|
|
}
|
|
|
|
// Next: 3
|
|
message Profile {
|
|
string name = 1 [json_name = "Name"];
|
|
repeated Action actions = 2 [json_name = "Actions"];
|
|
}
|
|
|
|
// Next: 3
|
|
message Action {
|
|
string name = 1 [json_name = "Name"];
|
|
map<string, string> params = 2 [json_name = "Params"];
|
|
}
|
|
|
|
// Next: 3
|
|
message AggregateProfiles {
|
|
string name = 1 [json_name = "Name"];
|
|
repeated string profiles = 2 [json_name = "Profiles"];
|
|
}
|