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 57C0D41DAF; Thu, 2 Mar 2023 01:49:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8D78442D3C; Thu, 2 Mar 2023 01:48:15 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 9774241181 for ; Thu, 2 Mar 2023 01:48:03 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id 70D2920BC5E7; Wed, 1 Mar 2023 16:48:02 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 70D2920BC5E7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1677718082; bh=ASMRWJdn838sjBWZbfjcoLnSyNnQA5QEmvBapHrJeVk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TV8/tdCNo7LNgxCnMTH01ne+fH6lL8BOT6l0AUKB8TppxANIY8pABwBZwmLuoUfVg Gg39rzpf5ife+H50/W9E8iHceSBfJouzV4IOFAoDd4qSC6jWR+G8qZ9lpIZuhfXfUh ZWaGHIfjhxd8YYPXugJl4E1XhTQ93dNdSgMDKLU0= From: Tyler Retzlaff To: dev@dpdk.org Cc: Honnappa.Nagarahalli@arm.com, thomas@monjalon.net, Tyler Retzlaff Subject: [PATCH 11/17] net/iavf: use previous value atomic fetch operations Date: Wed, 1 Mar 2023 16:47:42 -0800 Message-Id: <1677718068-2412-12-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1677718068-2412-1-git-send-email-roretzla@linux.microsoft.com> References: <1677718068-2412-1-git-send-email-roretzla@linux.microsoft.com> 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 Use __atomic_fetch_{add,and,or,sub,xor} instead of __atomic_{add,and,or,sub,xor}_fetch when we have no interest in the result of the operation. Reduces unnecessary codegen that provided the result of the atomic operation that was not used. Change brings closer alignment with atomics available in C11 standard and will reduce review effort when they are integrated. Signed-off-by: Tyler Retzlaff --- drivers/net/iavf/iavf_vchnl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c index 9adaadb..73875d7 100644 --- a/drivers/net/iavf/iavf_vchnl.c +++ b/drivers/net/iavf/iavf_vchnl.c @@ -128,7 +128,7 @@ struct iavf_event_handler { int err = pipe(handler->fd); #endif if (err != 0) { - __atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED); + __atomic_fetch_sub(&handler->ndev, 1, __ATOMIC_RELAXED); return -1; } @@ -137,7 +137,7 @@ struct iavf_event_handler { if (rte_ctrl_thread_create(&handler->tid, "iavf-event-thread", NULL, iavf_dev_event_handle, NULL)) { - __atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED); + __atomic_fetch_sub(&handler->ndev, 1, __ATOMIC_RELAXED); return -1; } @@ -533,7 +533,7 @@ struct iavf_event_handler { /* read message and it's expected one */ if (msg_opc == vf->pend_cmd) { uint32_t cmd_count = - __atomic_sub_fetch(&vf->pend_cmd_count, + __atomic_fetch_sub(&vf->pend_cmd_count, 1, __ATOMIC_RELAXED); if (cmd_count == 0) _notify_cmd(vf, msg_ret); -- 1.8.3.1