smb3: increase initial number of credits requested to allow write
authorSteve French <stfrench@microsoft.com>
Wed, 13 Jun 2018 22:05:58 +0000 (17:05 -0500)
committerSteve French <stfrench@microsoft.com>
Fri, 15 Jun 2018 07:38:08 +0000 (02:38 -0500)
Compared to other clients the Linux smb3 client ramps up
credits very slowly, taking more than 128 operations before a
maximum size write could be sent (since the number of credits
requested is only 2 per small operation, causing the credit
limit to grow very slowly).

This lack of credits initially would impact large i/o performance,
when large i/o is tried early before enough credits are built up.

Signed-off-by: Steve French <stfrench@gmail.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
fs/cifs/smb2pdu.c

index af032e1a3eac7adaf0570f5923e0ba6164e8ed6b..328e23abd241bd0c4e8f9fc5ffbf328cf2680e80 100644 (file)
@@ -990,8 +990,9 @@ SMB2_sess_alloc_buffer(struct SMB2_sess_data *sess_data)
        req->PreviousSessionId = sess_data->previous_session;
 
        req->Flags = 0; /* MBZ */
-       /* to enable echos and oplocks */
-       req->sync_hdr.CreditRequest = cpu_to_le16(3);
+
+       /* enough to enable echos and oplocks and one max size write */
+       req->sync_hdr.CreditRequest = cpu_to_le16(130);
 
        /* only one of SMB2 signing flags may be set in SMB2 request */
        if (server->sign)