From patchwork Tue Jun 26 11:37:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 41562 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 9D5ED1B435; Tue, 26 Jun 2018 13:37:44 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50056.outbound.protection.outlook.com [40.107.5.56]) by dpdk.org (Postfix) with ESMTP id 08E631B3B6 for ; Tue, 26 Jun 2018 13:37:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=beimZS+QHAbws+FEEmEmyJwUpKBHWo2XMnJ9FvvGAiM=; b=hI6/D0PqhPFoPuDvf06wiM7pQd9dG8reakX913Lbtva39birGzlJS9CNg/Yksd5FIUACrNdKvSCxTCnSArnJm4W410MElmZjk8kh6gDpDbttNF7EvrSqVFB1lsflps8qOsxORZ0tuTtMdBs9+gI/4CHvudm8Pooc/OMJEJzxsmI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by DB6PR0501MB2038.eurprd05.prod.outlook.com (2603:10a6:4:6::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Tue, 26 Jun 2018 11:37:41 +0000 From: Yongseok Koh To: adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Cc: dev@dpdk.org, shahafs@mellanox.com, Yongseok Koh Date: Tue, 26 Jun 2018 04:37:20 -0700 Message-Id: <20180626113723.33035-1-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: BYAPR07CA0040.namprd07.prod.outlook.com (2603:10b6:a03:60::17) To DB6PR0501MB2038.eurprd05.prod.outlook.com (2603:10a6:4:6::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 86af0f74-5102-4f64-5832-08d5db593ac2 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DB6PR0501MB2038; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 3:Db2KpJE9dj6jYZIobfu8nyNlP2G6HnEga48sxQQepkIBS6fKX23CIUe8XBRopff+DXpHgYzCR3dpaEqPGpElIwWwUgBKkOsDn+1gMLUahfdsmVUFkzffI/RpBh/6E2zMtZlHfmcm9xEnXy04BsON9HbjkN3QGa2Mu5sBNaCD2BHirEm2nfFeYdHn+2Aq2TJJrA+qLzhayUQbKs794OJKmWa6dtdBRHOT4+t2r9E5mR1Z7VfmZKVhARgaodNvOkYj; 25:pkENNklc10sP3/4OKQgKJ7niZkZWZuA+2u3sbHTSEOceZQyJdovnn0XsPVI1lYeWI3kAcaAcIObzL7dVl3Cop3mE8s23X/dBRMFQc0O1zUzeOhALOIsDiRp92i9iUD+t/dZOJmGlgdEn7rKBFzy0gmiisXf740NqkQA4IZ+kO9eKq9MIRJO3+M9eyM5hDxGvMO6fDTFfS/pvwlLBCig9EDbiW8jdzfhoC2OHn8/xdWgJwEQSD0ealpNSSxFDwRqdO2GaotjFu9H/zUun9C3lSKTQkQ6dfEiGhFfPZg3YlRxFwHqbTzRG58wfHUS1z2eDg+XkdpnFeHPPxtVbroKXCA==; 31:Tm1+Q7qv03CY0DU1z7Wz4xudLYvAmQyqzUEDVb1E0QPmop7Tbp6QV0vcMOuFerLeM4NEk0jRSVu7oPEbaRqeUrSgTAoFhTqYvK+MeT/6hhfI3z4yzlND0P9BHU9WrdjKW5a9Cb1fQMykyGvkEmkYdhhiMZYAiWE9CLlB47aa9mGOlk8A6DkjfOLgewPftvpba69PR9pdZdo1Tp3MzXEBYBjaJLMPzb+HtwoCWgLkLRk= X-MS-TrafficTypeDiagnostic: DB6PR0501MB2038: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 20:PVi9X7/+IlJ8hHsfN+WrytRagMLxD5cgzNun64Yap+ZxYuZ38setwl0/L+kQqvIUociGKsH1I9fKda1DYPpFjwAH7EbtG7EHRnNCX07o01qhvKyvCF1PqvKNnwjsTyNyzzEmWID/iR7ljG3tHWhdD8lVtF1zDe9eRVruBNrsTOxu/5NNI1iEx46CqHNDBbgj5TVzgahGd7fg/h1Ga1/cVZdINwPyjaR2zKj69n8I1ijtrn+I8h5p2o+wG3dCpPWLo0DYMoLV4dhew/Nzh+geJZrpjtsLz7gYqaoPnFhIQZQrbUlz8HRSJG/PMEpbvzL2Ckkq0wHieL28JDTZMh9zVRzig5uYlhIIsU5dJtLotTDJHXWxRFw83U8lTI9mux5hHPFkE4QiD+npnifQM1k6eFxqUP1J2zLzO1VAndKs38qQ9R9GtCq6qmDZLrmI9YAfgP26+gqb89/tlY57qlUYT65s+Ufmr1l71vTdIay/8uD6n2gmBNJcOAKscRywiu6p; 4:uDfBP2ieN3b6iPaW+fNoMBvVWDaZWQ2PBM4NuzKow3gGK2DFYbV0atJooowsRBkvKf7vwIOYNaUQiAkjLVXq5hXEwCcAEYBm7JmTmMAoTCrXRIMe+qeW3qpnjgJIkLkrRBiMKauH0GFwmx6zPsLcWpJkBA7FlycL6RHO+tEhj26cEeFYU/kTNAez6Gfg/fOX19WNYeOaUNxAa322ofTNrN15LhsQxfTN/mfgjCIsvRrkJOczp1t/tKtvBVqxfBpaNcSbj+XbQL77b/QEJROyOyj4MJmJwv7Uq6QhqAFUiuVKTv9PFA8iHcJa7CPwf72g X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DB6PR0501MB2038; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0501MB2038; X-Forefront-PRVS: 071518EF63 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(39860400002)(366004)(346002)(376002)(396003)(199004)(189003)(16526019)(48376002)(16586007)(26005)(386003)(86362001)(50466002)(97736004)(6666003)(186003)(50226002)(53936002)(486006)(36756003)(21086003)(316002)(105586002)(51416003)(55016002)(7696005)(106356001)(107886003)(52116002)(956004)(476003)(5660300001)(4326008)(2616005)(68736007)(25786009)(8936002)(6116002)(478600001)(3846002)(81156014)(81166006)(1076002)(7736002)(8676002)(305945005)(2906002)(69596002)(47776003)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0501MB2038; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2038; 23:26CGkbNXhlzbAU27slxMYecssLjm650y6ZI2fjC?= sOw4MpNeO6XlwJAMIQ7SY9CFDAhpSRhNHFxvTseW9HISiyjLeMWuuwM1Gc9SqzMS+SC0KCoH2fAeJ+t8/x0IMdojxUQSKZjm884qUVBbr0k/YuTBeaIT/5/9shs09dgHLNsD6xYie7QMyQ+yOJbpdlpaFzyj1dUIf59/68abUzFRe5j/rjHMeahSun7Rh+aBhSzWsf7Yz4sItlAYKio6ULvno+m8zwhWt0eP0+iuPNU8Wogxz0jIj0/d6E49rC1OpHIxULS/ZghHevsYUoZpxZ+Mdb+u7zkV5WJbYzx75gbHJ/FQwhs8Raus/SYJW6G6mPuFmrDDQQ/+0VnWdyz2CrvfADEgkzKdm6eKyssaZ1IXTZ+KneE4EaKLZJhfCdukV4cOaAPy4Y3RvN46ryDG9N9Cyp/IyI6OyQ2N87xPwLgERdwwx0fKylrseARD7NhBwh+sQb34V/+0H0HFBpyU+SlFB2udRS5a+IsHc2UDG//8ZsylZq4Pss9EHMxKLNw6T+AssOKvPhQBaoEgA5/dtP/kejFAYKu67P9siJEIpQPnyXxbg4Q5C/P73QFShvpIvSCwx9kfsJU5Eb4PSmuBCUMcIaQe1Z+hqVf/wHLiLToW5YPUSz2KbLc1MXwQNknPTnwfsYcdfluVH8Ni54LKWEq4CMwLexpHgWohV8cobaw4oM3lob5lBKjvilu+917vQEcyjH4ffC0LaF9/rN4qsnZlVfU6c1omgRGeylD0g+jxj6tjT7OZTsW8TA5ImK+65tatdyv5yvDEqmGzy5pbt7ErE9JaqE9v7DQ/+yyy+rmsPQi2zHFHJVSd1mH8YbU1cNdbPnvazSMlvG3/mVOeLCjT+Vxg6smFpB1cIaKi7wuPeCLGzxOqKkmSYVFQ+qsx093GQ0/NS+J6iR17RMMNO6rtP0mJ2wuQAnd8FQ1TAI/EAEybB3uSIgMI6Bz8i3n4toZImbloEqeY/SWdU0JRdiSv1mZZBqOE6QFgoHkX6fFLh+d0rZGdySjbgfaeacaYA63/PH00/nCu1vhpt8vGRR+choJdzbZIk/ZVnETnKHN4CNehVc9l6/OLM0dFb189DZg/aSs2ANbeYLRIcJ2RiEMZgXvAcVQUn3bTWCO7I+0sSkg== X-Microsoft-Antispam-Message-Info: K73rdAL2KaozePgNCvQckJAaQMWCbwZW362gxVk+UtWYk9V1uw3d2ADt86GndlZJ4BwwtRNSXyCi8qFahz4XIh28zh+1JPwZnhgqIWf6hLlPr9vS3MkCqgRrXZz2fzUyDTAOtOm++/zKZXAbbK5E50rIji1mQYXxq3h0gan8kqfTHSU9m9+UuIch/GcNESPtxxvxUzZj/d8faScbZep8GKee0KB13VPr0glY3NnAnLxxl26IKJxbxcGOooannlSURhbJZ4IY4UrAl7POL1CFBQ6WzBsnm5OpNMCIS13ORO/tVzbIwTS2KRriS+OgXtFOl52BkEpQkvu9RGknEfBHZKiY/N3P+58ajyQr1rVZKRs= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 6:J2aVfA5sB6tIxlvDQLlQN+MhHzEsL/KuW+ZAZyfpywA80zDrZQW8UBCgJfA5fK47D/3WF5eP15w+sB8dy6SUtzsEwchUX+mZAu9vowYKQIoGp0jn1uDduencNhzxkGd58PsVnWwX5Ag4e4AIdswCCgVi2qwMtMXjycFG3oqZABM74Ty8huQGYay5m14g9Jakg0wPPfy0RO7wlr8dP1Jr+EdvX/nJyzUbuPk3XfnVXPNmYbrBSR9/w/DTBPAzLg2rDZxs9ySv0Xd2V9BEdaeY4nSjQqciqyn37p8ei5rb0rXnX1zQ3wqcy3WP1Cgi+rTJx39s2U2RHpgfdsSqoCbpBKRX5VliJHEu7dpXtrtpAUciSlYqvDjFPaIDWPC1s8G0mgbOrUKhUVF+dyDzRv1Pj6teI8pNvOzxCDk7tL9E+h+RCREZtAMZSkdE4O8dyBUvv+HbTrN2/LJbswCElA7jKA==; 5:2z0ZI0y7b5rEMKOEXCQXPv6thJ31zcONVKPq1IkiIYltKW6Q+4gYd7x0taOLxbECNyLopMe1MSIiU5gq8m4CO+X50p3eDdN6kc7laC5ZwbXTKP698Be8nYNSYLiWZAxcfvPNAoziSxHFDjTpD7bqo9WLcl8pVUl+oBEkCBLoedM=; 24:mcl1e7Hn9YQoZNa1NxIB/pQxku0abjmaFjfKgZWuNQtmUhDpXlFCRKWqlWsSdyhMyqq3O++w35mRN8IvrZ3Dkw4nkfSj9LhPkBBBbx2Vi7w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 7:p1N0LmbJdes50QNr3XzerXNvBdjETiKzeHTw18pxWndzUyu7DjEDRwLU/fBvEMA6kSkfkLcNOD87z/nXJ/gxcA2x1ELyYHU7Qqqn9yOO4HV0KVgb1R43U6NF0ZLv9tcrqd3xWZWpSovqqryOFRbmzA/P3tNzHRY0x2BlA4Zs8NAc+EXZUB+feCJ3BKqH5iEhZchbJJDrUyj6puDlrpEWIBK1xoLWnc1pSOd1sb+PzS2FofLnRvU9WjPHfODijzia X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2018 11:37:41.7181 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 86af0f74-5102-4f64-5832-08d5db593ac2 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2038 Subject: [dpdk-dev] [PATCH 1/4] net/mlx5: change return value of Rx completion poll 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" mlx5_rx_poll_len() returns Rx hash result extracted from either mini CQE or regular CQE. As mini CQE may not have the hash result if configured otherwise, it shouldn't assume the first DWORD of mini CQE is always hash result. mlx5_rx_poll_len() is changed to return pointer to the mini CQE if compressed. Signed-off-by: Yongseok Koh Acked-by: Shahaf Shuler --- drivers/net/mlx5/mlx5_rxtx.c | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index 527859461..a4e15c519 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -38,7 +38,7 @@ rxq_cq_to_pkt_type(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe); static __rte_always_inline int mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe, - uint16_t cqe_cnt, uint32_t *rss_hash); + uint16_t cqe_cnt, volatile struct mlx5_mini_cqe8 **mcqe); static __rte_always_inline uint32_t rxq_cq_to_ol_flags(volatile struct mlx5_cqe *cqe); @@ -1722,8 +1722,9 @@ rxq_cq_to_pkt_type(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe) * Pointer to RX queue. * @param cqe * CQE to process. - * @param[out] rss_hash - * Packet RSS Hash result. + * @param[out] mcqe + * Store pointer to mini-CQE if compressed. Otherwise, the pointer is not + * written. * * @return * Packet size in bytes (0 if there is none), -1 in case of completion @@ -1731,7 +1732,7 @@ rxq_cq_to_pkt_type(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe) */ static inline int mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe, - uint16_t cqe_cnt, uint32_t *rss_hash) + uint16_t cqe_cnt, volatile struct mlx5_mini_cqe8 **mcqe) { struct rxq_zip *zip = &rxq->zip; uint16_t cqe_n = cqe_cnt + 1; @@ -1745,7 +1746,7 @@ mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe, (uintptr_t)(&(*rxq->cqes)[zip->ca & cqe_cnt].pkt_info); len = rte_be_to_cpu_32((*mc)[zip->ai & 7].byte_cnt); - *rss_hash = rte_be_to_cpu_32((*mc)[zip->ai & 7].rx_hash_result); + *mcqe = &(*mc)[zip->ai & 7]; if ((++zip->ai & 7) == 0) { /* Invalidate consumed CQEs */ idx = zip->ca; @@ -1810,7 +1811,7 @@ mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe, zip->cq_ci = rxq->cq_ci + zip->cqe_cnt; /* Get packet size to return. */ len = rte_be_to_cpu_32((*mc)[0].byte_cnt); - *rss_hash = rte_be_to_cpu_32((*mc)[0].rx_hash_result); + *mcqe = &(*mc)[0]; zip->ai = 1; /* Prefetch all the entries to be invalidated */ idx = zip->ca; @@ -1821,7 +1822,6 @@ mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe, } } else { len = rte_be_to_cpu_32(cqe->byte_cnt); - *rss_hash = rte_be_to_cpu_32(cqe->rx_hash_res); } /* Error while receiving packet. */ if (unlikely(MLX5_CQE_OPCODE(op_own) == MLX5_CQE_RESP_ERR)) @@ -1934,7 +1934,8 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) volatile struct mlx5_wqe_data_seg *wqe = &((volatile struct mlx5_wqe_data_seg *)rxq->wqes)[idx]; struct rte_mbuf *rep = (*rxq->elts)[idx]; - uint32_t rss_hash_res = 0; + volatile struct mlx5_mini_cqe8 *mcqe = NULL; + uint32_t rss_hash_res; if (pkt) NEXT(seg) = rep; @@ -1964,8 +1965,7 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) } if (!pkt) { cqe = &(*rxq->cqes)[rxq->cq_ci & cqe_cnt]; - len = mlx5_rx_poll_len(rxq, cqe, cqe_cnt, - &rss_hash_res); + len = mlx5_rx_poll_len(rxq, cqe, cqe_cnt, &mcqe); if (!len) { rte_mbuf_raw_free(rep); break; @@ -1979,6 +1979,10 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) pkt = seg; assert(len >= (rxq->crc_present << 2)); pkt->ol_flags = 0; + /* If compressed, take hash result from mini-CQE. */ + rss_hash_res = rte_be_to_cpu_32(mcqe == NULL ? + cqe->rx_hash_res : + mcqe->rx_hash_result); rxq_cq_to_mbuf(rxq, pkt, cqe, rss_hash_res); if (rxq->crc_present) len -= ETHER_CRC_LEN; @@ -2115,7 +2119,8 @@ mlx5_rx_burst_mprq(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) uint16_t consumed_strd; uint32_t offset; uint32_t byte_cnt; - uint32_t rss_hash_res = 0; + volatile struct mlx5_mini_cqe8 *mcqe = NULL; + uint32_t rss_hash_res; if (strd_idx == strd_n) { /* Replace WQE only if the buffer is still in use. */ @@ -2142,7 +2147,7 @@ mlx5_rx_burst_mprq(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) buf = (*rxq->mprq_bufs)[rq_ci & wq_mask]; } cqe = &(*rxq->cqes)[rxq->cq_ci & cq_mask]; - ret = mlx5_rx_poll_len(rxq, cqe, cq_mask, &rss_hash_res); + ret = mlx5_rx_poll_len(rxq, cqe, cq_mask, &mcqe); if (!ret) break; if (unlikely(ret == -1)) { @@ -2237,6 +2242,10 @@ mlx5_rx_burst_mprq(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) continue; } } + /* If compressed, take hash result from mini-CQE. */ + rss_hash_res = rte_be_to_cpu_32(mcqe == NULL ? + cqe->rx_hash_res : + mcqe->rx_hash_result); rxq_cq_to_mbuf(rxq, pkt, cqe, rss_hash_res); PKT_LEN(pkt) = len; DATA_LEN(pkt) = len; From patchwork Tue Jun 26 11:37:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 41563 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 996051B4DC; Tue, 26 Jun 2018 13:37:47 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50049.outbound.protection.outlook.com [40.107.5.49]) by dpdk.org (Postfix) with ESMTP id 45EF81B4CA for ; Tue, 26 Jun 2018 13:37:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8crTx+5m0CixQE2pV4Kj6pUZJXHws180wKA+XNM8pTo=; b=O87vbVtG5sPJB5KV30mfu/h4fY8uMqCZa2FTOecv0oOMrGyGwrGACfXTVOXGTLvoMnrWhguIkRe4smiSn30G7qAUtDXcaUZdiPdZeoUcfjKeXH2vCdt2CR6QQpHMAYw1yDteZ5I+n62CcB70zV/qDNhqCe976+MykeLRwvu1mKI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by DB6PR0501MB2038.eurprd05.prod.outlook.com (2603:10a6:4:6::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Tue, 26 Jun 2018 11:37:43 +0000 From: Yongseok Koh To: adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Cc: dev@dpdk.org, shahafs@mellanox.com, Yongseok Koh Date: Tue, 26 Jun 2018 04:37:21 -0700 Message-Id: <20180626113723.33035-2-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180626113723.33035-1-yskoh@mellanox.com> References: <20180626113723.33035-1-yskoh@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: BYAPR07CA0040.namprd07.prod.outlook.com (2603:10b6:a03:60::17) To DB6PR0501MB2038.eurprd05.prod.outlook.com (2603:10a6:4:6::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c6ded111-33db-4952-8dbc-08d5db593b97 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DB6PR0501MB2038; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 3:l7eWC77OYMgQnXe9oSgxefayeCgB8tj2winKQwl1xWhQs/6fik9sbZ3CqbYF4jZD2VpMjfjDUqvaoo5PKv7DMvyjzNhvYHohJvPpvowF/LPjt2M0rqxEajaXp2TYllxTT0QixCFbA/iUWLXBgj+Qcv3yRWXBTuR5Bzf1PX793ovbjXI0kZXWlbk6pCPYIYHm7OUmkjbC+CMwhC6EQa7jWXO1OEXl8+4+SUvhHeeQzfx17oOgYMvGCLYAhCpmGYqH; 25:vhgeBdqtmcmlgJF2CVUWf0M2lGchLF/RC8q324OvlI/nnxGkqtdG7ZkAjHG95vLwyXsQFQ6/rRYnHPtxGdDunvk9htxSdYEhL25rXZml79i/C7reF20TEzSqKP7Prmzcy34zQqk+e4vFel6sJKEOWhliTqWBvVMj3madmbWAKGDLdMIvGLvPLAVnHVxNLwQgLcwHyHih/f5DOyd9XYqsbqnAMCEn6z+J5oAwJ8GHa2wTQ7liFa+xiLd7ap6PYX18+vIeRkZaebhdXZfvD6Wwy0tRmKMfcznSOnqNjx+bJB1wq6P/brEIoHUtD+pIPf6oCQUKiRvo+krTz128xI1/gg==; 31:7WrWzZsvv8kePSDvp98pcRnxQoeNqclECQjRs4dZbEuwOwdaczkqUWAmj2bQIJAub3tVOLJcA0cc7cHVZ7AcMRDcEVgsjh7zEew29C0slTvj4KLjoNUhZjy9hbFjILQPp1kBUzO8L04H16G/lsUhofh0mQ1es/BhWsqpCoSHXM/YhYdDwziK9nnYzdeySzuwVz7OhQFXjG1hKIzsjoBgTuE3nwD+Oa+8peI9F4IspBc= X-MS-TrafficTypeDiagnostic: DB6PR0501MB2038: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 20:T7R2SN9QyO7/nLQoLlDn5p69pw0HKWfwxjI0zyLdbquIsIsrBryNjCDK49dMt4xDQHBmalcRAgHKgxn1RdzBIrSuTeqfjQhsrBICdVos/O1Em4dbE0DF4KBZOA0dukgQ24vK7iLm3oQ9DRpaRyZ/aR4N8Kmul8KuCpty3i3s///HUsv6NzUi69+Ym4CWgYzG44WAFH8u9HupZiEU0Aae6atIbMi+gTI8r2M0GKtIr5BJB8iXT6D+lgNi8J/KVFApCduMsGCcyMxBE7tyK7RZ2jSyzXmPc/ub/Dy1anpnuHs8Ii/7qWE1wp6cOIhYPEANosTFRJ/vsnapqvLx4+7szL4wkHID0rd2DHVXX0Pr0BAeJ0PyoT1wMlP4VMNDjK8VmZ52r+PQwDZuWfvFwakMqY+RgFWyzFHFQxfknF089FQKLkJd1TCAhgQFACS0AY3lUGZYE30roVwSK127lBz2Nzx7e0GqZ38qyi4oVtYJ78w59+agpHmonuxcFNR6UtXD; 4:HvvLjAV0ZtHlgraYP5Nw+xciV2RVs4HbqQf4AqismsD86xn76VNyt8oo3BP61vwJPIkLTtGXfTodarR0jcsTnyh+uKmJPrr0NpnryAVSVj61vs+UuHmQDnxT0mRsYMiJE8WFh+0nEQ1w/md6q41JOK+AHNRWNnubXCjkv4JXA89l/Vq4enVpQKMR4l4VIBs+wsOIcCINfVNZxqQcmezLstEJXg0YmbbcEbNUaVhfH5paaZr49EFeZZzhXl066WuCc6RthFYHIXfOzXI3Hzj6Tw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DB6PR0501MB2038; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0501MB2038; X-Forefront-PRVS: 071518EF63 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(39860400002)(366004)(346002)(376002)(396003)(199004)(189003)(16526019)(48376002)(16586007)(26005)(386003)(86362001)(50466002)(97736004)(6666003)(186003)(50226002)(53936002)(486006)(36756003)(21086003)(316002)(105586002)(51416003)(55016002)(76176011)(7696005)(106356001)(107886003)(52116002)(11346002)(956004)(476003)(5660300001)(4326008)(2616005)(446003)(68736007)(25786009)(8936002)(6116002)(478600001)(3846002)(81156014)(81166006)(1076002)(7736002)(8676002)(305945005)(2906002)(69596002)(47776003)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0501MB2038; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2038; 23:du6yWJW+oM6qzQ2pYgAFDVdzxhBayhs/WW8nkDp?= I7lVGrMD5Hs4OCUvzEsYlTuVa2Ld4Ey75jmaFbUWCL1cTqInq4/bn5fbmzsjho/v7gaFNxTzMoWAJyGk7EZvuMrMavcwlKsIRCmc22QZTHaxbhvI6tmxij9flxsK7xx8Ki2YUYWf9lGLxDitwsox0dWUo8sNJ45mhIYrWxTIaIeMoiqXctTxYuk6oWmbY3OXNXn0GgIAE+t6lYsFS2Q2WPYKp+cbHCAjKxFdbB0Uu7gsWN53fwXRpCVYTJPvnaXWM7TarOm/0bXRJo50XmukUVf8e0/Go2lTUKWKHq1L6b2YTYFo93hwH7cm4apeiYbVYPzo3qfID7C5mJUL4WLCkrWyGNBG5jze4vropu8WuQCRZaDYh0bTJ+NaagkHVbhHNn/C2RHMcDjQ97+RFVVhuPosBwEszDNdz+myeUdJ0Bnbmwnl66YiwkbfEk2gELO/ZqAnGfnFXWV8JmpkwRo+Vu3pNEPv8YuJFzTsorNirNRLZtjYLwwmB+hfGQsdQB1jSBbry1AnqfYvfP4pCR4LsvapJCkPzWTHpwCPWZmjwUf9wJyiWE0V/32zwQQyDhBlk/JlReA941tsUz2VoEJheTS0sjNTZjn+5Xi60y7wnJLjQBYcnf6dw6Za4Q5wjPdjjxrHLM1U5O5T5ZeOUCIrg7i7iJtt+dEmAGk8pO6qgt+n3tnO5LB2BrPLQicKoTjwweTPbLN7KTaCCZjKWJZ4fLc9/Gu9vhw7xJN2IifBBQ7HoENcHGbOoG9k2roMxKM8OFK0u49ef/0EfnIneiLXFLN0YLJHM4ivpHes9iipIk/vHyFFsD6Py0//1E0qMl39Tgz7LoXDnLdgipUg7yJLLDDPvlpEZArEnfoYa4Fcvfk75HhQX8MExYOnr8Dgvdc0/2rFFiF293y5Z4B+7eNaVaxgNnPpntk/DnrJLOLGuY2r73yxmibomG1bx9ayMFz9H7adcVbuBWEiJKgtblVA5IewSlxLSDCUYb5iNbC+rcKz+K9gPMaKRZq8utY75bcy/pVkKeNWt5iexXP2eKyIshJAb2LXse3u2BJ4Gnjh9GC2PzW7P0JqWcWiVe++uFOSd0Oz0jHpVCp6VM+rPROd9hgC2r38V0bMIkOUEXboNkAtTSy9fugYsC/q1aBSzC07p3rBW9dv/dNJqG629XoZlRNcS X-Microsoft-Antispam-Message-Info: FU+3I+PDjwybgNOAeAfCSvGHc/p61NfRrnhfX9PhijC80jRniNcvRFNuOt/mF3Mr7vINiUJ9LBmebR2we6dZ6lmdm/QpaFg+A3qHNPNov3pZvJ0yOUfz+EZ1YqZ7yorKDuqPO6hTuxHFRU3QWcrox94YSAecLhCMAwwEd62dPT/jG3qP6C340XP+h8mLJa5hk05WhBobCQqe8kVK7Hsist0evhKyTSDJ/nBP/jC2Oa/8liMKtxo1DncW8w+lT+M/jZHUFEvMbrOCSKn7ds6zbE+7qUawdRQxiFLZHoCVJceRdcG/6AR6swe6x3eqRiTz7Q34BxyA6gEiyVYYv4rxzLLe40RcD1n0yUyZZVz+RrA= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 6:yOZgnD2AC3lnbH/Ef93vorG2eWWuSxSVHGlwB9nKlEM7bwghztSgFuNiVjCx/PnPIBfWA4VgD7gyQjqdst2qNyVOJoCI+icgIufY0rD/xO/n+IrBQaAfwzAu7+3zgQ7pN4XixlIPiqBCGWjuv46FRlY1eO+xiWtlzKGUrPmEtLVZP1p4jC11ehzBmdf5CRHHFDziOxtg2CoXwvE6yLIS8uDeT8rNGb6edc9zTCl/HnypgulxdDeOido0iV4RetdDiQ8PP/QtkSWpHbcwiuMsEPN9+0t2R5mRtXkaQo16rDmnGdfc2IEwMsxES5mApPBG5bXHGZaO+2Z+Uo/2uFaMC+4Io5afP9Hqoa8jR8R+wX8alPNjlzNIFWiBg7mSevLDCbfhZ6nEXoXbqmvxP7ZKMlC1RGtpYGv4Jb6j7yVriyxka0r/WA79rjf+uQODhmVHM5zbMy7iSOFSoW5mBIFxPQ==; 5:scr5Kwm2AMP0oEDnwZtw2wfGdef1wh+3Z1gML/Ri0CE6ywGow9fU006xnOOCjvhiwc+9D1S1/dX1Ukq00k8wyunK81wee2EkPqMh6pckbSL4QwfKKDNOg4l8z3kqaZVhOxJOBSjWhTcn4OjNtDSvgt8RFe7V2YcKdAr4cLxCHOo=; 24:KHVP6BEUQEch4Frnv9iIlQT/kYq3VpmBjb3TthIg8kQ4mDuVTbkAYzGDfHcV2GPWHkk9hi1ldxwtBFFzkHFe6WnA/QYr2uVlnkSTN8WesTI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 7:8PxESjTCSwf1MUIm/QF65hPZtPTSDXT4NUDwBYWkjalIJr5ednZQc/mE4TaNsZfrPIoFjhdkFcND8f7dHVleordX2rr8OUGR75Qnt0MVHQxF7ibOX4le6TQ7FNzWTkgRxU9c2bzQqyb8lg7AUx+dA9z6W+N+BlLVzT4zMW5lQkiUlwD7XR9U+NSd26djvZcLW5N3lU5OyH9DYGJwRgHj9B2LXYxYGR04z/azoLjUypoQuwtgkrP3wxypJ6qk8SOQ X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2018 11:37:43.1144 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c6ded111-33db-4952-8dbc-08d5db593b97 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2038 Subject: [dpdk-dev] [PATCH 2/4] net/mlx5: add new fields in Rx completion entry 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" Stride index is added to mlx5_mini_cqe8 structure and WQE ID is added to mlx5_cqe structure. Signed-off-by: Yongseok Koh Acked-by: Shahaf Shuler --- drivers/net/mlx5/mlx5_prm.h | 9 +++++++-- drivers/net/mlx5/mlx5_rxtx.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_prm.h b/drivers/net/mlx5/mlx5_prm.h index 0cf370cd7..f9fae1e50 100644 --- a/drivers/net/mlx5/mlx5_prm.h +++ b/drivers/net/mlx5/mlx5_prm.h @@ -240,7 +240,9 @@ struct mlx5_cqe { uint8_t padding[64]; #endif uint8_t pkt_info; - uint8_t rsvd0[11]; + uint8_t rsvd0; + uint16_t wqe_id; + uint8_t rsvd3[8]; uint32_t rx_hash_res; uint8_t rx_hash_type; uint8_t rsvd1[11]; @@ -285,7 +287,10 @@ struct mlx5_cqe { struct mlx5_mini_cqe8 { union { uint32_t rx_hash_result; - uint32_t checksum; + struct { + uint16_t checksum; + uint16_t stride_idx; + }; struct { uint16_t wqe_counter; uint8_t s_wqe_opcode; diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h index f53bb43c3..04a432adf 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -362,7 +362,7 @@ static inline int check_cqe_seen(volatile struct mlx5_cqe *cqe) { static const uint8_t magic[] = "seen"; - volatile uint8_t (*buf)[sizeof(cqe->rsvd0)] = &cqe->rsvd0; + volatile uint8_t (*buf)[sizeof(cqe->rsvd1)] = &cqe->rsvd1; int ret = 1; unsigned int i;