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 B30DD276C for ; Sat, 15 Jul 2017 13:17:53 +0200 (CEST) Received: by mail-pg0-f66.google.com with SMTP id d193so13541045pgc.2 for ; Sat, 15 Jul 2017 04:17:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=866oH6j4jrhKTAE1rI7ZJzjyfM6jdoMi1lnkyEyNOhU=; b=gf+RdpH8sVjccMXGsNaK+G0sGCwfFFnPSM/trZaic1mFDwo7gnh+P29DXSHKbuG6mI l79i1Ot/Ac7GgYuzvEehkgl7CsAERX0GhtHj3DwtHXvSSZGewYD7qHCR+CXaIFzgQmSN ekWUcWtn/UFmYUnOaB/Jiu0MvbjNVmXshhGkJqWeaElWvEKCXeQFPGvvWxlACPP7Hhj/ mQxqX1MBAi3YB++xPs3Sa2tFFVIfV1pxnATV3oOrgbSRlgBKV1svuKogq6VQ2CazHCuP kXosQH80JFZDLoaA6+X+RDufVmmfPYfvATxHNHm0P8tFE0Wz3ODhwN7wALAIeeEkQqcB m6Yg== 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=866oH6j4jrhKTAE1rI7ZJzjyfM6jdoMi1lnkyEyNOhU=; b=hKAQRjK7Egt9ID0MYKSrXtUhG1JMCgd4oIGax3N7O5SR37XuIZBpD20y1/iQsL4v7y tbdBYquzRauTdHd+2N4DYLwWZDi2A1Ijb8sOLtqeOBoCK/Gx8VQ4SfOjsoSfEF4okoFI uHXSwOp0WtahrvQ2YJq0pp50wtxwBXZonLctzz670mWct7779a9r9tdC0fpkWkctJS8h COZLiy4HMT1HW5ASbFIYD04htFvi5YdvLWtG5nIS+26dpnwHK1Kn8XHZbaZsULtEK+uQ /6mPC9Ch2yg2J8Bd0p5Xm6PlyowYtry9IfK+XOaE2BABHlo8SkKkY9rJhfdruefoCir3 1Zjw== X-Gm-Message-State: AIVw111de6gaucD2m5JNu7HLRuAtr2to17saSKyMjtFFBbCYyGKKrOTH U9Ir4NCxmOchmOV5nqMqcg== X-Received: by 10.98.71.212 with SMTP id p81mr10062930pfi.106.1500117472819; Sat, 15 Jul 2017 04:17:52 -0700 (PDT) Received: from localhost.localdomain ([45.63.61.64]) by smtp.gmail.com with ESMTPSA id k194sm19000874pgc.31.2017.07.15.04.17.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 15 Jul 2017 04:17:51 -0700 (PDT) From: Yuanhan Liu To: Declan Doherty Cc: dpdk stable Date: Sat, 15 Jul 2017 19:17:07 +0800 Message-Id: <1500117433-28932-1-git-send-email-yliu@fridaylinux.org> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-stable] patch 'net/bonding: change link status check to no-wait' has been queued to LTS release 16.11.3 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2017 11:17:54 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/19/17. So please shout if anyone has objections. Thanks. --yliu --- >>From 0b7aebc7b297115da1a0b83b7984a0fafc4942fc Mon Sep 17 00:00:00 2001 From: Declan Doherty Date: Wed, 28 Jun 2017 11:15:50 +0100 Subject: [PATCH] net/bonding: change link status check to no-wait [ upstream commit 8ae9c69a2b7d36ca9283748f37c4aa8da06a3b6c ] In 2 modes (802.3ad and TLB) of the link bonding driver, monitoring of link status is used to determine the active slaves to use. These functions are currently using the rte_link_link_get which could block for up to 9 seconds, depending on the slave device. In the 802.3ad periodic callback and in the TLB slave callback the link status of slaves are checked using rte_eth_link_get function. This patch changes to the no-wait version of the link get function to avoid the possible issues which could be introduced if this call was to block for an extended period of time. Fixes: 46fb43683679 ("bond: add mode 4") Fixes: 7c76a747e68c ("bond: add mode 5") Signed-off-by: Declan Doherty --- drivers/net/bonding/rte_eth_bond_8023ad.c | 2 +- drivers/net/bonding/rte_eth_bond_pmd.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c index aa84b93..b4a1e72 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.c +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c @@ -758,7 +758,7 @@ bond_mode_8023ad_periodic_cb(void *arg) uint16_t key; slave_id = internals->active_slaves[i]; - rte_eth_link_get(slave_id, &link_info); + rte_eth_link_get_nowait(slave_id, &link_info); rte_eth_macaddr_get(slave_id, &slave_addr); if (link_info.link_status != 0) { diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index aa71e3f..71316b4 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -643,7 +643,7 @@ bandwidth_left(uint8_t port_id, uint64_t load, uint8_t update_idx, { struct rte_eth_link link_status; - rte_eth_link_get(port_id, &link_status); + rte_eth_link_get_nowait(port_id, &link_status); uint64_t link_bwg = link_status.link_speed * 1000000ULL / 8; if (link_bwg == 0) return; -- 2.7.4