From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f66.google.com (mail-pg0-f66.google.com [74.125.83.66]) by dpdk.org (Postfix) with ESMTP id 845F91B040 for ; Mon, 8 Jan 2018 18:45:24 +0100 (CET) Received: by mail-pg0-f66.google.com with SMTP id j4so6010256pgp.1 for ; Mon, 08 Jan 2018 09:45:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=gPym4C0rm+NJkpli31eZCtybcWXOEbtxaxkK2cez9GY=; b=fMd285lw6bnGiPQVsgUbSBln9IyYVKOlqeJpccnoBBaBVNkUeFaZujLpgExi/FqzOC Kx3YIphqXI9oavdnDtbTiUzddSIptPZ1d+q4xpIKYOGZWNyPMy0gE/sZGiBDfDehl7oi kihrSP9Kcr5gXyS/W0KAE53iUkduS+I5gUZLClEb4m2RA2uRkS9OTex5DPTxUgtkOAW4 kzFT+w5PxJcisH9m0ybYTPfkt4r5SFGLK62m1AtA6hW88h1t+wU1BeQhzZh+TTjUFKaY FWjl9TbQ08S315V4DMHytIsYSFo1rwgW0C/CZizYLZNb4t7mHLX7303O1gkhpul+//9E OaaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=gPym4C0rm+NJkpli31eZCtybcWXOEbtxaxkK2cez9GY=; b=jR/gjUa0CNJne5y8tbbolXU0JA4SUyeSJdjZsvTg/aH1TCM/GGmuXQg1liN4ZyTgDS M8eADioWjD6unVcHLnbs50KDPg+xrU1V0wLx9XloXz6kPj0MJxc8CDkbGFS1W0trEbey phwKPCyb58gL5MTGmNr2DlCc7j2Jil5tTqpuxCQYbNNqXjyN+rRX3qE5XZx6FZlz42kb xqk9jpjGZ9Iqi86zaVN094il6jseuMO09v1htZ9kQXng9CnDt6r8FXlQtkJEELU9vnIi mUmoWBRIJD5RbwghVYPNp6FA/6EgKeF0XgfiFgyoPmD1L0bNL2alxDq2AXWy+eaW+CbL I39g== X-Gm-Message-State: AKGB3mLNghHuZICcLFQnS07S/19yzqwSsbFkovxjfpwJBxnsYr/rUbj/ pJWn6voGkVCQa43jVFtfs2n1OctNTUM= X-Google-Smtp-Source: ACJfBovAeQoYZ+8WrFuizMS97pWYPNavHe03mVE+JUSIIIjpKBNeBQo3b6jyPXA4elKv62+rE+DAvw== X-Received: by 10.98.247.9 with SMTP id h9mr11404449pfi.77.1515433522847; Mon, 08 Jan 2018 09:45:22 -0800 (PST) Received: from xeon-e3.lan (204-195-18-133.wavecable.com. [204.195.18.133]) by smtp.gmail.com with ESMTPSA id j14sm10933142pfh.94.2018.01.08.09.45.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Jan 2018 09:45:21 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Date: Mon, 8 Jan 2018 09:44:59 -0800 Message-Id: <20180108174514.14688-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.15.1 Subject: [dpdk-dev] [PATCH v3 00/15] common ethdev linkstatus functions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jan 2018 17:45:24 -0000 While reviewing drivers, noticed a lot of unnecessary duplication of code in drivers for handling the eth_dev link status information. While consolidating this, it also became obvious that some drivers behave differently for no good reason. It also was a good chance to introduce atomic exchange primitives in EAL because there are other places using cmpset where not necessary (such as bonding). Mostly only compile tested only, don't have all of the hardware available (except ixgbe and virtio) to test. v3 - align rte_linkstatus_get with rte_atomic64_read - virtio use ETH_SPEED_NUM_10G - add net/ v2 - function names changed - rebased to current master Stephen Hemminger (15): eal: introduce atomic exchange operation ethdev: add linkstatus get/set helper functions net/virtio: use eth_linkstatus_set net/vmxnet3: use rte_eth_linkstatus_set net/dpaa2: use rte_eth_linkstatus_set net/nfp: use rte_eth_linkstatus functions net/e1000: use rte_eth_linkstatus helpers net/ixgbe: use rte_eth_linkstatus functions net/sfc: use new rte_eth_linkstatus functions net/i40e: use rte_eth_linkstatus functions net/liquidio: use _rte_eth_linkstatus_set net/thunderx: use _rte_eth_linkstatus_set net/szedata: use _rte_eth_linkstatus_set net/octeontx: use rte_eth_linkstatus_set net/enic: use _rte_eth_linkstatus_set drivers/net/dpaa2/dpaa2_ethdev.c | 65 ++------------ drivers/net/e1000/em_ethdev.c | 70 ++------------- drivers/net/e1000/igb_ethdev.c | 71 ++-------------- drivers/net/enic/enic_ethdev.c | 5 +- drivers/net/enic/enic_main.c | 16 ++-- drivers/net/i40e/i40e_ethdev.c | 44 ++-------- drivers/net/i40e/i40e_ethdev_vf.c | 19 +---- drivers/net/ixgbe/ixgbe_ethdev.c | 99 ++++------------------ drivers/net/liquidio/lio_ethdev.c | 54 ++---------- drivers/net/nfp/nfp_net.c | 75 ++-------------- drivers/net/octeontx/octeontx_ethdev.c | 16 +--- drivers/net/sfc/sfc_ethdev.c | 27 ++---- drivers/net/sfc/sfc_ev.c | 23 +---- drivers/net/szedata2/rte_eth_szedata2.c | 20 ++--- drivers/net/thunderx/nicvf_ethdev.c | 17 +--- drivers/net/virtio/virtio_ethdev.c | 64 +++----------- drivers/net/vmxnet3/vmxnet3_ethdev.c | 85 ++++--------------- .../common/include/arch/x86/rte_atomic.h | 24 ++++++ .../common/include/arch/x86/rte_atomic_32.h | 12 +++ .../common/include/arch/x86/rte_atomic_64.h | 12 +++ lib/librte_eal/common/include/generic/rte_atomic.h | 78 +++++++++++++++++ lib/librte_ether/rte_ethdev.c | 36 ++++++++ lib/librte_ether/rte_ethdev.h | 28 ++++++ 23 files changed, 303 insertions(+), 657 deletions(-) -- 2.15.1