diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-05-17 07:22:36 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-05-17 07:22:36 +0000 |
commit | f7cb192aed26cab55ce2fa7b4c4a0ae953c70793 (patch) | |
tree | f2b3b194b27f18a7d8438029b09b79e12b145cd3 | |
parent | 7c365bcc92616b3b672d47205c10ef9b33c7f0fd (diff) | |
parent | 7905b1e16286653679b7ff9b595f3ed7de5e182f (diff) | |
download | core-f7cb192aed26cab55ce2fa7b4c4a0ae953c70793.tar.gz |
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, int pages_freed = 0; #ifdef LMKD_LOG_STATS - if (enable_stats_log) { - stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_START); - } + bool lmk_state_change_start = false; #endif 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, killed_size = kill_one_process(procp, min_score_adj, level); if (killed_size >= 0) { +#ifdef LMKD_LOG_STATS + if (enable_stats_log && !lmk_state_change_start) { + lmk_state_change_start = true; + stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, + LMK_STATE_CHANGE_START); + } +#endif + pages_freed += killed_size; if (pages_freed >= pages_to_free) { #ifdef LMKD_LOG_STATS - if (enable_stats_log) { + if (enable_stats_log && lmk_state_change_start) { stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP); } @@ -1059,7 +1065,7 @@ static int find_and_kill_processes(enum vmpressure_level level, } #ifdef LMKD_LOG_STATS - if (enable_stats_log) { + if (enable_stats_log && lmk_state_change_start) { stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP); } #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) bcp_md5 := bcp_dep := -# If BOARD_VNDK_VERSION is defined, append PLATFORM_VNDK_VERSION to base name. +# Append PLATFORM_VNDK_VERSION to base name. define append_vndk_version $(strip \ - $(if $(BOARD_VNDK_VERSION), \ - $(basename $(1)).$(PLATFORM_VNDK_VERSION)$(suffix $(1)), \ - $(1) \ - ) \ + $(basename $(1)).$(PLATFORM_VNDK_VERSION)$(suffix $(1)) \ ) endef @@ -215,31 +212,46 @@ sanitizer_runtime_libraries := vndk_version_suffix := endef # update_and_install_ld_config + +####################################### +# ld.config.txt selection variables +# +_enforce_vndk_at_runtime := false +ifdef BOARD_VNDK_VERSION + ifneq ($(BOARD_VNDK_RUNTIME_DISABLE),true) + _enforce_vndk_at_runtime := true + endif +endif + +_enforce_vndk_lite_at_runtime := false +ifeq ($(_enforce_vndk_at_runtime),false) + ifeq ($(PRODUCT_TREBLE_LINKER_NAMESPACES)|$(SANITIZE_TARGET),true|) + _enforce_vndk_lite_at_runtime := true + endif +endif + ####################################### # ld.config.txt # # For VNDK enforced devices that have defined BOARD_VNDK_VERSION, use # "ld.config.txt" as a source file. This configuration includes strict VNDK # run-time restrictions for vendor process. +# # Other treblized devices, that have not defined BOARD_VNDK_VERSION or that # have set BOARD_VNDK_RUNTIME_DISABLE to true, use "ld.config.vndk_lite.txt" # as a source file. This configuration does not have strict VNDK run-time # restrictions. +# # If the device is not treblized, use "ld.config.legacy.txt" for legacy # namespace configuration. +# include $(CLEAR_VARS) LOCAL_MODULE := ld.config.txt LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -_enforce_vndk_at_runtime := false -ifdef BOARD_VNDK_VERSION -ifneq ($(BOARD_VNDK_RUNTIME_DISABLE),true) - _enforce_vndk_at_runtime := true -endif -endif - ifeq ($(_enforce_vndk_at_runtime),true) + # for VNDK enforced devices LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) include $(BUILD_SYSTEM)/base_rules.mk @@ -248,37 +260,36 @@ $(eval $(call update_and_install_ld_config,\ $(LOCAL_BUILT_MODULE),\ $(PLATFORM_VNDK_VERSION))) -else ifeq ($(PRODUCT_TREBLE_LINKER_NAMESPACES)|$(SANITIZE_TARGET),true|) -# for treblized but VNDK non-enforced devices -LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) +else ifeq ($(_enforce_vndk_lite_at_runtime),true) + +# for treblized but VNDK lightly enforced devices +LOCAL_MODULE_STEM := ld.config.vndk_lite.txt include $(BUILD_SYSTEM)/base_rules.mk $(eval $(call update_and_install_ld_config,\ $(LOCAL_PATH)/etc/ld.config.vndk_lite.txt,\ $(LOCAL_BUILT_MODULE),\ - $(if $(BOARD_VNDK_VERSION),$(PLATFORM_VNDK_VERSION)),\ + $(PLATFORM_VNDK_VERSION),\ true)) else + # for legacy non-treblized devices -LOCAL_SRC_FILES := etc/ld.config.legacy.txt LOCAL_MODULE_STEM := $(LOCAL_MODULE) +LOCAL_SRC_FILES := etc/ld.config.legacy.txt include $(BUILD_PREBUILT) -endif # if _enforce_vndk_at_runtime is true +endif # ifeq ($(_enforce_vndk_at_runtime),true) -_enforce_vndk_at_runtime := ####################################### -# ld.config.noenforce.txt +# ld.config.vndk_lite.txt # -# This file is a temporary configuration file only for GSI. Originally GSI has -# BOARD_VNDK_VERSION defined and has strict VNDK enforcing rule based on -# "ld.config.txt". However for the devices, that have not defined -# BOARD_VNDK_VERSION, GSI provides this configuration file which is based on -# "ld.config.vndk_lite.txt". -# Do not install this file for the devices other than GSI. +# This module is only for GSI. +# +ifeq ($(_enforce_vndk_lite_at_runtime),false) + include $(CLEAR_VARS) -LOCAL_MODULE := ld.config.noenforce.txt +LOCAL_MODULE := ld.config.vndk_lite.txt LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) LOCAL_MODULE_STEM := $(LOCAL_MODULE) @@ -289,6 +300,11 @@ $(eval $(call update_and_install_ld_config,\ $(PLATFORM_VNDK_VERSION),\ true)) +endif # ifeq ($(_enforce_vndk_lite_at_runtime),false) + +_enforce_vndk_at_runtime := +_enforce_vndk_lite_at_runtime := + ####################################### # llndk.libraries.txt include $(CLEAR_VARS) |