From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f194.google.com (mail-wr0-f194.google.com [209.85.128.194]) by dpdk.org (Postfix) with ESMTP id AB5E27CE8 for ; Wed, 18 Apr 2018 08:56:46 +0200 (CEST) Received: by mail-wr0-f194.google.com with SMTP id f14-v6so1639770wre.4 for ; Tue, 17 Apr 2018 23:56:46 -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:content-transfer-encoding:in-reply-to :user-agent; bh=l4RaZyrI2qBQGJRrxiqzmmgwXVLHsNg84N9Vg1GwEy0=; b=ewbSMi58CvZ2uWhU+0GSeu7uW69Ky95KEtcBf+ZSyaadhxbEDAjpIRTSWQDpZltgxD po82z04G2aAvdVRTLYjilwWdHnUHJExorYpXP/3JkwGfnYt2YAIg3PyG0/Vb95H2yRxD +gGtWdZUsHOyX2Z+/d7vGy7CMv/yl6s4Qz3IGw7fli8M1otPBzPABwnIbk0BidJOJa8R y2JcrjxHl/csE1KZIkd6CquetW3NWqbaFfxgRfwot7myNXBXGMBTZQC8fVY7fg9PXBLJ PemHQJVs5q6CaNpcvGPzy0zK98xQIm9ex5wiCVouuEG2HK6L5kIBQRYm4N2IeTYZhk7z tgsw== 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:content-transfer-encoding :in-reply-to:user-agent; bh=l4RaZyrI2qBQGJRrxiqzmmgwXVLHsNg84N9Vg1GwEy0=; b=PLhlqYeOIJhW1TLcWg8XrbcoMFD0opBKqQyQpvnVQqDOZLIb2GQ7TmpmlkO7NIKlUf 1D1fw2c1fnG0kHkXsoa40c+V5jyG0eqgn4SDMxaTNwS7ddatwt48iW07YXeRA6gSdIx4 oDkP7XsBQqfrnuQpjm8WqyGjeyccuV1qF+E/AO5xdE5f+gKWk6YoSWPvyARgxwDnUPqf CNx4wlbUgqE0x0dVQBeg/KXPeKNMJ5VJfY8954e7a/yWVo8yt+enGWsJDZ0jULuWGaBB RxFVsCGKpP0JOB9Q7m4aUHIkCTaYH0KYuA0Mh/MsvVeYWGdTn4kDx8FskSEdzDdMrAmz 60Ow== X-Gm-Message-State: ALQs6tDNSJ8MxUD06HR359+vl9NV+iwhO7kvgDs5+bXeXEexxfCNcJyk /sF9o6PkYaMz62gjXxIOJGBF X-Google-Smtp-Source: AIpwx48DdXhvyrvuUGvE/Shz9AWWAuQjLLIIELFEagTNrgvtF1M9naJLMxEYIE2LnoNyrK5o/Z6x6A== X-Received: by 10.28.230.148 with SMTP id e20mr748896wmi.89.1524034606483; Tue, 17 Apr 2018 23:56:46 -0700 (PDT) Received: from laranjeiro-vm.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id m83sm939346wma.17.2018.04.17.23.56.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 17 Apr 2018 23:56:45 -0700 (PDT) Date: Wed, 18 Apr 2018 08:57:20 +0200 From: =?iso-8859-1?Q?N=E9lio?= Laranjeiro To: Xueming Li Cc: Shahaf Shuler , dev@dpdk.org Message-ID: <20180418065720.7casgo4had3dsw2p@laranjeiro-vm.dev.6wind.com> References: <20180413112023.106420-1-xuemingl@mellanox.com> <20180417151436.161374-9-xuemingl@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180417151436.161374-9-xuemingl@mellanox.com> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [dpdk-dev] [PATCH v4 08/11] net/mlx5: add hardware flow debug dump 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: Wed, 18 Apr 2018 06:56:46 -0000 On Tue, Apr 17, 2018 at 11:14:33PM +0800, Xueming Li wrote: > Dump verb flow detail including flow spec type and size for debugging > purpose. > > Signed-off-by: Xueming Li > --- > drivers/net/mlx5/mlx5_flow.c | 68 ++++++++++++++++++++++++++++++++++++------- > drivers/net/mlx5/mlx5_rxq.c | 25 +++++++++++++--- > drivers/net/mlx5/mlx5_utils.h | 6 ++++ > 3 files changed, 85 insertions(+), 14 deletions(-) > > diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c > index a6791c525..371d029c8 100644 > --- a/drivers/net/mlx5/mlx5_flow.c > +++ b/drivers/net/mlx5/mlx5_flow.c > @@ -2050,6 +2050,57 @@ mlx5_flow_create_update_rxqs(struct rte_eth_dev *dev, struct rte_flow *flow) > } > > /** > + * Dump flow hash RX queue detail. > + * > + * @param dev > + * Pointer to Ethernet device. > + * @param flow > + * Pointer to the rte_flow. > + * @param i > + * Hash RX queue index. > + */ > +static void > +mlx5_flow_dump(struct rte_eth_dev *dev __rte_unused, > + struct rte_flow *flow __rte_unused, > + unsigned int i __rte_unused) Can this "i" be renamed to hrxq_idx to have something more understandable across the code? > +{ > +#ifndef NDEBUG > + uintptr_t spec_ptr; > + uint16_t j; > + char buf[256]; > + uint8_t off; > + > + spec_ptr = (uintptr_t)(flow->frxq[i].ibv_attr + 1); > + for (j = 0, off = 0; j < flow->frxq[i].ibv_attr->num_of_specs; > + j++) { > + struct ibv_flow_spec *spec = (void *)spec_ptr; > + off += sprintf(buf + off, " %x(%hu)", spec->hdr.type, > + spec->hdr.size); > + spec_ptr += spec->hdr.size; > + } > + DRV_LOG(DEBUG, > + "port %u Verbs flow %p type %u: hrxq:%p qp:%p ind:%p, hash:%lx/%u" > + " specs:%hhu(%hu), priority:%hu, type:%d, flags:%x," > + " comp_mask:%x specs:%s", > + dev->data->port_id, (void *)flow, i, > + (void *)flow->frxq[i].hrxq, > + (void *)flow->frxq[i].hrxq->qp, > + (void *)flow->frxq[i].hrxq->ind_table, > + flow->frxq[i].hash_fields | > + (flow->tunnel && > + flow->rss_conf.level > 1 ? (uint32_t)IBV_RX_HASH_INNER : 0), > + flow->rss_conf.queue_num, > + flow->frxq[i].ibv_attr->num_of_specs, > + flow->frxq[i].ibv_attr->size, > + flow->frxq[i].ibv_attr->priority, > + flow->frxq[i].ibv_attr->type, > + flow->frxq[i].ibv_attr->flags, > + flow->frxq[i].ibv_attr->comp_mask, > + buf); > +#endif >[...] Thanks, -- Nélio Laranjeiro 6WIND