From 1cb6eee2f4a3cb2f892a4598c05ef04d61a987c7 Mon Sep 17 00:00:00 2001 From: nianyuu Date: Sat, 23 Aug 2025 19:19:53 +0800 Subject: [PATCH] modify child process scheduling priority on spawning Signed-off-by: nianyuu --- appspawn.gni | 1 + modules/common/BUILD.gn | 4 ++++ modules/common/appspawn_common.c | 2 ++ 3 files changed, 7 insertions(+) diff --git a/appspawn.gni b/appspawn.gni index 341012bf..8720c7d0 100644 --- a/appspawn.gni +++ b/appspawn.gni @@ -42,6 +42,7 @@ declare_args() { appspawn_hitrace_option = true appspawn_napi_preload_path = "../appspawn_preload.json" appspawn_arkweb_preload = true + appspawn_change_sched = true } if (!defined(global_parts_info) || diff --git a/modules/common/BUILD.gn b/modules/common/BUILD.gn index 709b5da3..fda92dc4 100644 --- a/modules/common/BUILD.gn +++ b/modules/common/BUILD.gn @@ -111,6 +111,10 @@ ohos_shared_library("appspawn_common") { sources += [ "${appspawn_path}/modules/sysevent/hisysevent_adapter.cpp" ] } + if (appspawn_change_sched) { + defines += [ "APPSPAWN_SCHED_ENABLE" ] + } + subsystem_name = "${subsystem_name}" part_name = "${part_name}" install_enable = true diff --git a/modules/common/appspawn_common.c b/modules/common/appspawn_common.c index 7c6095d7..7aa6f201 100644 --- a/modules/common/appspawn_common.c +++ b/modules/common/appspawn_common.c @@ -287,12 +287,14 @@ static int SetXpmConfig(const AppSpawnMgr *content, const AppSpawningCtx *proper static int SetUidGid(const AppSpawnMgr *content, const AppSpawningCtx *property) { +#ifdef APPSPAWN_SCHED_ENABLE if (IsAppSpawnMode(content) || IsHybridSpawnMode(content)) { struct sched_param param = { 0 }; param.sched_priority = 0; int ret = sched_setscheduler(0, SCHED_OTHER, ¶m); APPSPAWN_CHECK_ONLY_LOG(ret == 0, "UpdateSchedPrio failed ret: %{public}d, %{public}d", ret, errno); } +#endif AppSpawnMsgDacInfo *dacInfo = (AppSpawnMsgDacInfo *)GetAppProperty(property, TLV_DAC_INFO); APPSPAWN_CHECK(dacInfo != NULL, return APPSPAWN_TLV_NONE, "No tlv %{public}d in msg %{public}s", TLV_DAC_INFO, GetProcessName(property)); -- Gitee