From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 41DDEA04FD; Mon, 23 May 2022 12:52:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 23ED740141; Mon, 23 May 2022 12:52:15 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 58C6F40041 for ; Mon, 23 May 2022 12:52:14 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id 9C39720B71D5; Mon, 23 May 2022 03:52:13 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 9C39720B71D5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1653303133; bh=JMQWBcyUalenhKkg6Y7As/DChOKRAprwzO9l1e9kf3Q=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=OTt1/1Up2IijkqxLHr8x5NLaCE1LLKBzJchWmk1lRiRQVzT99xkpn3eSLg7XR19UV 1Wn9hz0/Vj/B2fFlwiaysHcB0IdwHHq7d0RyKCOKb/mUJN2tk0h8/wWfcUbuJ2mASa iAcHDMjgf4HX4RVa4V6a3xxeAoJMIUq/bMAAcqiE= Date: Mon, 23 May 2022 03:52:13 -0700 From: Tyler Retzlaff To: dev@dpdk.org Cc: thomas@monjalon.net, dmitry.kozliuk@gmail.com, anatoly.burakov@intel.com Subject: Re: [PATCH 2/2] test/threads: add unit test for get set priority Message-ID: <20220523105213.GB11121@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <1653302773-11043-1-git-send-email-roretzla@linux.microsoft.com> <1653302773-11043-3-git-send-email-roretzla@linux.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1653302773-11043-3-git-send-email-roretzla@linux.microsoft.com> User-Agent: Mutt/1.5.21 (2010-09-15) 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 Mon, May 23, 2022 at 03:46:13AM -0700, Tyler Retzlaff wrote: > Add unit tests to exercise and demonstrate rte_thread_{get,set}_priority(). > > Signed-off-by: Tyler Retzlaff > --- > app/test/test_threads.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 52 insertions(+) > > diff --git a/app/test/test_threads.c b/app/test/test_threads.c > index e1a2ea5..d369418 100644 > --- a/app/test/test_threads.c > +++ b/app/test/test_threads.c > @@ -24,6 +24,56 @@ > } > > static int > +test_thread_priority(void) > +{ > + pthread_t id; > + rte_thread_t thread_id; > + enum rte_thread_priority priority; > + > + thread_id_ready = 0; > + RTE_TEST_ASSERT(pthread_create(&id, NULL, thread_main, &thread_id) == 0, > + "Failed to create thread"); > + > + while (__atomic_load_n(&thread_id_ready, __ATOMIC_ACQUIRE) == 0) > + ; > + > + priority = RTE_THREAD_PRIORITY_NORMAL; > + RTE_TEST_ASSERT(rte_thread_set_priority(thread_id, priority) == 0, > + "Failed to set thread priority"); > + RTE_TEST_ASSERT(rte_thread_get_priority(thread_id, &priority) == 0, > + "Failed to get thread priority"); > + RTE_TEST_ASSERT(priority == RTE_THREAD_PRIORITY_NORMAL, > + "Priority set mismatches priority get"); > + > + priority = RTE_THREAD_PRIORITY_REALTIME_CRITICAL; > +#ifndef RTE_EXEC_ENV_WINDOWS > + RTE_TEST_ASSERT(rte_thread_set_priority(thread_id, priority) == -ENOTSUP, > + "Priority set to critical should fail"); > + RTE_TEST_ASSERT(rte_thread_get_priority(thread_id, &priority) == 0, > + "Failed to get thread priority"); > + RTE_TEST_ASSERT(priority == RTE_THREAD_PRIORITY_NORMAL, > + "Failed set to critical should have retained normal"); > +#else > + RTE_TEST_ASSERT(rte_thread_set_priority(thread_id, priority) == 0, > + "Priority set to critical should succeed"); > + RTE_TEST_ASSERT(rte_thread_get_priority(thread_id, &priority) == 0, > + "Failed to get thread priority"); > + RTE_TEST_ASSERT(priority == RTE_THREAD_PRIORITY_REALTIME_CRITICAL, > + "Priority get set mistmatches priority get"); mistmatches -> mismatches will fix this when addressing more substantial feedback > +#endif > + > + priority = RTE_THREAD_PRIORITY_NORMAL; > + RTE_TEST_ASSERT(rte_thread_set_priority(thread_id, priority) == 0, > + "Failed to set thread priority"); > + RTE_TEST_ASSERT(rte_thread_get_priority(thread_id, &priority) == 0, > + "Failed to get thread priority"); > + RTE_TEST_ASSERT(priority == RTE_THREAD_PRIORITY_NORMAL, > + "Priority set mismatches priority get"); > + > + return 0; > +} > + > +static int > test_thread_affinity(void) > { > pthread_t id; > @@ -31,6 +81,7 @@ > rte_cpuset_t cpuset0; > rte_cpuset_t cpuset1; > > + thread_id_ready = 0; > RTE_TEST_ASSERT(pthread_create(&id, NULL, thread_main, &thread_id) == 0, > "Failed to create thread"); > > @@ -68,6 +119,7 @@ > .teardown = NULL, > .unit_test_cases = { > TEST_CASE(test_thread_affinity), > + TEST_CASE(test_thread_priority), > TEST_CASES_END() > } > }; > -- > 1.8.3.1