Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753518AbdL1V5g (ORCPT ); Thu, 28 Dec 2017 16:57:36 -0500 Received: from mail-dm3nam03on0091.outbound.protection.outlook.com ([104.47.41.91]:3367 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750899AbdL1V5d (ORCPT ); Thu, 28 Dec 2017 16:57:33 -0500 From: Pavel Shilovskiy To: Long Li , Steve French , "linux-cifs@vger.kernel.org" , "samba-technical@lists.samba.org" , "linux-kernel@vger.kernel.org" , "linux-rdma@vger.kernel.org" , Christoph Hellwig , Tom Talpey , Matthew Wilcox , Stephen Hemminger CC: Long Li Subject: RE: [Patch v8 00/16] CIFS: Implement SMB Direct protocol Thread-Topic: [Patch v8 00/16] CIFS: Implement SMB Direct protocol Thread-Index: AQHTY/RW7ttrt2cwgUW2X/KZZ4LVuqNZhbCg Date: Thu, 28 Dec 2017 21:57:26 +0000 Message-ID: References: <20171123003849.17093-1-longli@exchange.microsoft.com> In-Reply-To: <20171123003849.17093-1-longli@exchange.microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=pshilov@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2017-12-28T21:57:24.9198531Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic; Sensitivity=General x-originating-ip: [73.169.246.44] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;CY4PR21MB0693;7:I7cZF1OwXwiSMUgB/uNyc6fZWoWfmugC58hzyWxG2oNiTYAUG8D6UlTQM/88ksycbxDXIV5y5YPXXPUVPJ+aofMem604ySeH/EZAkPnxZAN2E0Wgdd8fjUh0BC1zAoTfxzdAjCehzInOpGVBk96zUYuoX6Suy+DVzf7JPsoUOdYG61U+NbjdGaYeA+U5qHslmyhlPquk8b2bGy3eK0Wlmsm67I426dqgNbj2sEdDq+f3nQMIP9njXCzRxcFJTLTW x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI;SCL:-1;SFV:NSPM;SFS:(10019020)(39380400002)(376002)(346002)(366004)(396003)(39860400002)(189003)(199004)(54534003)(77096006)(229853002)(2900100001)(6436002)(59450400001)(9686003)(6506007)(33656002)(55016002)(6306002)(10090500001)(7736002)(99286004)(2501003)(74316002)(6636002)(305945005)(3660700001)(2950100002)(4001150100001)(76176011)(1511001)(3280700002)(2421001)(7696005)(105586002)(106356001)(478600001)(3846002)(97736004)(110136005)(966005)(10290500003)(6116002)(14454004)(53936002)(6246003)(316002)(22452003)(5660300001)(107886003)(8990500004)(2561002)(86612001)(25786009)(2906002)(102836004)(4326008)(81156014)(81166006)(66066001)(86362001)(2201001)(8676002)(8936002)(68736007)(921003)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR21MB0693;H:CY4PR21MB0135.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 7382ec82-5da1-4887-4f5e-08d54e3dfbfe x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020020)(48565401081)(4534040)(4602075)(4627136)(201703031133081)(201702281549075)(5600026)(4604075)(3008032)(2017052603307);SRVR:CY4PR21MB0693; x-ms-traffictypediagnostic: CY4PR21MB0693: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(89211679590171)(9452136761055)(140211028294663)(176295241369792); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(61425038)(6040470)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231023)(944501075)(3002001)(10201501046)(6055026)(61426038)(61427038)(6041268)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:CY4PR21MB0693;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:CY4PR21MB0693; x-forefront-prvs: 05352A48BE authentication-results: spf=none (sender IP is ) smtp.mailfrom=pshilov@microsoft.com; x-microsoft-antispam-message-info: 74CkjYiMTqasdztZgC9WKKudWaJLlw3fluF1BEcQcQM+coUoCqcEk2dZAuBFXGW+J9OlqEwahZN28A3W+B8adA== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7382ec82-5da1-4887-4f5e-08d54e3dfbfe X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2017 21:57:26.9161 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR21MB0693 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id vBSLvfxL021876 Content-Length: 4416 Lines: 107 2017-11-22 16:38 GMT-08:00 Long Li : > From: Long Li > > Starting with SMB2 dialect 3.0, Microsoft introduced SMB Direct transport > protocol for transferring upper layer (SMB2) payload over RDMA via Infiniband, > RoCE or iWARP. The prococol is published in [MS-SMBD] > (https://msdn.microsoft.com/en-us/library/hh536346.aspx). > > Change log: > v2: > Implemented RDMA read/write via memory registration. > Re-arranged patches for review [Christoph Hellwig ]. > Restructured the code and fixed bugs on protocol timer and keepalive > [Tom Talpey ]. > > v3: > Improved performance by introducing an additional queue for handling > empty packets and reducing lock contention on IRQ path. > Added light weight profiling by reading TSC. > Improved the code for checking SMB versions when mounting with rdma option > [Leon Romanovsky ]. > Moved to use pages instead of buffers for passing I/O for RDMA > [Christoph Hellwig ]. > Removed redundant code and refactored I/O code paths > [Christoph Hellwig , Tom Talpey ]. > > v4: > Fixed connectivity issues with iWAPR devices. > Exported configurable protocol parameters to /proc/fs/cifs > [Steve French ] > Re-arranged patches for review > [Pavel Shilovsky ]. > > v5: > Fixed compiling errors on ia64, i386 and when INFINIBAND is not > configured. [kbuild test robot] > Profiling is removed and will be introduced in a seperate patch. > > v6: > Report internal code error via WARN_ON(). Change description in > Kconfig [Pavel Shilovsky ]. > > v7: > Removed the use of #ifdef CONFIG_CIFS_SMB_DIRECT in upper layer > code calling transport I/O. [Matthew Wilcox , > Tom Talpey ] > > v8: > Fixed comment typos and removed unused code > [Ronnie Sahlberg ] > Removed the first 7 patches in v7, which have been merged. > Restructed the code to move relevant function definitions to later patches. > [Pavel Shilovsky ] > Added a patch to disable signing when RDMA is in use. Signing will be > enabled after it is properly implemented in SMB Direct code paths. > Fixed an issue on passing the incorrect offset to smbd_buffer_descriptor_v1 > when RDMA read is used for SMB write. This was caused by recent CIFS > patches to remove packet length from SMB2 packet header. > > Long Li (16): > CIFS: SMBD: Upper layer connects to SMBDirect session > CIFS: SMBD: Implement function to reconnect to a SMB Direct transport > CIFS: SMBD: Upper layer reconnects to SMB Direct session > CIFS: SMBD: Implement function to destroy a SMB Direct connection > CIFS: SMBD: Upper layer destroys SMB Direct session on shutdown or > umount > CIFS: SMBD: Set SMB Direct maximum read or write size for I/O > CIFS: SMBD: Implement function to receive data via RDMA receive > CIFS: SMBD: Upper layer receives data via RDMA receive > CIFS: SMBD: Implement function to send data via RDMA send > CIFS: SMBD: Upper layer sends data via RDMA send > CIFS: SMBD: Implement RDMA memory registration > CIFS: SMBD: Upper layer performs SMB write via RDMA read through > memory registration > CIFS: SMBD: Read correct returned data length for RDMA write (SMB > read) I/O > CIFS: SMBD: Upper layer performs SMB read via RDMA write through > memory registration > CIFS: SMBD: Add SMB Direct debug counters > CIFS: SMBD: Disable signing on SMB direct transport > > fs/cifs/cifs_debug.c | 66 ++++ > fs/cifs/cifsglob.h | 16 +- > fs/cifs/cifssmb.c | 15 +- > fs/cifs/connect.c | 46 ++- > fs/cifs/file.c | 17 +- > fs/cifs/smb1ops.c | 4 +- > fs/cifs/smb2ops.c | 24 +- > fs/cifs/smb2pdu.c | 117 ++++++- > fs/cifs/smbdirect.c | 947 +++++++++++++++++++++++++++++++++++++++++++++++++++ > fs/cifs/smbdirect.h | 72 ++++ > fs/cifs/transport.c | 8 +- > 11 files changed, 1308 insertions(+), 24 deletions(-) > > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-cifs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Reviewed-by: Pavel Shilovsky -- Best regards, Pavel Shilovsky