From mboxrd@z Thu Jan 1 00:00:00 1970 From: xiangxia.m.yue@gmail.com Subject: [PATCH net-next v4 1/4] net/ixgbevf: set the interrupt interval for EITR Date: Fri, 27 Apr 2018 20:03:37 -0700 Message-ID: <1524884620-64598-2-git-send-email-xiangxia.m.yue@gmail.com> References: <1524884620-64598-1-git-send-email-xiangxia.m.yue@gmail.com> Cc: dev@dpdk.org, Tonghao Zhang To: qi.z.zhang@intel.com, ferruh.yigit@intel.com, helin.zhang@intel.com, beilei.xing@intel.com, wei.dai@intel.com Return-path: Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by dpdk.org (Postfix) with ESMTP id B08B16CA2 for ; Sat, 28 Apr 2018 05:03:54 +0200 (CEST) Received: by mail-pf0-f193.google.com with SMTP id o76so2788639pfi.5 for ; Fri, 27 Apr 2018 20:03:54 -0700 (PDT) In-Reply-To: <1524884620-64598-1-git-send-email-xiangxia.m.yue@gmail.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Tonghao Zhang Set EITR interval as default. This patch can improve the performance when we enable the rx-interrupt to process the packets because we hope rx-interrupt reduce CPU. For example, the 200us value of EITR makes the performance better with the low CPU. The default value of ITR is 500us, compatible with RSC of ixgbe PF, and next patch will use the default value. Signed-off-by: Tonghao Zhang --- drivers/net/ixgbe/ixgbe_ethdev.c | 7 +++++++ drivers/net/ixgbe/ixgbe_ethdev.h | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 6088c7e..bdede8b 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -5803,6 +5803,13 @@ static void ixgbevf_set_vfta_all(struct rte_eth_dev *dev, bool on) if (vector_idx < base + intr_handle->nb_efd - 1) vector_idx++; } + + /* As RX queue setting above show, all queues use the vector 0. + * Set only the ITR value of IXGBE_MISC_VEC_ID. + */ + IXGBE_WRITE_REG(hw, IXGBE_VTEITR(IXGBE_MISC_VEC_ID), + IXGBE_EITR_INTERVAL_US(IXGBE_QUEUE_ITR_INTERVAL_DEFAULT) + | IXGBE_EITR_CNT_WDIS); } /** diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h index cc512d6..e42ec30 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.h +++ b/drivers/net/ixgbe/ixgbe_ethdev.h @@ -62,6 +62,7 @@ (((us) * 1000 / IXGBE_EITR_INTERVAL_UNIT_NS << IXGBE_EITR_ITR_INT_SHIFT) & \ IXGBE_EITR_ITR_INT_MASK) +#define IXGBE_QUEUE_ITR_INTERVAL_DEFAULT 500 /* 500us */ /* Loopback operation modes */ /* 82599 specific loopback operation types */ -- 1.8.3.1