From patchwork Wed Nov 4 17:03:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 83691 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DE701A04B1; Wed, 4 Nov 2020 18:03:22 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BA4DE326C; Wed, 4 Nov 2020 18:03:21 +0100 (CET) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by dpdk.org (Postfix) with ESMTP id 6CEEC2C7A for ; Wed, 4 Nov 2020 18:03:19 +0100 (CET) Received: by mail-pg1-f196.google.com with SMTP id e21so86440pgr.11 for ; Wed, 04 Nov 2020 09:03:19 -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:mime-version :content-transfer-encoding; bh=MwVivFl7erustv6uk3unmyi/48UtxVNlIrulWmzdpII=; b=0UI8GMeXdwEnij+nUrkL0EHiWEKcHxdoj0XEAtNqPGClDzJVYxUSqeZxBCMtsKCKuh K9/1EN8Szi+YxWdU107MlAnui7ZWLJUuyPDcrg62pCRZsd5NB5MeeuJ6lbuKDEpaueRD zePJwOk2pi2LigxynpZnL3bKAfIOVopfC6GTI5UVuTsKxtF3ui5PEYLnprPt3rdhCBaw NGZHINkpFttQ/j1Jtv3d+T15DDRkuN7XV5AbWpHN1pmla+oB9iFz7XMkOMIckaaHBRwz zewNOu1J+sPV5EkMRshad9wZDvZu3u8VwfTnzVZ0f0qx/ShotueHdp7cfw1XRlDDiJb+ gzng== 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:mime-version :content-transfer-encoding; bh=MwVivFl7erustv6uk3unmyi/48UtxVNlIrulWmzdpII=; b=qvO/8cY0inspSrP3Wbom8d3OyAwWeHFpNjjpulqmg/jnNCHXKBMcAc5X2I0KdmFdqs 3QQ5vE36C1LNFFIiGy8T/VDfqGI8h4tINfCdGgFvIqNLhB6T035k/WvApQ8yve+YvsH1 SwhnJvSjVgOILkYjML5EQD3gsiaEfULWZu+OcCg5eKgunbxKbeooZDo2dP9ofkq7JnuI 3+mxjEhgQK9b+Pkw5G1+H5qaRyETjz72gbb71VzmtEwFkDAqBGR7m3LqZfHYXP21R4uy asaF+n+S2LFiWJ+pf1T2SXjiOHV9MWmKetSzRGLQ+Wl1ojretnLqlZlnp8OlCn1f+4E+ NJlw== X-Gm-Message-State: AOAM531cskoG/vrV1vKoP5CU/sZTKTNWeKH1ukEQkRqXT6QIsWy603Ke crTZWBjqDpM4fJhllNZTS7cfVQ== X-Google-Smtp-Source: ABdhPJy1D5Dzta2ApeV48DGoRG4whKQ/8gpdsFv8GMHMvniz4Br7URuQaaFmp0onYvoC2lB5Hr0XWQ== X-Received: by 2002:a63:dc41:: with SMTP id f1mr21920033pgj.342.1604509398691; Wed, 04 Nov 2020 09:03:18 -0800 (PST) Received: from hermes.local (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id k6sm3021340pfg.51.2020.11.04.09.03.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 09:03:17 -0800 (PST) From: Stephen Hemminger To: ajit.khaparde@broadcom.com, somnath.kotur@broadcom.com Cc: dev@dpdk.org, Stephen Hemminger Date: Wed, 4 Nov 2020 09:03:10 -0800 Message-Id: <20201104170310.2509-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH] net/bnxt: remove useless prefetches 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Prefetching only helps performance if it is done several 100 instructions before the actual use. The purpose of the prefetch is to read ahead, it doesn't help if the next instruction will block. The code in the bnxt driver was doing these unnecessary prefetches. Signed-off-by: Stephen Hemminger Acked-by: Lance Richardson --- drivers/net/bnxt/bnxt_rxr.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c index 2645ed61f402..140d79e0e829 100644 --- a/drivers/net/bnxt/bnxt_rxr.c +++ b/drivers/net/bnxt/bnxt_rxr.c @@ -305,7 +305,6 @@ static inline struct rte_mbuf *bnxt_tpa_end( mbuf = tpa_info->mbuf; RTE_ASSERT(mbuf != NULL); - rte_prefetch0(mbuf); if (agg_bufs) { bnxt_rx_pages(rxq, mbuf, raw_cp_cons, agg_bufs, tpa_info); } @@ -733,8 +732,6 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt, if (mbuf == NULL) return -EBUSY; - rte_prefetch0(mbuf); - mbuf->data_off = RTE_PKTMBUF_HEADROOM; mbuf->nb_segs = 1; mbuf->next = NULL; @@ -867,7 +864,6 @@ uint16_t bnxt_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, /* Handle RX burst request */ while (1) { cons = RING_CMP(cpr->cp_ring_struct, raw_cons); - rte_prefetch0(&cpr->cp_desc_ring[cons]); rxcmp = (struct rx_pkt_cmpl *)&cpr->cp_desc_ring[cons]; if (!CMP_VALID(rxcmp, raw_cons, cpr->cp_ring_struct))