From db8f1529b6e04a0cc923ed9032db866239240ad6 Mon Sep 17 00:00:00 2001 From: Chen Junhao1234 Date: Sat, 11 Oct 2025 10:25:23 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=96=B0=E5=A2=9Eearly=20start=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/external/acl/acl_base.h | 3 ++- runtime/context.cpp | 2 +- tests/ut/acl/testcase/acl_common_unittest.cpp | 7 +++++++ tests/ut/acl/testcase/compatibility/enum_check.cpp | 3 +++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/inc/external/acl/acl_base.h b/inc/external/acl/acl_base.h index c9662690..2ff0da03 100755 --- a/inc/external/acl/acl_base.h +++ b/inc/external/acl/acl_base.h @@ -208,7 +208,8 @@ typedef enum { typedef enum { ACL_OPT_DETERMINISTIC = 0, - ACL_OPT_ENABLE_DEBUG_KERNEL = 1 + ACL_OPT_ENABLE_DEBUG_KERNEL = 1, + ACL_OPT_EARLY_START = 2 } aclSysParamOpt; typedef enum { diff --git a/runtime/context.cpp b/runtime/context.cpp index 92a03558..7cb6de48 100755 --- a/runtime/context.cpp +++ b/runtime/context.cpp @@ -121,7 +121,7 @@ static aclError GetSysParamOpt(aclSysParamOpt opt, int64_t *value, bool isCtx) static aclError SetSysParamOpt(aclSysParamOpt opt, int64_t value, bool isCtx) { - if (opt != ACL_OPT_DETERMINISTIC && opt != ACL_OPT_ENABLE_DEBUG_KERNEL) { + if (opt != ACL_OPT_DETERMINISTIC && opt != ACL_OPT_ENABLE_DEBUG_KERNEL && opt != ACL_OPT_EARLY_START) { ACL_LOG_INNER_ERROR("[Check][SysParamOpt]opt = %d is invalid, it should be %d or %d ", static_cast(opt), static_cast(ACL_OPT_DETERMINISTIC), static_cast(ACL_OPT_ENABLE_DEBUG_KERNEL)); diff --git a/tests/ut/acl/testcase/acl_common_unittest.cpp b/tests/ut/acl/testcase/acl_common_unittest.cpp index ab884d8b..3c394480 100755 --- a/tests/ut/acl/testcase/acl_common_unittest.cpp +++ b/tests/ut/acl/testcase/acl_common_unittest.cpp @@ -1887,6 +1887,13 @@ TEST_F(UTEST_ACL_Common, AclrtCtxSetSysParamOpt) .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)); ret = aclrtCtxSetSysParamOpt(ACL_OPT_DETERMINISTIC, 1); EXPECT_EQ(ret, ACL_ERROR_RT_INTERNAL_ERROR); + + ret = aclrtCtxSetSysParamOpt(ACL_OPT_EARLY_START, 0); + EXPECT_EQ(ret, ACL_SUCCESS); + EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxSetSysParamOpt(_, _)) + .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)); + ret = aclrtCtxSetSysParamOpt(ACL_OPT_EARLY_START, 0); + EXPECT_EQ(ret, ACL_ERROR_RT_INTERNAL_ERROR); } TEST_F(UTEST_ACL_Common, AclrtCtxGetSysParamOptTest) diff --git a/tests/ut/acl/testcase/compatibility/enum_check.cpp b/tests/ut/acl/testcase/compatibility/enum_check.cpp index a0156ee2..fc056629 100644 --- a/tests/ut/acl/testcase/compatibility/enum_check.cpp +++ b/tests/ut/acl/testcase/compatibility/enum_check.cpp @@ -566,6 +566,9 @@ TEST_F(UTEST_ACL_compatibility_enum_check, aclSysParamOpt) sysParamOpt = (aclSysParamOpt)1; EXPECT_EQ(sysParamOpt, ACL_OPT_ENABLE_DEBUG_KERNEL); + + sysParamOpt = (aclSysParamOpt)2; + EXPECT_EQ(sysParamOpt, ACL_OPT_EARLY_START); } TEST_F(UTEST_ACL_compatibility_enum_check, aclrtMemMallocPolicy) -- Gitee From 981d8e5ca7224c168a6426d2aef07a08cdc7d22e Mon Sep 17 00:00:00 2001 From: Chen Junhao1234 Date: Sat, 11 Oct 2025 11:06:23 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=96=B0=E5=A2=9Eearly=20start=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/ut/acl/testcase/acl_common_unittest.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/ut/acl/testcase/acl_common_unittest.cpp b/tests/ut/acl/testcase/acl_common_unittest.cpp index 3c394480..d30e2fee 100755 --- a/tests/ut/acl/testcase/acl_common_unittest.cpp +++ b/tests/ut/acl/testcase/acl_common_unittest.cpp @@ -1881,18 +1881,20 @@ TEST_F(UTEST_ACL_Common, AclrtCtxSetSysParamOpt) { aclError ret = aclrtCtxSetSysParamOpt(static_cast(99), 1); EXPECT_EQ(ret, ACL_ERROR_INVALID_PARAM); - ret = aclrtCtxSetSysParamOpt(ACL_OPT_DETERMINISTIC, 1); - EXPECT_EQ(ret, ACL_SUCCESS); EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxSetSysParamOpt(_, _)) + .WillOnce(Return(ACL_SUCCESS)) .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)); ret = aclrtCtxSetSysParamOpt(ACL_OPT_DETERMINISTIC, 1); + EXPECT_EQ(ret, ACL_SUCCESS); + ret = aclrtCtxSetSysParamOpt(ACL_OPT_DETERMINISTIC, 1); EXPECT_EQ(ret, ACL_ERROR_RT_INTERNAL_ERROR); - ret = aclrtCtxSetSysParamOpt(ACL_OPT_EARLY_START, 0); - EXPECT_EQ(ret, ACL_SUCCESS); EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxSetSysParamOpt(_, _)) + .WillOnce(Return(ACL_SUCCESS)) .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)); ret = aclrtCtxSetSysParamOpt(ACL_OPT_EARLY_START, 0); + EXPECT_EQ(ret, ACL_SUCCESS); + ret = aclrtCtxSetSysParamOpt(ACL_OPT_EARLY_START, 0); EXPECT_EQ(ret, ACL_ERROR_RT_INTERNAL_ERROR); } -- Gitee From 8d8d5b47abe90ff3186e082a058babcf6a9112e1 Mon Sep 17 00:00:00 2001 From: Chen Junhao1234 Date: Sat, 11 Oct 2025 14:16:22 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=96=B0=E5=A2=9Eearly=20start=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- runtime/context.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/runtime/context.cpp b/runtime/context.cpp index 7cb6de48..cd16fac9 100755 --- a/runtime/context.cpp +++ b/runtime/context.cpp @@ -122,12 +122,13 @@ static aclError GetSysParamOpt(aclSysParamOpt opt, int64_t *value, bool isCtx) static aclError SetSysParamOpt(aclSysParamOpt opt, int64_t value, bool isCtx) { if (opt != ACL_OPT_DETERMINISTIC && opt != ACL_OPT_ENABLE_DEBUG_KERNEL && opt != ACL_OPT_EARLY_START) { - ACL_LOG_INNER_ERROR("[Check][SysParamOpt]opt = %d is invalid, it should be %d or %d ", + ACL_LOG_INNER_ERROR("[Check][SysParamOpt]opt = %d is invalid, it should be %d, %d or %d ", static_cast(opt), static_cast(ACL_OPT_DETERMINISTIC), - static_cast(ACL_OPT_ENABLE_DEBUG_KERNEL)); + static_cast(ACL_OPT_ENABLE_DEBUG_KERNEL); + static_cast(ACL_OPT_EARLY_START)); acl::AclErrorLogManager::ReportInputError(acl::INVALID_PARAM_MSG, std::vector({"param", "value", "reason"}), - std::vector({"aclSysParamOpt", std::to_string(opt), "should be 0 or 1"})); + std::vector({"aclSysParamOpt", std::to_string(opt), "should be 0, 1 or 2"})); return ACL_ERROR_INVALID_PARAM; } rtError_t rtErr = RT_ERROR_NONE; -- Gitee From bd243f591f168c2a60eb430fa4c97ca50e999175 Mon Sep 17 00:00:00 2001 From: Chen Junhao1234 Date: Sat, 11 Oct 2025 14:17:48 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=96=B0=E5=A2=9Eearly=20start=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- runtime/context.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/context.cpp b/runtime/context.cpp index cd16fac9..c593d30a 100755 --- a/runtime/context.cpp +++ b/runtime/context.cpp @@ -124,7 +124,7 @@ static aclError SetSysParamOpt(aclSysParamOpt opt, int64_t value, bool isCtx) if (opt != ACL_OPT_DETERMINISTIC && opt != ACL_OPT_ENABLE_DEBUG_KERNEL && opt != ACL_OPT_EARLY_START) { ACL_LOG_INNER_ERROR("[Check][SysParamOpt]opt = %d is invalid, it should be %d, %d or %d ", static_cast(opt), static_cast(ACL_OPT_DETERMINISTIC), - static_cast(ACL_OPT_ENABLE_DEBUG_KERNEL); + static_cast(ACL_OPT_ENABLE_DEBUG_KERNEL), static_cast(ACL_OPT_EARLY_START)); acl::AclErrorLogManager::ReportInputError(acl::INVALID_PARAM_MSG, std::vector({"param", "value", "reason"}), -- Gitee From ed79bd59bb467954b2667e2979953d65f32bc77b Mon Sep 17 00:00:00 2001 From: Chen Junhao1234 Date: Sat, 11 Oct 2025 15:41:05 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=96=B0=E5=A2=9Eearly=20start=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- runtime/context.cpp | 9 +++++---- tests/ut/acl/testcase/acl_common_unittest.cpp | 12 ++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/runtime/context.cpp b/runtime/context.cpp index c593d30a..6266a066 100755 --- a/runtime/context.cpp +++ b/runtime/context.cpp @@ -88,13 +88,14 @@ aclError aclrtGetCurrentContextImpl(aclrtContext *context) static aclError GetSysParamOpt(aclSysParamOpt opt, int64_t *value, bool isCtx) { ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(value); - if (opt != ACL_OPT_DETERMINISTIC && opt != ACL_OPT_ENABLE_DEBUG_KERNEL) { - ACL_LOG_INNER_ERROR("[Check][SysParamOpt]opt = %d is invalid, it should be %d or %d ", + if (opt != ACL_OPT_DETERMINISTIC && opt != ACL_OPT_ENABLE_DEBUG_KERNEL && opt != ACL_OPT_EARLY_START) { + ACL_LOG_INNER_ERROR("[Check][SysParamOpt]opt = %d is invalid, it should be %d, %d or %d ", static_cast(opt), static_cast(ACL_OPT_DETERMINISTIC), - static_cast(ACL_OPT_ENABLE_DEBUG_KERNEL)); + static_cast(ACL_OPT_ENABLE_DEBUG_KERNEL), + static_cast(ACL_OPT_EARLY_START)); acl::AclErrorLogManager::ReportInputError(acl::INVALID_PARAM_MSG, std::vector({"param", "value", "reason"}), - std::vector({"aclSysParamOpt", std::to_string(opt), "must be 0 or 1"})); + std::vector({"aclSysParamOpt", std::to_string(opt), "must be 0, 1 or 2"})); return ACL_ERROR_INVALID_PARAM; } rtError_t rtErr = RT_ERROR_NONE; diff --git a/tests/ut/acl/testcase/acl_common_unittest.cpp b/tests/ut/acl/testcase/acl_common_unittest.cpp index d30e2fee..db8fe2b8 100755 --- a/tests/ut/acl/testcase/acl_common_unittest.cpp +++ b/tests/ut/acl/testcase/acl_common_unittest.cpp @@ -1917,6 +1917,18 @@ TEST_F(UTEST_ACL_Common, AclrtCtxGetSysParamOptTest) .WillOnce(Return(ACL_ERROR_RT_SYSPARAMOPT_NOT_SET)); ret = aclrtCtxGetSysParamOpt(ACL_OPT_DETERMINISTIC, &val); EXPECT_EQ(ret, ACL_ERROR_RT_SYSPARAMOPT_NOT_SET); + + ret = aclrtCtxGetSysParamOpt(ACL_OPT_EARLY_START, &val); + EXPECT_EQ(ret, ACL_SUCCESS); + EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxGetSysParamOpt(_, _)) + .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)); + ret = aclrtCtxGetSysParamOpt(ACL_OPT_EARLY_START, &val); + EXPECT_EQ(ret, ACL_ERROR_RT_INTERNAL_ERROR); + + EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxGetSysParamOpt(_, _)) + .WillOnce(Return(ACL_ERROR_RT_SYSPARAMOPT_NOT_SET)); + ret = aclrtCtxGetSysParamOpt(ACL_OPT_EARLY_START, &val); + EXPECT_EQ(ret, ACL_ERROR_RT_SYSPARAMOPT_NOT_SET); } TEST_F(UTEST_ACL_Common, AclrtSetSysParamOpt) -- Gitee From 6c20fa689d39a6b393cefc24b5a96d4e975bef63 Mon Sep 17 00:00:00 2001 From: Chen Junhao1234 Date: Sat, 11 Oct 2025 15:57:23 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=96=B0=E5=A2=9Eearly=20start=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/ut/acl/testcase/acl_common_unittest.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/tests/ut/acl/testcase/acl_common_unittest.cpp b/tests/ut/acl/testcase/acl_common_unittest.cpp index db8fe2b8..2f9506e7 100755 --- a/tests/ut/acl/testcase/acl_common_unittest.cpp +++ b/tests/ut/acl/testcase/acl_common_unittest.cpp @@ -1905,28 +1905,27 @@ TEST_F(UTEST_ACL_Common, AclrtCtxGetSysParamOptTest) int64_t val = 0; ret = aclrtCtxGetSysParamOpt(static_cast(99), &val); EXPECT_EQ(ret, ACL_ERROR_INVALID_PARAM); + EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxGetSysParamOpt(_, _)) + .WillOnce(Return(ACL_SUCCESS)) + .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)) + .WillOnce(Return(ACL_ERROR_RT_SYSPARAMOPT_NOT_SET)); ret = aclrtCtxGetSysParamOpt(ACL_OPT_DETERMINISTIC, &val); EXPECT_EQ(ret, ACL_SUCCESS); - EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxGetSysParamOpt(_, _)) - .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)); ret = aclrtCtxGetSysParamOpt(ACL_OPT_DETERMINISTIC, &val); EXPECT_EQ(ret, ACL_ERROR_RT_INTERNAL_ERROR); // not set - EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxGetSysParamOpt(_, _)) - .WillOnce(Return(ACL_ERROR_RT_SYSPARAMOPT_NOT_SET)); ret = aclrtCtxGetSysParamOpt(ACL_OPT_DETERMINISTIC, &val); EXPECT_EQ(ret, ACL_ERROR_RT_SYSPARAMOPT_NOT_SET); + EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxGetSysParamOpt(_, _)) + .WillOnce(Return(ACL_SUCCESS)) + .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)) + .WillOnce(Return(ACL_ERROR_RT_SYSPARAMOPT_NOT_SET)); ret = aclrtCtxGetSysParamOpt(ACL_OPT_EARLY_START, &val); EXPECT_EQ(ret, ACL_SUCCESS); - EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxGetSysParamOpt(_, _)) - .WillOnce(Return(ACL_ERROR_RT_INTERNAL_ERROR)); ret = aclrtCtxGetSysParamOpt(ACL_OPT_EARLY_START, &val); EXPECT_EQ(ret, ACL_ERROR_RT_INTERNAL_ERROR); - - EXPECT_CALL(MockFunctionTest::aclStubInstance(), rtCtxGetSysParamOpt(_, _)) - .WillOnce(Return(ACL_ERROR_RT_SYSPARAMOPT_NOT_SET)); ret = aclrtCtxGetSysParamOpt(ACL_OPT_EARLY_START, &val); EXPECT_EQ(ret, ACL_ERROR_RT_SYSPARAMOPT_NOT_SET); } -- Gitee