From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f65.google.com (mail-pg0-f65.google.com [74.125.83.65]) by dpdk.org (Postfix) with ESMTP id 869F51B014 for ; Sat, 6 Jan 2018 02:06:59 +0100 (CET) Received: by mail-pg0-f65.google.com with SMTP id q12so2620980pgt.7 for ; Fri, 05 Jan 2018 17:06:59 -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=q83asZTE+ObPj1zJhby14cw/k7toHQSuag/0RKneup8=; b=B01zHxOV900UGWTI47o/oblBNhyYL/SiVVfGEWFTmbV4F5GkoaZWPwSsvwVvZ1Jg6Q TbzDMr9bzwNWdKynvWl1RaFYjMS5Prn6xENMjeGYgqO8olnDh1Kzrgd3kgIooP7TNYn0 oPIHOI4I+J9yihOxERBvhWlNLK7zNaz8+EAVWRNp4tx604iu3C6EOi7giaeTMCfSPPHA qgFKzRen2sUJwvAOsKoKXkvbV98gxekRHRStSVPJzeYCITDuAWFdeK5QaxvUVv1p26Ir 0n9BBOQ6RAJuCSjRywTm9RqRFVoIWS4+mU0hTklXWeXiS5IB0iB/T+3uMe3tMJGYz3pg CNqQ== 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=q83asZTE+ObPj1zJhby14cw/k7toHQSuag/0RKneup8=; b=PSOwAOaJa5q/X7li/3c69YPnVaUYTGXLbRc1rYdj3CROl9VtlXgFZM1n1Gtlztamnl jOnxRaPAMWUj4CNDvjLE4zXWlEstl0pnXjK+Re+IcXC7bG4T/Y496jP6rhtU2ORHEMMW WItMe1Mg8rpr2ncPeJQJRG5FOn1TskGyeEacebxFZ69A6yJIj7J/Zm7JScTYiF1TP9Dd I7sltBsbaYu5KJkT/7HW9nfeJUhuPNfQebZtDLGDjmo+XnmvDDu+JVDPIi9qTaWMaYVg FyzfWef+knGz0ygJCySeB3NXuCLbmkHtRZfeFtLOHKeFkr6c9BjTIxs5YwIFYEKGjKc8 MJYw== X-Gm-Message-State: AKGB3mKEA2nv3DevvdDyeuy93wO+OJ7+qVlAOBJvErrazqCKZlRY3LVK f/zMXAZBp06C230W6ojMiwdoSVebPaQ= X-Google-Smtp-Source: ACJfBostwc3aNeMB4fqyknrbfM9ZzgEzTrGjcKNdmaXFdLdjC11c427y0hcCHeZBmJR4k/VzLPB5/w== X-Received: by 10.101.98.216 with SMTP id m24mr3905584pgv.100.1515200818158; Fri, 05 Jan 2018 17:06:58 -0800 (PST) Received: from xeon-e3.lan (204-195-18-133.wavecable.com. [204.195.18.133]) by smtp.gmail.com with ESMTPSA id p14sm12385018pgn.37.2018.01.05.17.06.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 Jan 2018 17:06:57 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Date: Fri, 5 Jan 2018 17:06:41 -0800 Message-Id: <20180106010656.9167-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.15.1 Subject: [dpdk-dev] [PATCH v2 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: Sat, 06 Jan 2018 01:06:59 -0000 While writing the hyperv driver, 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. The difference from v1 is that function name changed, rebasing to current source and the introduction of atomic exchange. Stephen Hemminger (15): eal: introduce atomic exchange operation ethdev: add linkstatus get/set helper functions virtio: use eth_linkstatus_set vmxnet3: use rte_eth_linkstatus_set dpaa2: use rte_eth_linkstatus_set nfp: use rte_eth_linkstatus functions e1000: use rte_eth_linkstatus helpers ixgbe: use rte_eth_linkstatus functions sfc: use new rte_eth_linkstatus functions i40e: use rte_eth_linkstatus functions liquidio: use _rte_eth_linkstatus_set thunderx: use _rte_eth_linkstatus_set szedata: use _rte_eth_linkstatus_set octeontx: use rte_eth_linkstatus_set 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 | 67 +++------------ 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 | 35 ++++++++ lib/librte_ether/rte_ethdev.h | 28 ++++++ 23 files changed, 305 insertions(+), 657 deletions(-) -- 2.15.1