Received: by 10.192.165.148 with SMTP id m20csp3565413imm; Mon, 23 Apr 2018 08:37:07 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+VgkiVtQKINNXui6+D0kuhqYZT1xs2YodtPhGAxD9Q1p8ROAW5D1AetqixTXDAlRfN7Y0X X-Received: by 10.99.177.5 with SMTP id r5mr16862511pgf.186.1524497827324; Mon, 23 Apr 2018 08:37:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524497827; cv=none; d=google.com; s=arc-20160816; b=GszfefvZFYkLZPdd8anIV2740rhOV2yAotNyMQhZG5cMN0vqD8clAQ2IKgtyh7qS2v ppml/asz3/4uK3FWzc5PXCvI1/8EEf1Pzj0UzOYF0lx7YeBwQj5T6lqkueSfWHDxDL+5 Xe32g9aXuNY3750J1Umep7QCCL6WE75t3G69hhyNJQuQ8yGVH3sRP/qIGD+u8QxUxRyi 6YKyvI4AA0yNUzU/YrzF33Af5fAgwcdt+3m5eWvi9oC8IvgDQ7X0xY6Cg1dGn7ZHvhhU 8Lfys8wIo4hVohwp/f8DEKt4K6EZweTnurKEER42xDwNqUFhckLqp9u0o0+WHD3+E1mR iPaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=bXVqvCwE7PB474HCycalBIag+5wkXI1digi5+/bMN7Q=; b=fUjCE2O/dLRyoPPC3b1/he0J20EyfFn9kpgOWJMs5g9UgLKL+Q+tTuw8oig4DIJNw8 dccS9ubmPcK3Ppamfch9s+OMcEhtg2kfRGgk/8HcVMmqgyHPufumio7P/+WCHtFscCSv Fuexddi5tMYreJH1D/3HkI/FnKRzGC6RORL51qAFrN9o1YdesLeNv8yob5bISkQfv4dw IW5uM7bNq7yARlmZ2JTZftYs5myu81U2jadc8by9TMMJJXj8QQCHYLkZ5+yWpbHTIClj P+bAKzTyDw+1oi5OBOAeu1OACSLCRv3dW2vrfWUcnvzI4HPLSzbPU5deHlyMbuh0fwGt T9Vw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Hd0CxJcn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a64-v6si10328450pla.530.2018.04.23.08.36.52; Mon, 23 Apr 2018 08:37:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Hd0CxJcn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755772AbeDWPfT (ORCPT + 99 others); Mon, 23 Apr 2018 11:35:19 -0400 Received: from mail-pg0-f68.google.com ([74.125.83.68]:38316 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755546AbeDWPfQ (ORCPT ); Mon, 23 Apr 2018 11:35:16 -0400 Received: by mail-pg0-f68.google.com with SMTP id b5so8651246pgv.5; Mon, 23 Apr 2018 08:35:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=bXVqvCwE7PB474HCycalBIag+5wkXI1digi5+/bMN7Q=; b=Hd0CxJcnXkT3WTMlzIOoiEDWWJj4EheqhWF+W8Vrov8i/Gv8ae9lxDCIydN6Gk6Y2o LXeDOi6/MabEytq3Cr4mGR0arWnCGi62t7ngvB5HzTEYyX9XLLZzBr8mzO3RCmXLPOeO TEI4/nu4630WYWGr7JpSa+XOpyZANte8RhyAqiVRhwlk/Tda4WR0dkqg5WDAnBrJn1e2 VJUSZz0rJ0x/MvU/PTBorG5i1dXpeSk+NLKWahgWcz1HSIUKU6nfNsAAjHTEid4LS5Yu NpDQr8RuFJ2IbluylCYBxbPh4q+MeLuN7O8gnkco6AKPJJ1TV27CW27ZmZFbGxtt6Oz9 xDew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=bXVqvCwE7PB474HCycalBIag+5wkXI1digi5+/bMN7Q=; b=RFqFHYLngmjdkMhJ3zbaRMphL3yN/dJX9H/Hm+VLC68ve/3WKJ840KUtFe7JTxlJ1y qxJ1Lvp20JZJgWW+Rwq5kWGIvkvPnYpakF43FJDDWH/fgilFdHa+bTCFpGST8j99oxsj CIaIi79SIhFqBSycWmkGiRYHM8+NVsAdUM5E2/PSd+2vdSUmTjdtv/OVrLQAB4H7B883 7asC6a+mkXXuuGuOAgX6yDnUZu0rA9MbqbKVRIzvEcA0CDTAKlyi3scY9D6z41AufRNS Z4wb+GCPUCF6MDRnLVQK+00tGctpRQmxlPEZUHYNDILWF8yhdk0e+s8hwyzlqUIXqvVb S3bw== X-Gm-Message-State: ALQs6tBUofyNkjyIS+tPbqZEskFKNu3VoZQx9dtzJyWMfZyICtIITsdX psHlJaUKB7kWEuyIHOYfP5JPVSyO1pN9dIamq6mJRg== X-Received: by 10.101.83.139 with SMTP id x11mr17783898pgq.15.1524497715675; Mon, 23 Apr 2018 08:35:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.100.152.97 with HTTP; Mon, 23 Apr 2018 08:34:55 -0700 (PDT) In-Reply-To: <20180417191710.14855-4-longli@linuxonhyperv.com> References: <20180417191710.14855-1-longli@linuxonhyperv.com> <20180417191710.14855-4-longli@linuxonhyperv.com> From: Steve French Date: Mon, 23 Apr 2018 10:34:55 -0500 Message-ID: Subject: Re: [Patch v2 4/6] cifs: smbd: Don't use RDMA read/write when signing is used To: Long Li Cc: Steve French , CIFS , samba-technical , LKML , linux-rdma@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org merged into cifs-2.6.git for-next On Tue, Apr 17, 2018 at 2:17 PM, Long Li wrote: > From: Long Li > > SMB server will not sign data transferred through RDMA read/write. When > signing is used, it's a good idea to have all the data signed. > > In this case, use RDMA send/recv for all data transfers. This will degrade > performance as this is not generally configured in RDMA environemnt. So > warn the user on signing and RDMA send/recv. > > Signed-off-by: Long Li > Cc: stable@vger.kernel.org > --- > fs/cifs/cifssmb.c | 3 +++ > fs/cifs/smb2ops.c | 18 ++++++++++++++---- > fs/cifs/smb2pdu.c | 4 ++-- > 3 files changed, 19 insertions(+), 6 deletions(-) > > diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c > index 6d3e40d..1529a08 100644 > --- a/fs/cifs/cifssmb.c > +++ b/fs/cifs/cifssmb.c > @@ -455,6 +455,9 @@ cifs_enable_signing(struct TCP_Server_Info *server, bool mnt_sign_required) > server->sign = true; > } > > + if (cifs_rdma_enabled(server) && server->sign) > + cifs_dbg(VFS, "Signing is enabled, and RDMA read/write will be disabled"); > + > return 0; > } > > diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c > index 38ebf3f..b76b858 100644 > --- a/fs/cifs/smb2ops.c > +++ b/fs/cifs/smb2ops.c > @@ -252,9 +252,14 @@ smb2_negotiate_wsize(struct cifs_tcon *tcon, struct smb_vol *volume_info) > wsize = volume_info->wsize ? volume_info->wsize : CIFS_DEFAULT_IOSIZE; > wsize = min_t(unsigned int, wsize, server->max_write); > #ifdef CONFIG_CIFS_SMB_DIRECT > - if (server->rdma) > - wsize = min_t(unsigned int, > + if (server->rdma) { > + if (server->sign) > + wsize = min_t(unsigned int, > + wsize, server->smbd_conn->max_fragmented_send_size); > + else > + wsize = min_t(unsigned int, > wsize, server->smbd_conn->max_readwrite_size); > + } > #endif > if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) > wsize = min_t(unsigned int, wsize, SMB2_MAX_BUFFER_SIZE); > @@ -272,9 +277,14 @@ smb2_negotiate_rsize(struct cifs_tcon *tcon, struct smb_vol *volume_info) > rsize = volume_info->rsize ? volume_info->rsize : CIFS_DEFAULT_IOSIZE; > rsize = min_t(unsigned int, rsize, server->max_read); > #ifdef CONFIG_CIFS_SMB_DIRECT > - if (server->rdma) > - rsize = min_t(unsigned int, > + if (server->rdma) { > + if (server->sign) > + rsize = min_t(unsigned int, > + rsize, server->smbd_conn->max_fragmented_recv_size); > + else > + rsize = min_t(unsigned int, > rsize, server->smbd_conn->max_readwrite_size); > + } > #endif > > if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) > diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c > index 41625e4..33f612f 100644 > --- a/fs/cifs/smb2pdu.c > +++ b/fs/cifs/smb2pdu.c > @@ -2595,7 +2595,7 @@ smb2_new_read_req(void **buf, unsigned int *total_len, > * If we want to do a RDMA write, fill in and append > * smbd_buffer_descriptor_v1 to the end of read request > */ > - if (server->rdma && rdata && > + if (server->rdma && rdata && !server->sign && > rdata->bytes >= server->smbd_conn->rdma_readwrite_threshold) { > > struct smbd_buffer_descriptor_v1 *v1; > @@ -2973,7 +2973,7 @@ smb2_async_writev(struct cifs_writedata *wdata, > * If we want to do a server RDMA read, fill in and append > * smbd_buffer_descriptor_v1 to the end of write request > */ > - if (server->rdma && wdata->bytes >= > + if (server->rdma && !server->sign && wdata->bytes >= > server->smbd_conn->rdma_readwrite_threshold) { > > struct smbd_buffer_descriptor_v1 *v1; > -- > 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 -- Thanks, Steve