Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp1320842rwr; Fri, 5 May 2023 12:13:04 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4oQKnCuhjOMVkoK9zZwvzPuIaZWZAJdkb/KH8jK3imwaqvUkD05dJBI1nEPZczhaNG14sL X-Received: by 2002:a05:6a20:4404:b0:f0:5f9a:f5d5 with SMTP id ce4-20020a056a20440400b000f05f9af5d5mr3028079pzb.41.1683313984651; Fri, 05 May 2023 12:13:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683313984; cv=none; d=google.com; s=arc-20160816; b=0Xd3/ZaGzawsYfg37rAGNvqNl18hUNrKyeqUeBWBjxiUgKS0hR/tquCEfa3m9T+dhm 20vTL29GsBJYmqemY3ew5wzPRrNbTiqHrNKqS5NJof7sLg9XkafmbWxZr0E5h0njPNZo 9D+sf4cl0Q2aduno8T2wetij33IPXIDDWH2m0Fa/dHOsODF3sTwpLdwmFQW7r5BrKkRk TNfp8I05P1RI6NpP5EvIVS0C2JOH6vYLlu2jGfnAyehEkO6O0cD8MOAQkdkLOJ0oTj2n 7lnQa2EqMpJydG8Fa/LjJl3U1MI5wiaZlEmgXn0t7PQMzJFTotEK85RaLmkXJY82hhig 1evw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=mb5lvwg5ohLnnbkdoeBM8lxdqhlZn5srSg8X66I10YQ=; b=THIjiIZ5LNR1/pz2gyn9bCTcnB/7CcWq7eiwXwezTKudgENBDlwl5fYSHRMqmp1o3X Yrc6MktoD4dySsYn9/quydhSADPQBpbX0JEyIj/rVxxqnwVFrcVNf8WZwsZ2KYHKOIVd mtQFZMZkIViG5s1gKVRqaboXj5PSOHGu1lYVy+1VmzGkMe5+9t67URcYbrgJhCf61RJp QIDTaNu990r5h0czWUXYbtVV7xhaPrNgxyy1A+sduHxygcXqj0dWb4HIjxTo9oePag/z ILKKHJpPIlP30FwZ4hmtyptyQJGP3+yRKkoh/Wqp3zsQkFDwygZ+5LOKEe9p6mftlC3a 40nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=FGPYeoob; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxonhyperv.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i30-20020a63585e000000b0051ade38b397si2508498pgm.264.2023.05.05.12.12.51; Fri, 05 May 2023 12:13:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=FGPYeoob; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxonhyperv.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233355AbjEESwM (ORCPT + 99 others); Fri, 5 May 2023 14:52:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59562 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233062AbjEESwL (ORCPT ); Fri, 5 May 2023 14:52:11 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 8D21112A; Fri, 5 May 2023 11:51:59 -0700 (PDT) Received: by linux.microsoft.com (Postfix, from userid 1004) id 0E5D220EA203; Fri, 5 May 2023 11:51:59 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 0E5D220EA203 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1683312719; bh=mb5lvwg5ohLnnbkdoeBM8lxdqhlZn5srSg8X66I10YQ=; h=From:To:Cc:Subject:Date:Reply-To:From; b=FGPYeoobBbC8zpKtp262vui8o6VTAI05CAw2wWRvQj7vOvJOgCkmGRsoxzUd4ognE 8hgvhBdXC4TabrBsmVt5QU2yZvs1DgNBfj09deVQkxZEKDpolp5jO8Q3y/plDgNGrU JBDyMi63+Xf5VRF+oIQq0/gqUqe2cYzdjMvIM2MI= From: longli@linuxonhyperv.com To: Jason Gunthorpe , Leon Romanovsky , Ajay Sharma , Dexuan Cui , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: linux-rdma@vger.kernel.org, linux-hyperv@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Long Li Subject: [PATCH] RDMA/mana_ib: Use v2 version of cfg_rx_steer_req to enable RX coalescing Date: Fri, 5 May 2023 11:51:48 -0700 Message-Id: <1683312708-24872-1-git-send-email-longli@linuxonhyperv.com> X-Mailer: git-send-email 1.8.3.1 Reply-To: longli@microsoft.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Long Li With RX coalescing, one CQE entry can be used to indicate multiple packets on the receive queue. This saves processing time and PCI bandwidth over the CQ. Signed-off-by: Long Li --- drivers/infiniband/hw/mana/qp.c | 5 ++++- include/net/mana/mana.h | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/mana/qp.c b/drivers/infiniband/hw/mana/qp.c index 54b61930a7fd..83c768f96506 100644 --- a/drivers/infiniband/hw/mana/qp.c +++ b/drivers/infiniband/hw/mana/qp.c @@ -13,7 +13,7 @@ static int mana_ib_cfg_vport_steering(struct mana_ib_dev *dev, u8 *rx_hash_key) { struct mana_port_context *mpc = netdev_priv(ndev); - struct mana_cfg_rx_steer_req *req = NULL; + struct mana_cfg_rx_steer_req_v2 *req = NULL; struct mana_cfg_rx_steer_resp resp = {}; mana_handle_t *req_indir_tab; struct gdma_context *gc; @@ -33,6 +33,8 @@ static int mana_ib_cfg_vport_steering(struct mana_ib_dev *dev, mana_gd_init_req_hdr(&req->hdr, MANA_CONFIG_VPORT_RX, req_buf_size, sizeof(resp)); + req->hdr.req.msg_version = GDMA_MESSAGE_V2; + req->vport = mpc->port_handle; req->rx_enable = 1; req->update_default_rxobj = 1; @@ -46,6 +48,7 @@ static int mana_ib_cfg_vport_steering(struct mana_ib_dev *dev, req->num_indir_entries = MANA_INDIRECT_TABLE_SIZE; req->indir_tab_offset = sizeof(*req); req->update_indir_tab = true; + req->cqe_coalescing_enable = true; req_indir_tab = (mana_handle_t *)(req + 1); /* The ind table passed to the hardware must have diff --git a/include/net/mana/mana.h b/include/net/mana/mana.h index cd386aa7c7cc..f8314b7c386c 100644 --- a/include/net/mana/mana.h +++ b/include/net/mana/mana.h @@ -596,6 +596,23 @@ struct mana_cfg_rx_steer_req { u8 hashkey[MANA_HASH_KEY_SIZE]; }; /* HW DATA */ +struct mana_cfg_rx_steer_req_v2 { + struct gdma_req_hdr hdr; + mana_handle_t vport; + u16 num_indir_entries; + u16 indir_tab_offset; + u32 rx_enable; + u32 rss_enable; + u8 update_default_rxobj; + u8 update_hashkey; + u8 update_indir_tab; + u8 reserved; + mana_handle_t default_rxobj; + u8 hashkey[MANA_HASH_KEY_SIZE]; + u8 cqe_coalescing_enable; + u8 reserved2[7]; +}; /* HW DATA */ + struct mana_cfg_rx_steer_resp { struct gdma_resp_hdr hdr; }; /* HW DATA */ -- 2.17.1