From patchwork Fri Mar 3 13:00:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Van Haaren, Harry" X-Patchwork-Id: 124796 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D1E2D41DC8; Fri, 3 Mar 2023 14:00:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4325D427E9; Fri, 3 Mar 2023 14:00:57 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 3D8EC400D6; Fri, 3 Mar 2023 14:00:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677848455; x=1709384455; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=oABTV7c/HZLorwWe9twTPl/bTZuMvraWa/0ioVO375c=; b=lpfJPrlmTnbSTBr/buCTkcmzSTKZ+aG2dgkQd/xcCShX99fCeXhgkX0n fOA2dxdzKKGbyTzla7OfukkYpsYdNkdamzmpcqztw8YcV7fnLefyMEnVa Q6RFt1Amv4+3bnSicAHJmKWojbViTciOCLXwCBkBoX1HsbuZaceFb6SK/ kVtOUj+6hRc1hcpuU1Xn3HQCzJNiR8DFBXNHRYfJUxiRwN8KCa4urLGiu I6MVfJkuqU7dC5C/DLx+lU+UicGvsUjPAH2T8c++cO1NIbadNlDM25Iwk gIAb9CW2SZW7i8LqTdx1koFSQ15hCI8OP0M8fW0PsVGp+TruDxm8CCrik g==; X-IronPort-AV: E=McAfee;i="6500,9779,10637"; a="318858334" X-IronPort-AV: E=Sophos;i="5.98,230,1673942400"; d="scan'208";a="318858334" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2023 05:00:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10637"; a="668648147" X-IronPort-AV: E=Sophos;i="5.98,230,1673942400"; d="scan'208";a="668648147" Received: from silpixa00401454.ir.intel.com ([10.55.128.122]) by orsmga007.jf.intel.com with ESMTP; 03 Mar 2023 05:00:41 -0800 From: Harry van Haaren To: dev@dpdk.org Cc: david.marchand@redhat.com, dpdklab@iol.unh.edu, ci@dpdk.org, Honnappa.Nagarahalli@arm.com, mattias.ronnblom@ericsson.com, mb@smartsharesystems.com, roretzla@linux.microsoft.com, aconole@redhat.com, bruce.richardson@intel.com, Harry van Haaren Subject: [PATCH v2] service: split tests to perf and autotest to avoid spurious CI failures Date: Fri, 3 Mar 2023 13:00:06 +0000 Message-Id: <20230303130006.831257-1-harry.van.haaren@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230224173637.243266-1-harry.van.haaren@intel.com> References: <20230224173637.243266-1-harry.van.haaren@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On some CI runs, some service-cores tests spuriously fail as the service lcore thread is not actually scheduled by the OS in the given amount of time. Increasing timeouts has not resolved the issue in the CI, so the solution in this patch is to move them to a separate perf test suite. Signed-off-by: Harry van Haaren --- v2: - Add "performance" to suite name (David) - Remove comment above perf-test suite (David) See DPDK ML discussion in this thread: http://mails.dpdk.org/archives/dev/2023-February/263523.html --- app/test/meson.build | 1 + app/test/test_service_cores.c | 27 ++++++++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index f34d19e3c3..2db5ccf4ff 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -287,6 +287,7 @@ perf_test_names = [ 'pie_perf', 'distributor_perf_autotest', 'pmd_perf_autotest', + 'service_perf_autotest', 'stack_perf_autotest', 'stack_lf_perf_autotest', 'rand_perf_autotest', diff --git a/app/test/test_service_cores.c b/app/test/test_service_cores.c index 637fcd7cf9..c8b6a27c69 100644 --- a/app/test/test_service_cores.c +++ b/app/test/test_service_cores.c @@ -1022,17 +1022,12 @@ static struct unit_test_suite service_tests = { TEST_CASE_ST(dummy_register, NULL, service_name), TEST_CASE_ST(dummy_register, NULL, service_get_by_name), TEST_CASE_ST(dummy_register, NULL, service_dump), - TEST_CASE_ST(dummy_register, NULL, service_attr_get), - TEST_CASE_ST(dummy_register, NULL, service_lcore_attr_get), TEST_CASE_ST(dummy_register, NULL, service_probe_capability), TEST_CASE_ST(dummy_register, NULL, service_start_stop), TEST_CASE_ST(dummy_register, NULL, service_lcore_add_del), - TEST_CASE_ST(dummy_register, NULL, service_lcore_start_stop), TEST_CASE_ST(dummy_register, NULL, service_lcore_en_dis_able), TEST_CASE_ST(dummy_register, NULL, service_mt_unsafe_poll), TEST_CASE_ST(dummy_register, NULL, service_mt_safe_poll), - TEST_CASE_ST(dummy_register, NULL, service_app_lcore_mt_safe), - TEST_CASE_ST(dummy_register, NULL, service_app_lcore_mt_unsafe), TEST_CASE_ST(dummy_register, NULL, service_may_be_active), TEST_CASE_ST(dummy_register, NULL, service_active_two_cores), TEST_CASES_END() /**< NULL terminate unit test array */ @@ -1046,3 +1041,25 @@ test_service_common(void) } REGISTER_TEST_COMMAND(service_autotest, test_service_common); + +static struct unit_test_suite service_perf_tests = { + .suite_name = "service core performance test suite", + .setup = testsuite_setup, + .teardown = testsuite_teardown, + .unit_test_cases = { + TEST_CASE_ST(dummy_register, NULL, service_attr_get), + TEST_CASE_ST(dummy_register, NULL, service_lcore_attr_get), + TEST_CASE_ST(dummy_register, NULL, service_lcore_start_stop), + TEST_CASE_ST(dummy_register, NULL, service_app_lcore_mt_safe), + TEST_CASE_ST(dummy_register, NULL, service_app_lcore_mt_unsafe), + TEST_CASES_END() /**< NULL terminate unit test array */ + } +}; + +static int +test_service_perf(void) +{ + return unit_test_suite_runner(&service_perf_tests); +} + +REGISTER_TEST_COMMAND(service_perf_autotest, test_service_perf);