From patchwork Mon Aug 23 05:49:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joyce Kong X-Patchwork-Id: 97196 X-Patchwork-Delegate: thomas@monjalon.net 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 841C3A0C56; Mon, 23 Aug 2021 07:50:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A57CE41135; Mon, 23 Aug 2021 07:50:19 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mails.dpdk.org (Postfix) with ESMTP id B60A641124 for ; Mon, 23 Aug 2021 07:50:17 +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 15DBB1FB; Sun, 22 Aug 2021 22:50:17 -0700 (PDT) Received: from net-arm-n1sdp.shanghai.arm.com (net-arm-n1sdp.shanghai.arm.com [10.169.208.222]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B1E3E3F5A1; Sun, 22 Aug 2021 22:50:14 -0700 (PDT) From: Joyce Kong To: Nicolas Chautru Cc: dev@dpdk.org, thomas@monjalon.net, david.marchand@redhat.com, honnappa.nagarahalli@arm.com, ruifeng.wang@arm.com, nd@arm.com Date: Mon, 23 Aug 2021 00:49:45 -0500 Message-Id: <20210823054952.15001-2-joyce.kong@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210823054952.15001-1-joyce.kong@arm.com> References: <20210823054952.15001-1-joyce.kong@arm.com> Subject: [dpdk-dev] [PATCH v2 1/8] examples/bbdev_app: use compiler atomics for flag sync 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" Convert rte_atomic usages to compiler atomic built-ins for global_exit_flag sync. Signed-off-by: Joyce Kong Reviewed-by: Ruifeng Wang --- examples/bbdev_app/main.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/examples/bbdev_app/main.c b/examples/bbdev_app/main.c index 5251db0b16..75c620ea75 100644 --- a/examples/bbdev_app/main.c +++ b/examples/bbdev_app/main.c @@ -18,7 +18,6 @@ #include #include -#include #include #include #include @@ -167,7 +166,7 @@ static const struct app_config_params def_app_config = { .num_dec_cores = 1, }; -static rte_atomic16_t global_exit_flag; +static uint16_t global_exit_flag; /* display usage */ static inline void @@ -279,7 +278,7 @@ static void signal_handler(int signum) { printf("\nSignal %d received\n", signum); - rte_atomic16_set(&global_exit_flag, 1); + __atomic_store_n(&global_exit_flag, 1, __ATOMIC_RELAXED); } static void @@ -328,7 +327,7 @@ check_port_link_status(uint16_t port_id) fflush(stdout); for (count = 0; count <= MAX_CHECK_TIME && - !rte_atomic16_read(&global_exit_flag); count++) { + !__atomic_load_n(&global_exit_flag, __ATOMIC_RELAXED); count++) { memset(&link, 0, sizeof(link)); link_get_err = rte_eth_link_get_nowait(port_id, &link); @@ -682,7 +681,7 @@ stats_loop(void *arg) { struct stats_lcore_params *stats_lcore = arg; - while (!rte_atomic16_read(&global_exit_flag)) { + while (!__atomic_load_n(&global_exit_flag, __ATOMIC_RELAXED)) { print_stats(stats_lcore); rte_delay_ms(500); } @@ -928,7 +927,7 @@ processing_loop(void *arg) const bool run_decoder = (lcore_conf->core_type & (1 << RTE_BBDEV_OP_TURBO_DEC)); - while (!rte_atomic16_read(&global_exit_flag)) { + while (!__atomic_load_n(&global_exit_flag, __ATOMIC_RELAXED)) { if (run_encoder) run_encoding(lcore_conf); if (run_decoder) @@ -1062,7 +1061,7 @@ main(int argc, char **argv) .align = __alignof__(struct rte_mbuf *), }; - rte_atomic16_init(&global_exit_flag); + __atomic_store_n(&global_exit_flag, 0, __ATOMIC_RELAXED); sigret = signal(SIGTERM, signal_handler); if (sigret == SIG_ERR)