]> asedeno.scripts.mit.edu Git - linux.git/commit
rds: fix reordering with composite message notification
authorSantosh Shilimkar <santosh.shilimkar@oracle.com>
Wed, 19 Jun 2019 05:12:05 +0000 (22:12 -0700)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Wed, 10 Jul 2019 04:45:41 +0000 (21:45 -0700)
commit616d37a070bb33ea387d0e93343acd8336a30886
tree4948535da4413ccff0eda2585df87c5bda4a801d
parent1ff2f0fa450ea4e4f87793d9ed513098ec6e12be
rds: fix reordering with composite message notification

RDS composite message(rdma + control) user notification needs to be
triggered once the full message is delivered and such a fix was
added as part of commit 941f8d55f6d61 ("RDS: RDMA: Fix the composite
message user notification"). But rds_send_remove_from_sock is missing
data part notify check and hence at times the user don't get
notification which isn't desirable.

One way is to fix the rds_send_remove_from_sock to check of that case
but considering the ordering complexity with completion handler and
rdma + control messages are always dispatched back to back in same send
context, just delaying the signaled completion on rmda work request also
gets the desired behaviour. i.e Notifying application only after
RDMA + control message send completes. So patch updates the earlier
fix with this approach. The delay signaling completions of rdma op
till the control message send completes fix was done by Venkat
Venkatsubra in downstream kernel.

Reviewed-and-tested-by: Zhu Yanjun <yanjun.zhu@oracle.com>
Reviewed-by: Gerd Rausch <gerd.rausch@oracle.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
net/rds/ib_send.c
net/rds/rdma.c
net/rds/rds.h
net/rds/send.c