Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1722897
| From | Pavel Shilovsky <piastryyy@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [Patch v3 02/19] CIFS: SMBD: Add SMBDirect protocol and transport constants |
| Date | 2017-08-30 00:50 +0200 |
| Message-ID | <ujXux-8x-5@gated-at.bofh.it> (permalink) |
| References | <ujUwF-6Me-9@gated-at.bofh.it> <ujUwI-6Me-67@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
2017-08-29 12:28 GMT-07:00 Long Li <longli@exchange.microsoft.com>: > From: Long Li <longli@microsoft.com> > > To prepare for protocol implementation, add constants and user-configurable > values in the SMBDirect protocol. > > Signed-off-by: Long Li <longli@microsoft.com> > --- > fs/cifs/smbdirect.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > fs/cifs/smbdirect.h | 20 ++++++++++++++ > 2 files changed, 98 insertions(+) > create mode 100644 fs/cifs/smbdirect.c > create mode 100644 fs/cifs/smbdirect.h > > diff --git a/fs/cifs/smbdirect.c b/fs/cifs/smbdirect.c > new file mode 100644 > index 0000000..d785bc1 > --- /dev/null > +++ b/fs/cifs/smbdirect.c > @@ -0,0 +1,78 @@ > +/* > + * Copyright (C) 2017, Microsoft Corporation. > + * > + * Author(s): Long Li <longli@microsoft.com> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See > + * the GNU General Public License for more details. > + */ > +#include <linux/module.h> > +#include "smbdirect.h" > +#include "cifs_debug.h" > + > +/* SMBD version number */ > +#define SMBD_V1 0x0100 > + > +/* Port numbers for SMBD transport */ > +#define SMB_PORT 445 > +#define SMBD_PORT 5445 > + > +/* Address lookup and resolve timeout in ms */ > +#define RDMA_RESOLVE_TIMEOUT 5000 > + > +/* SMBD negotiation timeout in seconds */ > +#define SMBD_NEGOTIATE_TIMEOUT 120 > + > +/* SMBD minimum receive size and fragmented sized defined in [MS-SMBD] */ > +#define SMBD_MIN_RECEIVE_SIZE 128 > +#define SMBD_MIN_FRAGMENTED_SIZE 131072 > + > +/* > + * Default maximum number of RDMA read/write outstanding on this connection > + * This value is possibly decreased during QP creation on hardware limit > + */ > +#define SMBD_CM_RESPONDER_RESOURCES 32 > + > +/* Maximum number of retries on data transfer operations */ > +#define SMBD_CM_RETRY 6 > +/* No need to retry on Receiver Not Ready since SMBD manages credits */ > +#define SMBD_CM_RNR_RETRY 0 > + > +/* > + * User configurable initial values per SMBD transport connection > + * as defined in [MS-SMBD] 3.1.1.1 > + * Those may change after a SMBD negotiation > + */ Since these value are per transport connection, why they are global? Shouldn't they be inside a some structure that is created for a particular connection? Also the constants below should be defines. > +/* The local peer's maximum number of credits to grant to the peer */ > +static int receive_credit_max = 255; > +/* The remote peer's credit request of local peer */ > +static int send_credit_target = 255; > +/* The maximum single message size can be sent to remote peer */ > +static int max_send_size = 1364; > +/* The maximum fragmented upper-layer payload receive size supported */ > +static int max_fragmented_recv_size = 1024 * 1024; > +/* The maximum single-message size which can be received */ > +static int max_receive_size = 8192; > + > +/* The timeout to initiate send of a keepalive message on idle */ > +static int keep_alive_interval = 120; > + > +/* > + * User configurable initial values for RDMA transport > + * The actual values used may be lower and are limited to hardware capabilities > + */ > +/* Default maximum number of SGEs in a RDMA send/recv */ > +static int max_send_sge = SMBDIRECT_MAX_SGE; > +static int max_recv_sge = SMBDIRECT_MAX_SGE; > +/* Default maximum number of SGEs in a RDMA write/read */ > +static int max_frmr_depth = 2048; > + > +/* If payload is less than this byte, use RDMA send/recv not read/write */ > +static int rdma_readwrite_threshold = 4096; > diff --git a/fs/cifs/smbdirect.h b/fs/cifs/smbdirect.h > new file mode 100644 > index 0000000..06eeb0b > --- /dev/null > +++ b/fs/cifs/smbdirect.h > @@ -0,0 +1,20 @@ > +/* > + * Copyright (C) 2017, Microsoft Corporation. > + * > + * Author(s): Long Li <longli@microsoft.com> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See > + * the GNU General Public License for more details. > + */ > +#ifndef _SMBDIRECT_H > +#define _SMBDIRECT_H > + > +#define SMBDIRECT_MAX_SGE 16 > +#endif > -- > 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 -- Best regards, Pavel Shilovsky
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[Patch v3 00/19] CIFS: Implement SMB Direct Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 07/19] CIFS: SMBD: Destroy SMBDirect session on shutdown or umount Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 04/19] CIFS: SMBD: Add SMBDirect transport to SMB connection and Makefile Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
Re: [Patch v3 04/19] CIFS: SMBD: Add SMBDirect transport to SMB connection and Makefile Pavel Shilovsky <piastryyy@gmail.com> - 2017-08-30 01:20 +0200
RE: [Patch v3 04/19] CIFS: SMBD: Add SMBDirect transport to SMB connection and Makefile Long Li <longli@microsoft.com> - 2017-08-30 01:20 +0200
[Patch v3 09/19] CIFS: SMBD: Receive data from SMBDirect Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 01/19] CIFS: Add rdma mount option Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
Re: [Patch v3 01/19] CIFS: Add rdma mount option Pavel Shilovsky <piastryyy@gmail.com> - 2017-08-30 00:40 +0200
RE: [Patch v3 01/19] CIFS: Add rdma mount option Long Li <longli@microsoft.com> - 2017-08-30 01:00 +0200
[Patch v3 11/19] CIFS: SMBD: Define memory registration for I/O data Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
Re: [Patch v3 11/19] CIFS: SMBD: Define memory registration for I/O data Pavel Shilovsky <piastryyy@gmail.com> - 2017-08-30 02:50 +0200
RE: [Patch v3 11/19] CIFS: SMBD: Define memory registration for I/O data Long Li <longli@microsoft.com> - 2017-08-30 04:20 +0200
[Patch v3 12/19] CIFS: SMBD: Fix the definition for SMB2_CHANNEL_RDMA_V1_INVALIDATE Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
Re: [Patch v3 12/19] CIFS: SMBD: Fix the definition for SMB2_CHANNEL_RDMA_V1_INVALIDATE Pavel Shilovsky <piastryyy@gmail.com> - 2017-08-30 03:00 +0200
RE: [Patch v3 12/19] CIFS: SMBD: Fix the definition for SMB2_CHANNEL_RDMA_V1_INVALIDATE Long Li <longli@microsoft.com> - 2017-08-30 04:20 +0200
[Patch v3 10/19] CIFS: SMBD: Send data through SMBDirect Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 19/19] CIFS: SMBD: Add SMBDirect debug counters Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 17/19] CIFS: SMBD: Implement SMB read via RDMA write through memory registration Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 14/19] CIFS: SMBD: Deregister memory on finishing SMB write Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 08/19] CIFS: SMBD: Set SMBDirect maximum read or write size for I/O Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 18/19] CIFS: SMBD: Deregister memory when finishing SMB read Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 06/19] CIFS: SMBD: Reconnect to SMBDirect session Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
Re: [Patch v3 06/19] CIFS: SMBD: Reconnect to SMBDirect session Pavel Shilovsky <piastryyy@gmail.com> - 2017-08-30 01:30 +0200
RE: [Patch v3 06/19] CIFS: SMBD: Reconnect to SMBDirect session Long Li <longli@microsoft.com> - 2017-08-30 01:40 +0200
[Patch v3 15/19] CIFS: SMBD: Add parameter rdata to smb2_new_read_req Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 13/19] CIFS: SMBD: Implement SMB write via RDMA read through memory registration Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
[Patch v3 02/19] CIFS: SMBD: Add SMBDirect protocol and transport constants Long Li <longli@exchange.microsoft.com> - 2017-08-29 21:40 +0200
Re: [Patch v3 02/19] CIFS: SMBD: Add SMBDirect protocol and transport constants Pavel Shilovsky <piastryyy@gmail.com> - 2017-08-30 00:50 +0200
RE: [Patch v3 02/19] CIFS: SMBD: Add SMBDirect protocol and transport constants Long Li <longli@microsoft.com> - 2017-08-30 01:10 +0200
Re: [Patch v3 02/19] CIFS: SMBD: Add SMBDirect protocol and transport constants Pavel Shilovsky <piastryyy@gmail.com> - 2017-08-30 20:20 +0200
RE: [Patch v3 02/19] CIFS: SMBD: Add SMBDirect protocol and transport constants Long Li <longli@microsoft.com> - 2017-08-30 20:30 +0200
Re: [Patch v3 02/19] CIFS: SMBD: Add SMBDirect protocol and transport constants Pavel Shilovsky <piastryyy@gmail.com> - 2017-08-30 20:40 +0200
Re: [Patch v3 02/19] CIFS: SMBD: Add SMBDirect protocol and transport constants Steve French <smfrench@gmail.com> - 2017-09-01 17:50 +0200
RE: [Patch v3 00/19] CIFS: Implement SMB Direct Long Li <longli@microsoft.com> - 2017-08-30 20:50 +0200
csiph-web