Skip to content

Commit

Permalink
cifs: add mount parameter tcpnodelay
Browse files Browse the repository at this point in the history
Although corking and uncorking the socket (which cifs.ko already
does) should usually have the desired benefit, using the new
tcpnodelay mount option causes tcp_sock_set_nodelay() to be set
on the socket which may be useful in order to ensure that we don't
ever have cases where the network stack is waiting on sending an
SMB request until multiple SMB requests have been added to the
send queue (since this could lead to long latencies).

To enable it simply append "tcpnodelay" it to the mount options

Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
  • Loading branch information
Steve French committed Nov 2, 2021
1 parent 7be3248 commit 7ae5e58
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
8 changes: 8 additions & 0 deletions fs/cifs/fs_context.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ const struct fs_parameter_spec smb3_fs_parameters[] = {
fsparam_flag("nosharesock", Opt_nosharesock),
fsparam_flag_no("persistenthandles", Opt_persistent),
fsparam_flag_no("resilienthandles", Opt_resilient),
fsparam_flag_no("tcpnodelay", Opt_tcp_nodelay),
fsparam_flag("domainauto", Opt_domainauto),
fsparam_flag("rdma", Opt_rdma),
fsparam_flag("modesid", Opt_modesid),
Expand Down Expand Up @@ -1389,6 +1390,13 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
}
}
break;
case Opt_tcp_nodelay:
/* tcp nodelay should not usually be needed since we CORK/UNCORK the socket */
if (result.negated)
ctx->sockopt_tcp_nodelay = false;
else
ctx->sockopt_tcp_nodelay = true;
break;
case Opt_domainauto:
ctx->domainauto = true;
break;
Expand Down
1 change: 1 addition & 0 deletions fs/cifs/fs_context.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ enum cifs_param {
Opt_nosharesock,
Opt_persistent,
Opt_resilient,
Opt_tcp_nodelay,
Opt_domainauto,
Opt_rdma,
Opt_modesid,
Expand Down

0 comments on commit 7ae5e58

Please sign in to comment.