f8901767e6
This flag prevents memcg from being mounted as a v1 hierarchy, even if cgroups.json specifies it should be mounted as v1. It will activate memcg in the v2 hierarchy even if cgroups.json does not specify that it should be activated in the v2 hierarchy. The cgroup_disable=memory kernel command line argument will still prevent memcg from being activated, as this forced memcg controller is marked as optional. Bug: 327480673 Change-Id: Iad2491dd0c1576156ee2346928d041d85af890f0
116 lines
2.5 KiB
Text
116 lines
2.5 KiB
Text
package {
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
soong_config_module_type {
|
|
name: "libprocessgroup_flag_aware_cc_defaults",
|
|
module_type: "cc_defaults",
|
|
config_namespace: "ANDROID",
|
|
bool_variables: [
|
|
"memcg_v2_force_enabled",
|
|
],
|
|
properties: [
|
|
"cflags",
|
|
],
|
|
}
|
|
|
|
libprocessgroup_flag_aware_cc_defaults {
|
|
name: "libprocessgroup_build_flags_cc",
|
|
cpp_std: "gnu++20",
|
|
soong_config_variables: {
|
|
memcg_v2_force_enabled: {
|
|
cflags: [
|
|
"-DMEMCG_V2_FORCE_ENABLED=true",
|
|
],
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_library_headers {
|
|
name: "libprocessgroup_headers",
|
|
vendor_available: true,
|
|
product_available: true,
|
|
ramdisk_available: true,
|
|
vendor_ramdisk_available: true,
|
|
recovery_available: true,
|
|
host_supported: true,
|
|
native_bridge_supported: true,
|
|
export_include_dirs: ["include"],
|
|
target: {
|
|
linux_bionic: {
|
|
enabled: true,
|
|
},
|
|
windows: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
min_sdk_version: "29",
|
|
}
|
|
|
|
cc_library {
|
|
srcs: [
|
|
"cgroup_map.cpp",
|
|
"processgroup.cpp",
|
|
"sched_policy.cpp",
|
|
"task_profiles.cpp",
|
|
],
|
|
name: "libprocessgroup",
|
|
host_supported: true,
|
|
native_bridge_supported: true,
|
|
ramdisk_available: true,
|
|
vendor_ramdisk_available: true,
|
|
recovery_available: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
vndk: {
|
|
enabled: true,
|
|
support_system_process: true,
|
|
},
|
|
shared_libs: [
|
|
"libbase",
|
|
"libcgrouprc",
|
|
],
|
|
static_libs: [
|
|
"libjsoncpp",
|
|
],
|
|
// for cutils/android_filesystem_config.h
|
|
header_libs: [
|
|
"libcutils_headers",
|
|
"libprocessgroup_headers",
|
|
],
|
|
export_include_dirs: ["include"],
|
|
export_header_lib_headers: [
|
|
"libprocessgroup_headers",
|
|
],
|
|
defaults: ["libprocessgroup_build_flags_cc"],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
min_sdk_version: "29",
|
|
}
|
|
|
|
cc_test {
|
|
name: "task_profiles_test",
|
|
host_supported: true,
|
|
defaults: ["libprocessgroup_build_flags_cc"],
|
|
srcs: [
|
|
"task_profiles_test.cpp",
|
|
],
|
|
header_libs: [
|
|
"libcutils_headers",
|
|
"libprocessgroup_headers",
|
|
],
|
|
shared_libs: [
|
|
"libbase",
|
|
"libcgrouprc",
|
|
"libprocessgroup",
|
|
],
|
|
static_libs: [
|
|
"libgmock",
|
|
],
|
|
}
|