[PATCH] cifs: ask for more credit on async read/write code paths

Steve French smfrench at gmail.com
Fri Mar 5 02:24:38 UTC 2021


When doing a large read or write workload we only
very gradually increase the number of credits
which can cause problems with parallelizing large i/o
(I/O ramps up more slowly than it should for large
read/write workloads) especially with multichannel
when the number of credits on the secondary channels
starts out low (e.g. less than about 130) or when
recovering after server throttled back the number
of credit.

Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Shyam Prasad N <sprasad at microsoft.com>
Signed-off-by: Steve French <stfrench at microsoft.com>
---
 fs/cifs/smb2pdu.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
index 4bbb6126b14d..2199a9bfae8f 100644
--- a/fs/cifs/smb2pdu.c
+++ b/fs/cifs/smb2pdu.c
@@ -4041,8 +4041,7 @@ smb2_async_readv(struct cifs_readdata *rdata)
  if (rdata->credits.value > 0) {
  shdr->CreditCharge = cpu_to_le16(DIV_ROUND_UP(rdata->bytes,
  SMB2_MAX_BUFFER_SIZE));
- shdr->CreditRequest =
- cpu_to_le16(le16_to_cpu(shdr->CreditCharge) + 1);
+ shdr->CreditRequest = cpu_to_le16(le16_to_cpu(shdr->CreditCharge) + 8);

  rc = adjust_credits(server, &rdata->credits, rdata->bytes);
  if (rc)
@@ -4348,8 +4347,7 @@ smb2_async_writev(struct cifs_writedata *wdata,
  if (wdata->credits.value > 0) {
  shdr->CreditCharge = cpu_to_le16(DIV_ROUND_UP(wdata->bytes,
      SMB2_MAX_BUFFER_SIZE));
- shdr->CreditRequest =
- cpu_to_le16(le16_to_cpu(shdr->CreditCharge) + 1);
+ shdr->CreditRequest = cpu_to_le16(le16_to_cpu(shdr->CreditCharge) + 8);

  rc = adjust_credits(server, &wdata->credits, wdata->bytes);
  if (rc)

-- 
Thanks,

Steve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-cifs-ask-for-more-credit-on-async-read-write-code-pa.patch
Type: text/x-patch
Size: 1885 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20210304/b1bbb8b0/0001-cifs-ask-for-more-credit-on-async-read-write-code-pa.bin>


More information about the samba-technical mailing list