From patchwork Thu Oct 19 16:11:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrien Mazarguil X-Patchwork-Id: 30600 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A17721B25F; Thu, 19 Oct 2017 18:11:19 +0200 (CEST) Received: from mail-wr0-f195.google.com (mail-wr0-f195.google.com [209.85.128.195]) by dpdk.org (Postfix) with ESMTP id 015E71B259 for ; Thu, 19 Oct 2017 18:11:17 +0200 (CEST) Received: by mail-wr0-f195.google.com with SMTP id l1so8878519wrc.3 for ; Thu, 19 Oct 2017 09:11:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=+FSuwZ/0XNClg9v8nKHB7qDyPedUNt409kOudBSZvRQ=; b=na47o9zd2AdqVfqVDOjR0SyHxmDh3U3DSFcStLvPepn9feDmllvO7oUmarRy435CQl DGKKfpPQIqCi/hz7tgVpI9SNXcPWZEukp+CMUy9Pyo2Y8S63AzQcN4mfZfrdQDmLBzxJ iAgLeWz6M0+vwLSP4gADesx6mEGB7Wlo4CJ8M/4qHsB2nvQL0YFg08olJrY1q4+qEhYg ySi5nhxhWC+X1oxiNDmtKCWFX1bqQYyNMRVOMUrohjvvh6j9WJySzzj8Nb8EkGaAzy2N +eX08JzS2deDbs9mNqzjm1t1S8lr/6FMNTEavDW36GgR0IWvoOlhl8DI+zFsJWMvefrG tPkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=+FSuwZ/0XNClg9v8nKHB7qDyPedUNt409kOudBSZvRQ=; b=OK4jOwV+KTVjSP3G4gAWjB8L62UE4euzQFtAMvQYHL4yR8LWSDFcps2xqiDVUoaCxf fU2Ji3xk9O9jLJr1jlco6ZKamYn4ZXCGqox3qcvWoN3UmhpmbgWIjWtbCo5p91WZ95ci zFUTbOMPpEhNRQ887xv+znfxSmI6wa0Juev4vu085iOXKRWT7VvspjZ0X8N3ZZw3QUwj nYBPBf/9p4wLH2RpilGw3mwuUJNERDui8xUTf61pS6LSxvxNYLSQO7UHVF3WFN9cJiBL iZBtizd5dWQwmwrB9QEtZIVlzYC27RZLPU3JX1kdPlHGCRQFbVOXQKTf/BJr7xXUZ6WH 1nPQ== X-Gm-Message-State: AMCzsaWJzmR9cpX/G5xBV+S5ejutJducDMEIJ0yAc3x338c6g+fpcAXW wzicXjpPsbGETbmBj1wvquYK4w== X-Google-Smtp-Source: ABhQp+T+C2YN+8CXZej89L8SQ0OX4ZrVp6OwlALzx4QfTmC0dTFVS1FQ8jsK4lfDLPoXx0WgmWmnYA== X-Received: by 10.223.157.141 with SMTP id p13mr2199646wre.92.1508429476711; Thu, 19 Oct 2017 09:11:16 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id l80sm1862881wmb.2.2017.10.19.09.11.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Oct 2017 09:11:15 -0700 (PDT) Date: Thu, 19 Oct 2017 18:11:05 +0200 From: Adrien Mazarguil To: Ferruh Yigit Cc: Nelio Laranjeiro , dev@dpdk.org Message-ID: <1508429034-27506-3-git-send-email-adrien.mazarguil@6wind.com> References: <1508429034-27506-1-git-send-email-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1508429034-27506-1-git-send-email-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.1.4 Subject: [dpdk-dev] [PATCH v1 2/4] net/mlx4: fix useless flow rules synchronization 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" According to the original commit, Rx queues cannot be created nor destroyed while the device is started. Synchronizing flow rules during such events is unnecessary as it occurs later when starting the device. Fixes: 79770826499b ("net/mlx4: drop live queue reconfiguration support") Signed-off-by: Adrien Mazarguil Acked-by: Nelio Laranjeiro --- drivers/net/mlx4/mlx4_rxq.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c index 6fa48bc..65cf123 100644 --- a/drivers/net/mlx4/mlx4_rxq.c +++ b/drivers/net/mlx4/mlx4_rxq.c @@ -407,7 +407,6 @@ mlx4_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, struct mlx4dv_cq dv_cq; uint32_t mb_len = rte_pktmbuf_data_room_size(mp); struct rte_mbuf *(*elts)[rte_align32pow2(desc)]; - struct rte_flow_error error; struct rxq *rxq; struct mlx4_malloc_vec vec[] = { { @@ -609,19 +608,11 @@ mlx4_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, } DEBUG("%p: adding Rx queue %p to list", (void *)dev, (void *)rxq); dev->data->rx_queues[idx] = rxq; - /* Enable associated flows. */ - ret = mlx4_flow_sync(priv, &error); - if (!ret) { - /* Update doorbell counter. */ - rxq->rq_ci = desc >> rxq->sges_n; - rte_wmb(); - *rxq->rq_db = rte_cpu_to_be_32(rxq->rq_ci); - return 0; - } - ERROR("cannot re-attach flow rules to queue %u" - " (code %d, \"%s\"), flow error type %d, cause %p, message: %s", - idx, -ret, strerror(-ret), error.type, error.cause, - error.message ? error.message : "(unspecified)"); + /* Update doorbell counter. */ + rxq->rq_ci = desc >> rxq->sges_n; + rte_wmb(); + *rxq->rq_db = rte_cpu_to_be_32(rxq->rq_ci); + return 0; error: dev->data->rx_queues[idx] = NULL; ret = rte_errno; @@ -654,7 +645,6 @@ mlx4_rx_queue_release(void *dpdk_rxq) priv->dev->data->rx_queues[i] = NULL; break; } - mlx4_flow_sync(priv, NULL); mlx4_rxq_free_elts(rxq); if (rxq->wq) claim_zero(ibv_destroy_wq(rxq->wq));