Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752537AbdH3Skb (ORCPT ); Wed, 30 Aug 2017 14:40:31 -0400 Received: from mail-bl2nam02on0134.outbound.protection.outlook.com ([104.47.38.134]:2258 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752020AbdH3Sk3 (ORCPT ); Wed, 30 Aug 2017 14:40:29 -0400 From: Long Li 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 Subject: RE: [Patch v3 00/19] CIFS: Implement SMB Direct Thread-Topic: [Patch v3 00/19] CIFS: Implement SMB Direct Thread-Index: AQHTIP1Rb6OsSCtlG0+rSawV3U13eKKdO0mg Date: Wed, 30 Aug 2017 18:40:25 +0000 Message-ID: References: <20170829192915.26251-1-longli@exchange.microsoft.com> In-Reply-To: <20170829192915.26251-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_Ref=https://api.informationprotection.azure.com/api/72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=longli@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2017-08-30T11:40:24.4977703-07:00; 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: [2001:4898:80e8:c::735] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;MWHPR21MB0191;6:Og6PxCYVm9RBge/16Z5Tr5b47FseMi34EZt8trfbEoGq3a/zUoCAVPfkJnkymmTvGG5/mWbhir/NJc0H4jQ9j9TW3ImH/AiZfWGwcTsAXCYIwQ5waKZpD+fInP+YdMhCR7NW1G6eoSFP9G9cwM6/bJ0EvyWdXI9O+RkNm16kbDEZyrgyzqT7SQF1COntmXJ9aqIHmBCfFrj/9YUV+3KqoBkj/z5Xa3KAOWRQ0iKQrtdczwPRyPE8Z+vSQcLiT3IZ9TT+ZfSuJQphRZRl/7U/wPNstZQoduZrgtyNZCGxGn5qvhpJVbfNH3ClLYXae4Vr/UFDv9pEPW61G5SMhvLvbA==;5:qLvQU94sNVI8jaefnpEp0JnWBbh7VCDYzDu0clgaKv27I1/D7UutWpllX597B49SFV+axxkozj7nksgAZMEAGlCISZ/0IbSmV7LtfGmmdl1Km4+kzRTr+FWAAL9VWldcDLB5b4eZ0yr3IKIPc3rMng==;24:SfyGCHQKnABp62xN0zVxXKTVgsEP9dfzUMEuNdcCbB30T/CUXimHV5em3fntrxHK61q7pmiZyTw4O2eT5bD/aE9n4iSgVy5FEW+sD3s6umo=;7:ldkVHJBa+ZpDuLGewqsJGuh0aOq/xipEDtag2xURq6snmrF7NdX2/gDosFYlCJRT8WkThUfL1+zGpADHG/xVaBz3GLfbAlauf7WmG7nm12sPK5yhZiSs2uWIa/HWXft8DWzObuEcvD26adKwQ+Gs5KDavPbOKHiEixRKO9qfv9kG8fjKAZueHziTsCOSpAwaHKVzGhduZY6DmKJLsMDHJUf5nXxN8U7OErd7o8xApSs= x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: e8614d9c-f49d-40cb-9b1a-08d4efd69491 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:MWHPR21MB0191; x-ms-traffictypediagnostic: MWHPR21MB0191: authentication-results: spf=none (sender IP is ) smtp.mailfrom=longli@microsoft.com; x-exchange-antispam-report-test: UriScan:(89211679590171)(166708455590820)(9452136761055)(189930954265078)(140211028294663)(219752817060721)(21532816269658); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(61425038)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(6055026)(61426038)(61427038)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR21MB0191;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR21MB0191; x-forefront-prvs: 041517DFAB x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(39860400002)(47760400005)(189002)(377454003)(13464003)(3905003)(199003)(7696004)(6116002)(102836003)(2906002)(68736007)(86612001)(2201001)(5660300001)(86362001)(6436002)(2900100001)(2561002)(189998001)(6506006)(10290500003)(3280700002)(8990500004)(74316002)(5005710100001)(2950100002)(77096006)(2501003)(6636002)(478600001)(76176999)(54356999)(9686003)(10090500001)(50986999)(6306002)(101416001)(33656002)(55016002)(229853002)(99286003)(345774005)(3660700001)(6246003)(305945005)(7736002)(14454004)(2421001)(53936002)(25786009)(53546010)(1511001)(966005)(8936002)(105586002)(8676002)(81166006)(81156014)(106356001)(97736004);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR21MB0191;H:MWHPR21MB0190.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2017 18:40:25.9599 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0191 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 nfs id v7UIemtW028266 Content-Length: 3512 Lines: 82 > -----Original Message----- > From: Long Li [mailto:longli@exchange.microsoft.com] > Sent: Tuesday, August 29, 2017 12:29 PM > To: 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 > Cc: Long Li > Subject: [Patch v3 00/19] CIFS: Implement SMB Direct > > From: Long Li > > Starting with SMB2 dialect 3.0, Microsoft introduced SMBDirect transport > protocol for transferring upper layer (SMB2) payload over RDMA via > Infiniband, RoCE or iWARP. The prococol is published in [MS-SMBD] > (https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmsdn > .microsoft.com%2Fen- > us%2Flibrary%2Fhh536346.aspx&data=02%7C01%7Clongli%40microsoft.com > %7C73e721d48ac0402f414208d4ef1470f2%7C72f988bf86f141af91ab2d7cd011 > db47%7C1%7C0%7C636396318489728526&sdata=3ES4XY3qXqUVEJ37YUHlMJ > QWuxFeljzOEMhGXhmO2i0%3D&reserved=0). > > Patch v2 added RDMA read/write via memory registration, and addressed > feedbacks on v1. > > Patch v3 improved performance by introducing an additional queue for > handling empty packets and reducing lock contention on IRQ path. Also > added light weight profiling by reading TSC and addressed feedbacks on v2. I received some requests about testing the patch. Thank you for help testing. A snapshot of the development kernel with the patch set is at: https://github.com/longlimsft/linux-next/tree/patch_v3 During development, it is tested on Infiniband with Mellanox ConnectX-3. > > Long Li (19): > CIFS: Add rdma mount option > CIFS: SMBD: Add SMBDirect protocol and transport constants > CIFS: SMBD: Implement SMBDirect transport > CIFS: SMBD: Add SMBDirect transport to SMB connection and Makefile > CIFS: SMBD: Connect to SMBDirect session > CIFS: SMBD: Reconnect to SMBDirect session > CIFS: SMBD: Destroy SMBDirect session on shutdown or umount > CIFS: SMBD: Set SMBDirect maximum read or write size for I/O > CIFS: SMBD: Receive data from SMBDirect > CIFS: SMBD: Send data through SMBDirect > CIFS: SMBD: Define memory registration for I/O data > CIFS: SMBD: Fix the definition for SMB2_CHANNEL_RDMA_V1_INVALIDATE > CIFS: SMBD: Implement SMB write via RDMA read through memory > registration > CIFS: SMBD: Deregister memory on finishing SMB write > CIFS: SMBD: Add parameter rdata to smb2_new_read_req > CIFS: SMBD: Read correct returned data length for RDMA write (SMB > read) I/O > CIFS: SMBD: Implement SMB read via RDMA write through memory > registration > CIFS: SMBD: Deregister memory when finishing SMB read > CIFS: SMBD: Add SMBDirect debug counters > > fs/cifs/Makefile | 2 +- > fs/cifs/cifs_debug.c | 84 ++ > fs/cifs/cifsfs.c | 2 + > fs/cifs/cifsglob.h | 17 +- > fs/cifs/cifssmb.c | 10 +- > fs/cifs/connect.c | 46 +- > fs/cifs/file.c | 10 + > fs/cifs/smb1ops.c | 2 +- > fs/cifs/smb2ops.c | 21 +- > fs/cifs/smb2pdu.c | 114 ++- > fs/cifs/smb2pdu.h | 2 +- > fs/cifs/smbdirect.c | 2639 > ++++++++++++++++++++++++++++++++++++++++++++++++++ > fs/cifs/smbdirect.h | 324 +++++++ > fs/cifs/transport.c | 7 + > 14 files changed, 3260 insertions(+), 20 deletions(-) create mode 100644 > fs/cifs/smbdirect.c create mode 100644 fs/cifs/smbdirect.h > > -- > 2.7.4