diff options
author | android-build-team Robot | 2018-05-17 02:22:36 -0500 |
---|---|---|
committer | android-build-team Robot | 2018-05-17 02:22:36 -0500 |
commit | f7cb192aed26cab55ce2fa7b4c4a0ae953c70793 (patch) | |
tree | f2b3b194b27f18a7d8438029b09b79e12b145cd3 | |
parent | 7c365bcc92616b3b672d47205c10ef9b33c7f0fd (diff) | |
parent | 7905b1e16286653679b7ff9b595f3ed7de5e182f (diff) | |
download | platform-system-core-f7cb192aed26cab55ce2fa7b4c4a0ae953c70793.tar.gz platform-system-core-f7cb192aed26cab55ce2fa7b4c4a0ae953c70793.tar.xz platform-system-core-f7cb192aed26cab55ce2fa7b4c4a0ae953c70793.zip |
Snap for 4787078 from 7905b1e16286653679b7ff9b595f3ed7de5e182f to pi-release
Change-Id: Id0a5125ffd734a0b158ab867f8ffd9c0e0ae930a
-rw-r--r-- | lmkd/lmkd.c | 16 | ||||
-rw-r--r-- | rootdir/Android.mk | 70 |
2 files changed, 54 insertions, 32 deletions
diff --git a/lmkd/lmkd.c b/lmkd/lmkd.c index 20937cd77..76344b98a 100644 --- a/lmkd/lmkd.c +++ b/lmkd/lmkd.c | |||
@@ -1026,9 +1026,7 @@ static int find_and_kill_processes(enum vmpressure_level level, | |||
1026 | int pages_freed = 0; | 1026 | int pages_freed = 0; |
1027 | 1027 | ||
1028 | #ifdef LMKD_LOG_STATS | 1028 | #ifdef LMKD_LOG_STATS |
1029 | if (enable_stats_log) { | 1029 | bool lmk_state_change_start = false; |
1030 | stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_START); | ||
1031 | } | ||
1032 | #endif | 1030 | #endif |
1033 | 1031 | ||
1034 | for (i = OOM_SCORE_ADJ_MAX; i >= min_score_adj; i--) { | 1032 | for (i = OOM_SCORE_ADJ_MAX; i >= min_score_adj; i--) { |
@@ -1043,11 +1041,19 @@ static int find_and_kill_processes(enum vmpressure_level level, | |||
1043 | 1041 | ||
1044 | killed_size = kill_one_process(procp, min_score_adj, level); | 1042 | killed_size = kill_one_process(procp, min_score_adj, level); |
1045 | if (killed_size >= 0) { | 1043 | if (killed_size >= 0) { |
1044 | #ifdef LMKD_LOG_STATS | ||
1045 | if (enable_stats_log && !lmk_state_change_start) { | ||
1046 | lmk_state_change_start = true; | ||
1047 | stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, | ||
1048 | LMK_STATE_CHANGE_START); | ||
1049 | } | ||
1050 | #endif | ||
1051 | |||
1046 | pages_freed += killed_size; | 1052 | pages_freed += killed_size; |
1047 | if (pages_freed >= pages_to_free) { | 1053 | if (pages_freed >= pages_to_free) { |
1048 | 1054 | ||
1049 | #ifdef LMKD_LOG_STATS | 1055 | #ifdef LMKD_LOG_STATS |
1050 | if (enable_stats_log) { | 1056 | if (enable_stats_log && lmk_state_change_start) { |
1051 | stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, | 1057 | stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, |
1052 | LMK_STATE_CHANGE_STOP); | 1058 | LMK_STATE_CHANGE_STOP); |
1053 | } | 1059 | } |
@@ -1059,7 +1065,7 @@ static int find_and_kill_processes(enum vmpressure_level level, | |||
1059 | } | 1065 | } |
1060 | 1066 | ||
1061 | #ifdef LMKD_LOG_STATS | 1067 | #ifdef LMKD_LOG_STATS |
1062 | if (enable_stats_log) { | 1068 | if (enable_stats_log && lmk_state_change_start) { |
1063 | stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP); | 1069 | stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP); |
1064 | } | 1070 | } |
1065 | #endif | 1071 | #endif |
diff --git a/rootdir/Android.mk b/rootdir/Android.mk index f488ed5a4..3c9e5f3c5 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk | |||
@@ -147,13 +147,10 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/init.environ.rc.in $(bcp_dep) | |||
147 | bcp_md5 := | 147 | bcp_md5 := |
148 | bcp_dep := | 148 | bcp_dep := |
149 | 149 | ||
150 | # If BOARD_VNDK_VERSION is defined, append PLATFORM_VNDK_VERSION to base name. | 150 | # Append PLATFORM_VNDK_VERSION to base name. |
151 | define append_vndk_version | 151 | define append_vndk_version |
152 | $(strip \ | 152 | $(strip \ |
153 | $(if $(BOARD_VNDK_VERSION), \ | 153 | $(basename $(1)).$(PLATFORM_VNDK_VERSION)$(suffix $(1)) \ |
154 | $(basename $(1)).$(PLATFORM_VNDK_VERSION)$(suffix $(1)), \ | ||
155 | $(1) \ | ||
156 | ) \ | ||
157 | ) | 154 | ) |
158 | endef | 155 | endef |
159 | 156 | ||
@@ -215,31 +212,46 @@ sanitizer_runtime_libraries := | |||
215 | vndk_version_suffix := | 212 | vndk_version_suffix := |
216 | endef # update_and_install_ld_config | 213 | endef # update_and_install_ld_config |
217 | 214 | ||
215 | |||
216 | ####################################### | ||
217 | # ld.config.txt selection variables | ||
218 | # | ||
219 | _enforce_vndk_at_runtime := false | ||
220 | ifdef BOARD_VNDK_VERSION | ||
221 | ifneq ($(BOARD_VNDK_RUNTIME_DISABLE),true) | ||
222 | _enforce_vndk_at_runtime := true | ||
223 | endif | ||
224 | endif | ||
225 | |||
226 | _enforce_vndk_lite_at_runtime := false | ||
227 | ifeq ($(_enforce_vndk_at_runtime),false) | ||
228 | ifeq ($(PRODUCT_TREBLE_LINKER_NAMESPACES)|$(SANITIZE_TARGET),true|) | ||
229 | _enforce_vndk_lite_at_runtime := true | ||
230 | endif | ||
231 | endif | ||
232 | |||
218 | ####################################### | 233 | ####################################### |
219 | # ld.config.txt | 234 | # ld.config.txt |
220 | # | 235 | # |
221 | # For VNDK enforced devices that have defined BOARD_VNDK_VERSION, use | 236 | # For VNDK enforced devices that have defined BOARD_VNDK_VERSION, use |
222 | # "ld.config.txt" as a source file. This configuration includes strict VNDK | 237 | # "ld.config.txt" as a source file. This configuration includes strict VNDK |
223 | # run-time restrictions for vendor process. | 238 | # run-time restrictions for vendor process. |
239 | # | ||
224 | # Other treblized devices, that have not defined BOARD_VNDK_VERSION or that | 240 | # Other treblized devices, that have not defined BOARD_VNDK_VERSION or that |
225 | # have set BOARD_VNDK_RUNTIME_DISABLE to true, use "ld.config.vndk_lite.txt" | 241 | # have set BOARD_VNDK_RUNTIME_DISABLE to true, use "ld.config.vndk_lite.txt" |
226 | # as a source file. This configuration does not have strict VNDK run-time | 242 | # as a source file. This configuration does not have strict VNDK run-time |
227 | # restrictions. | 243 | # restrictions. |
244 | # | ||
228 | # If the device is not treblized, use "ld.config.legacy.txt" for legacy | 245 | # If the device is not treblized, use "ld.config.legacy.txt" for legacy |
229 | # namespace configuration. | 246 | # namespace configuration. |
247 | # | ||
230 | include $(CLEAR_VARS) | 248 | include $(CLEAR_VARS) |
231 | LOCAL_MODULE := ld.config.txt | 249 | LOCAL_MODULE := ld.config.txt |
232 | LOCAL_MODULE_CLASS := ETC | 250 | LOCAL_MODULE_CLASS := ETC |
233 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) | 251 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) |
234 | 252 | ||
235 | _enforce_vndk_at_runtime := false | ||
236 | ifdef BOARD_VNDK_VERSION | ||
237 | ifneq ($(BOARD_VNDK_RUNTIME_DISABLE),true) | ||
238 | _enforce_vndk_at_runtime := true | ||
239 | endif | ||
240 | endif | ||
241 | |||
242 | ifeq ($(_enforce_vndk_at_runtime),true) | 253 | ifeq ($(_enforce_vndk_at_runtime),true) |
254 | |||
243 | # for VNDK enforced devices | 255 | # for VNDK enforced devices |
244 | LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) | 256 | LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) |
245 | include $(BUILD_SYSTEM)/base_rules.mk | 257 | include $(BUILD_SYSTEM)/base_rules.mk |
@@ -248,37 +260,36 @@ $(eval $(call update_and_install_ld_config,\ | |||
248 | $(LOCAL_BUILT_MODULE),\ | 260 | $(LOCAL_BUILT_MODULE),\ |
249 | $(PLATFORM_VNDK_VERSION))) | 261 | $(PLATFORM_VNDK_VERSION))) |
250 | 262 | ||
251 | else ifeq ($(PRODUCT_TREBLE_LINKER_NAMESPACES)|$(SANITIZE_TARGET),true|) | 263 | else ifeq ($(_enforce_vndk_lite_at_runtime),true) |
252 | # for treblized but VNDK non-enforced devices | 264 | |
253 | LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) | 265 | # for treblized but VNDK lightly enforced devices |
266 | LOCAL_MODULE_STEM := ld.config.vndk_lite.txt | ||
254 | include $(BUILD_SYSTEM)/base_rules.mk | 267 | include $(BUILD_SYSTEM)/base_rules.mk |
255 | $(eval $(call update_and_install_ld_config,\ | 268 | $(eval $(call update_and_install_ld_config,\ |
256 | $(LOCAL_PATH)/etc/ld.config.vndk_lite.txt,\ | 269 | $(LOCAL_PATH)/etc/ld.config.vndk_lite.txt,\ |
257 | $(LOCAL_BUILT_MODULE),\ | 270 | $(LOCAL_BUILT_MODULE),\ |
258 | $(if $(BOARD_VNDK_VERSION),$(PLATFORM_VNDK_VERSION)),\ | 271 | $(PLATFORM_VNDK_VERSION),\ |
259 | true)) | 272 | true)) |
260 | 273 | ||
261 | else | 274 | else |
275 | |||
262 | # for legacy non-treblized devices | 276 | # for legacy non-treblized devices |
263 | LOCAL_SRC_FILES := etc/ld.config.legacy.txt | ||
264 | LOCAL_MODULE_STEM := $(LOCAL_MODULE) | 277 | LOCAL_MODULE_STEM := $(LOCAL_MODULE) |
278 | LOCAL_SRC_FILES := etc/ld.config.legacy.txt | ||
265 | include $(BUILD_PREBUILT) | 279 | include $(BUILD_PREBUILT) |
266 | 280 | ||
267 | endif # if _enforce_vndk_at_runtime is true | 281 | endif # ifeq ($(_enforce_vndk_at_runtime),true) |
268 | 282 | ||
269 | _enforce_vndk_at_runtime := | ||
270 | 283 | ||
271 | ####################################### | 284 | ####################################### |
272 | # ld.config.noenforce.txt | 285 | # ld.config.vndk_lite.txt |
273 | # | 286 | # |
274 | # This file is a temporary configuration file only for GSI. Originally GSI has | 287 | # This module is only for GSI. |
275 | # BOARD_VNDK_VERSION defined and has strict VNDK enforcing rule based on | 288 | # |
276 | # "ld.config.txt". However for the devices, that have not defined | 289 | ifeq ($(_enforce_vndk_lite_at_runtime),false) |
277 | # BOARD_VNDK_VERSION, GSI provides this configuration file which is based on | 290 | |
278 | # "ld.config.vndk_lite.txt". | ||
279 | # Do not install this file for the devices other than GSI. | ||
280 | include $(CLEAR_VARS) | 291 | include $(CLEAR_VARS) |
281 | LOCAL_MODULE := ld.config.noenforce.txt | 292 | LOCAL_MODULE := ld.config.vndk_lite.txt |
282 | LOCAL_MODULE_CLASS := ETC | 293 | LOCAL_MODULE_CLASS := ETC |
283 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) | 294 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) |
284 | LOCAL_MODULE_STEM := $(LOCAL_MODULE) | 295 | LOCAL_MODULE_STEM := $(LOCAL_MODULE) |
@@ -289,6 +300,11 @@ $(eval $(call update_and_install_ld_config,\ | |||
289 | $(PLATFORM_VNDK_VERSION),\ | 300 | $(PLATFORM_VNDK_VERSION),\ |
290 | true)) | 301 | true)) |
291 | 302 | ||
303 | endif # ifeq ($(_enforce_vndk_lite_at_runtime),false) | ||
304 | |||
305 | _enforce_vndk_at_runtime := | ||
306 | _enforce_vndk_lite_at_runtime := | ||
307 | |||
292 | ####################################### | 308 | ####################################### |
293 | # llndk.libraries.txt | 309 | # llndk.libraries.txt |
294 | include $(CLEAR_VARS) | 310 | include $(CLEAR_VARS) |