From patchwork Mon Jun 10 23:38:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 10985651 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E0803924 for ; Mon, 10 Jun 2019 23:38:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D083828174 for ; Mon, 10 Jun 2019 23:38:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C320828694; Mon, 10 Jun 2019 23:38:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4DDCA28174 for ; Mon, 10 Jun 2019 23:38:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390745AbfFJXiR (ORCPT ); Mon, 10 Jun 2019 19:38:17 -0400 Received: from mail-eopbgr20059.outbound.protection.outlook.com ([40.107.2.59]:50500 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2390625AbfFJXiR (ORCPT ); Mon, 10 Jun 2019 19:38:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dldddHTRHbXE+Bvb/O3/z3WYc97C3qpcbmtBEpPr6DA=; b=ICvG7hcfbtGtDmE2NPyM03sM+DFs91BSe0KRqiDe7eaaJhpO/64pAzWuiUWPe9e3ArtB4SiMy86ELYRngOuMiMB7u4ph/G/Nz1Bk7u60Uuu00ZOcGQKV0TbeEHg/ijHfLHPTe/cYu46l0zp8Jnw7IUsac7s+DWeZe/PWfMrvoiA= Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com (10.172.227.7) by DB6PR0501MB2166.eurprd05.prod.outlook.com (10.168.55.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Mon, 10 Jun 2019 23:38:11 +0000 Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com ([fe80::3b:cb20:88ed:30bf]) by DB6PR0501MB2759.eurprd05.prod.outlook.com ([fe80::3b:cb20:88ed:30bf%5]) with mapi id 15.20.1965.017; Mon, 10 Jun 2019 23:38:11 +0000 From: Saeed Mahameed To: Saeed Mahameed , Leon Romanovsky CC: "linux-rdma@vger.kernel.org" , "netdev@vger.kernel.org" Subject: [PATCH mlx5-next 00/16] Mellanox, mlx5 next updates 10-06-2019 Thread-Topic: [PATCH mlx5-next 00/16] Mellanox, mlx5 next updates 10-06-2019 Thread-Index: AQHVH+WQKUAaOLo+ckSVksYLubbYdw== Date: Mon, 10 Jun 2019 23:38:11 +0000 Message-ID: <20190610233733.12155-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR01CA0015.prod.exchangelabs.com (2603:10b6:a02:80::28) To DB6PR0501MB2759.eurprd05.prod.outlook.com (2603:10a6:4:84::7) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e244ff07-843d-4e0a-8f58-08d6edfcb2b0 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:DB6PR0501MB2166; x-ms-traffictypediagnostic: DB6PR0501MB2166: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0064B3273C x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(396003)(39860400002)(376002)(136003)(366004)(53754006)(199004)(189003)(26005)(71190400001)(386003)(7736002)(6506007)(73956011)(66556008)(102836004)(86362001)(66476007)(66946007)(71200400001)(305945005)(5660300002)(64756008)(66446008)(316002)(68736007)(66066001)(1076003)(6636002)(110136005)(3846002)(54906003)(6116002)(36756003)(186003)(15650500001)(2616005)(81166006)(256004)(85306007)(450100002)(14454004)(50226002)(53936002)(6512007)(52116002)(25786009)(8936002)(8676002)(14444005)(476003)(99286004)(6486002)(4326008)(81156014)(478600001)(2906002)(6436002)(486006);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0501MB2166;H:DB6PR0501MB2759.eurprd05.prod.outlook.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 8hQA/K7MY0b4SqvOko4F+J2Gwf2rnhDR9FxkCAiFYioLr+e9I/hq9X/tnS0LWAM3zgkPmvG9t9Lvat401IhSxyBGQXsn/P2XCA+ey9sZwFdxRhj7p1PuJ8NMwyNCNrwvYldf0iKDH0GEYnP0aVSDJ+mhz/nO/9VdFUS4t2gNalvCRPdCCQpCDIJ40s8fdKeaZCPPc/APTgGsGdhjJPJP0zzVqI/wtU3XguUHpmHu/QKdI8byz9njRIcxGPAzpXMxjFr1reV3q60Zt7TW7GbnIa4IWjjykbiodyMiz/FEMBUrBYr3MhAJYw88f7zs047z35bL12wWaEmB+onEZxbCqmakJT8TKccf0Z6n5PS6ili02igwl0C7IoRVLbVxhwjAF/PvTNIdoNBF791WlhspPLrPAI7r7t3EkWPuOLKRhfs= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: e244ff07-843d-4e0a-8f58-08d6edfcb2b0 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jun 2019 23:38:11.3367 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: saeedm@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2166 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi All, This series is aimed mlx5-next branch, it includes a couple of low level updates for mlx5_core driver, needed for both rdma and net-next trees. 1) Bodong refactors query esw functions so he could use it to support querying max VFs from device. 2) Vu, handles VF representors creation from VF creation handler context. 3) Daniel, increased the fw initialization wait timeout for large sriov configuration. 4) Yuval, refactors IRQ vectors management and separates them from EQs, so IRQs can be shared between different EQs to save system resources, especially on VMs and VF functions. 5) Ariel, exploits Yuval's work and uses only one IRQ for the 4 async EQs we have per function (So we can save 3 IRQ vectors per function). Thanks, Saeed. --- Ariel Levkovich (1): net/mlx5: Use a single IRQ for all async EQs Bodong Wang (2): net/mlx5: E-Switch, Return raw output for query esw functions net/mlx5: Support querying max VFs from device Daniel Jurgens (1): net/mlx5: Increase wait time for fw initialization Vu Pham (1): net/mlx5: E-Switch, Handle representors creation in handler context Yuval Avnery (11): net/mlx5: Introduce EQ polling budget net/mlx5: Change interrupt handler to call chain notifier net/mlx5: Separate IRQ request/free from EQ life cycle net/mlx5: Separate IRQ data from EQ table data net/mlx5: Move IRQ rmap creation to IRQ allocation phase net/mlx5: Move IRQ affinity set to IRQ allocation phase net/mlx5: Separate IRQ table creation from EQ table creation net/mlx5: Generalize IRQ interface to work with irq_table net/mlx5: Move all IRQ logic to pci_irq.c net/mlx5: Rename mlx5_irq_info to mlx5_irq net/mlx5: Add EQ enable/disable API drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/odp.c | 21 +- .../net/ethernet/mellanox/mlx5/core/Makefile | 2 +- drivers/net/ethernet/mellanox/mlx5/core/eq.c | 439 +++++++----------- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 33 +- .../net/ethernet/mellanox/mlx5/core/eswitch.h | 7 +- .../mellanox/mlx5/core/eswitch_offloads.c | 94 ++-- .../net/ethernet/mellanox/mlx5/core/lib/eq.h | 9 +- .../net/ethernet/mellanox/mlx5/core/main.c | 56 ++- .../ethernet/mellanox/mlx5/core/mlx5_core.h | 13 + .../net/ethernet/mellanox/mlx5/core/pci_irq.c | 334 +++++++++++++ .../net/ethernet/mellanox/mlx5/core/sriov.c | 22 + include/linux/mlx5/driver.h | 10 +- include/linux/mlx5/eq.h | 23 +- include/linux/mlx5/mlx5_ifc.h | 2 +- 15 files changed, 673 insertions(+), 393 deletions(-) create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c