On Sun, Feb 25, 2018 at 6:21 PM, Sowmini Varadhan
wrote:
> RDS applications use predominantly request-response, transacation
> based IPC, so that ingress and egress traffic are well-balanced,
> and it is possible/desirable to reduce system-call overhead by
> piggybacking the notifications for zerocopy completion response
> with data.
>
> Moreover, it has been pointed out that socket functions block
> if sk_err is non-zero, thus if the RDS code does not plan/need
> to use sk_error_queue path for completion notification, it
> is preferable to remove the sk_errror_queue related paths in
> RDS.
>
> Both of these goals are implemented in this series.
>
> v2: removed sk_error_queue support
> v3: incorporated additional code review comments (details in each patch)
>
> Sowmini Varadhan (3):
> selftests/net: revert the zerocopy Rx path for PF_RDS
> rds: deliver zerocopy completion notification with data
> selftests/net: reap zerocopy completions passed up as ancillary data.
>
> include/uapi/linux/errqueue.h |2 -
> include/uapi/linux/rds.h |7 ++
> net/rds/af_rds.c |7 +-
> net/rds/message.c | 38 -
> net/rds/rds.h |2 +
> net/rds/recv.c | 31 +++-
> tools/testing/selftests/net/msg_zerocopy.c | 120
>
> 7 files changed, 111 insertions(+), 96 deletions(-)
For the series:
Acked-by Willem de Bruijn
Small item I missed in v2: the recvmsg in patch 3 should fail hard with
error() on an unexpected errno. Not worth sending a v4 just for that.