From patchwork Mon Aug 30 16:34:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Honnappa Nagarahalli X-Patchwork-Id: 504336 Delivered-To: patch@linaro.org Received: by 2002:a02:8629:0:0:0:0:0 with SMTP id e38csp1948681jai; Mon, 30 Aug 2021 09:34:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2MbALJ3G7Xe8P2IiHWlZy9E4JnN/b2HADLTNESbSuFHiP2MCWR44O7axtD09qBURbkyrm X-Received: by 2002:a1c:730a:: with SMTP id d10mr33786103wmb.59.1630341278876; Mon, 30 Aug 2021 09:34:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630341278; cv=none; d=google.com; s=arc-20160816; b=B2/BTNl3wg/QIt1UbDPD8nTkljZMecxt3/73/J2EUUEU8U7X1T4idFxnhSpphMY4Ve Er1QBK0kvXQfE8FhnEzz+gekzZoJ17ALIScBTlijKfr5hYw1megV0lw1EyOMMrD08KOu 6YZQwLa5xwvZyBNl6BxM9QezYtkCQH9Q9z/YUt833zGgvt/upVZyVgGxLDw375TcocG9 +HE+naCywvEreudWn/Tm/LW+pRuU2EqoGu1LC3NjKU+TpeCRwFSkVD2DtO+C5guprmax 8ybcvBzRQ8xVD5UF2Ib+kXnBpsXp7Y65Tc+JC3aUA7A0ukPQNHwaf5HYmD1bOKbwAdNC h8fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:references:in-reply-to :message-id:date:cc:to:from; bh=Vl/CbnUShZ3WkjCuZrTEzF4JwjcxOi8i6oaZxckxMlE=; b=E6cubHCTOIhKQIvzM7b+72AVRq3FHGwLgsbMajifLTF7JhONWTAXipgU1/htA4wxlb 6OB3sSxZIi0i+uhaw5VrMQpEBepMtzX9lsJJgIpNIQ2qHFgR090tZeYoqZjWQ2sSNyxQ u7pQQuLet0cRxSmGkHa5tpf2EhK6YnHfXWOcspG+9H3ntBZ1BoksFasLj/fVKrQ/3UrW czKknNspwXtevLNNPDU1OdmDrF0csXp9VuAk84Wx04NI8Oa5Zwk06y95FESl7073bs+W Wj9nHKrLmhCoED04iGjxjYQ6YyfNrW6ev2mOG8hG4uCa0vzk09yLZq1s7NaxAmOQgUZJ lqjw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 217.70.189.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from mails.dpdk.org (mails.dpdk.org. [217.70.189.124]) by mx.google.com with ESMTP id m3si20717wmi.68.2021.08.30.09.34.38; Mon, 30 Aug 2021 09:34:38 -0700 (PDT) Received-SPF: pass (google.com: domain of dev-bounces@dpdk.org designates 217.70.189.124 as permitted sender) client-ip=217.70.189.124; Authentication-Results: mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 217.70.189.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 42C5D4113A; Mon, 30 Aug 2021 18:34:34 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mails.dpdk.org (Postfix) with ESMTP id 539604113A for ; Mon, 30 Aug 2021 18:34:33 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C855C1063; Mon, 30 Aug 2021 09:34:32 -0700 (PDT) Received: from qc2400f-1.austin.arm.com (qc2400f-1.austin.arm.com [10.118.12.44]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BF13B3F766; Mon, 30 Aug 2021 09:34:32 -0700 (PDT) From: Honnappa Nagarahalli To: dev@dpdk.org, honnappa.nagarahalli@arm.com, olivier.matz@6wind.com, lucp.at.work@gmail.com, stephen@networkplumber.org, david.marchand@redhat.com, thomas@monjalon.net Cc: ruifeng.wang@arm.com, nd@arm.com Date: Mon, 30 Aug 2021 11:34:13 -0500 Message-Id: <20210830163413.31576-2-honnappa.nagarahalli@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210830163413.31576-1-honnappa.nagarahalli@arm.com> References: <20210730213709.19400-1-honnappa.nagarahalli@arm.com> <20210830163413.31576-1-honnappa.nagarahalli@arm.com> Subject: [dpdk-dev] [PATCH v3 2/2] test/eal: add a test for rte_ctrl_thread_create 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 Sender: "dev" Add a testcase to test launching of control threads. Signed-off-by: Honnappa Nagarahalli --- app/test/test_lcores.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) -- 2.25.1 diff --git a/app/test/test_lcores.c b/app/test/test_lcores.c index 19a7ab9fce..738148f339 100644 --- a/app/test/test_lcores.c +++ b/app/test/test_lcores.c @@ -340,6 +340,44 @@ test_non_eal_lcores_callback(unsigned int eal_threads_count) return -1; } +static void *ctrl_thread_loop(void *arg) +{ + struct thread_context *t = arg; + + printf("Control thread running successfully\n"); + + /* Set the thread state to DONE */ + t->state = DONE; + + return NULL; +} + +static int +test_crtl_thread(void) +{ + struct thread_context ctrl_thread_context; + struct thread_context *t; + + /* Create one control thread */ + t = &ctrl_thread_context; + t->state = INIT; + if (rte_ctrl_thread_create(&t->id, "test_ctrl_threads", + NULL, ctrl_thread_loop, t) != 0) + return -1; + + /* Wait till the control thread exits. + * This also acts as the barrier such that the memory operations + * in control thread are visible to this thread. + */ + pthread_join(t->id, NULL); + + /* Check if the control thread set the correct state */ + if (t->state != DONE) + return -1; + + return 0; +} + static int test_lcores(void) { @@ -367,6 +405,9 @@ test_lcores(void) if (test_non_eal_lcores_callback(eal_threads_count) < 0) return TEST_FAILED; + if (test_crtl_thread() < 0) + return TEST_FAILED; + return TEST_SUCCESS; }