[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20180216.161354.1005826265047434117.davem@davemloft.net>
Date: Fri, 16 Feb 2018 16:13:54 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: sowmini.varadhan@...cle.com
Cc: netdev@...r.kernel.org, willemdebruijn.kernel@...il.com,
rds-devel@....oracle.com, santosh.shilimkar@...cle.com
Subject: Re: [PATCH v3 net-next 0/7] RDS: zerocopy support
From: Sowmini Varadhan <sowmini.varadhan@...cle.com>
Date: Thu, 15 Feb 2018 10:49:31 -0800
> This is version 3 of the series, following up on review comments for
> http://patchwork.ozlabs.org/project/netdev/list/?series=28530
>
> Review comments addressed
> Patch 4
> - fix fragile use of skb->cb[], do not set ee_code incorrectly.
> Patch 5:
> - remove needless bzero of skb->cb[], consolidate err cleanup
>
> A brief overview of this feature follows.
>
> This patch series provides support for MSG_ZERCOCOPY
> on a PF_RDS socket based on the APIs and infrastructure added
> by Commit f214f915e7db ("tcp: enable MSG_ZEROCOPY")
>
> For single threaded rds-stress testing using rds-tcp with the
> ixgbe driver using 1M message sizes (-a 1M -q 1M) preliminary
> results show that there is a significant reduction in latency: about
> 90 usec with zerocopy, compared with 200 usec without zerocopy.
>
> This patchset modifies the above for zerocopy in the following manner.
> - if the MSG_ZEROCOPY flag is specified with rds_sendmsg(), and,
> - if the SO_ZEROCOPY socket option has been set on the PF_RDS socket,
> application pages sent down with rds_sendmsg are pinned. The pinning
> uses the accounting infrastructure added by a91dbff551a6 ("sock: ulimit
> on MSG_ZEROCOPY pages"). The message is unpinned when all references
> to the message go down to 0, and the message is freed by rds_message_purge.
>
> A multithreaded application using this infrastructure must send down
> a unique 32 bit cookie as ancillary data with each sendmsg invocation.
> The format of this ancillary data is described in Patch 5 of the series.
> The cookie is passed up to the application on the sk_error_queue when
> the message is unpinned, indicating to the application that it is now
> safe to free/reuse the message buffer. The details of the completion
> notification are provided in Patch 4 of this series.
Series applied, thanks a lot!
Powered by blists - more mailing lists