Thanks Jason. -----Original Message----- From: Jason Gunthorpe <jgg@xxxxxxxxxx> Sent: Thursday, June 30, 2022 6:58 PM To: Bob Pearson <rpearsonhpe@xxxxxxxxx> Cc: zyjzyj2000@xxxxxxxxx; Hack, Jenny (Ft. Collins) <jhack@xxxxxxx>; Zago, Frank <frank.zago@xxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx Subject: Re: [PATCH] RDMA/rxe: Fix deadlock in rxe_do_local_ops() On Mon, May 23, 2022 at 05:32:52PM -0500, Bob Pearson wrote: > When a local operation (invalidate mr, reg mr, bind mw) is finished > there will be no ack packet coming from a responder to cause the wqe > to be completed. This may happen anyway if a subsequent wqe performs > IO. Currently if the wqe is signalled the completer tasklet is > scheduled immediately but not otherwise. > > This leads to a deadlock if the next wqe has the fence bit set in send > flags and the operation is not signalled. This patch removes the > condition that the wqe must be signalled in order to schedule the > completer tasklet which is the simplest fix for this deadlock and is > fairly low cost. This is the analog for local operations of always > setting the ackreq bit in all last or only request packets even if the > operation is not signalled. > > Reported-by: Jenny Hack <jhack@xxxxxxx> > Fixes: c1a411268a4b1 ("RDMA/rxe: Move local ops to subroutine") > Signed-off-by: Bob Pearson <rpearsonhpe@xxxxxxxxx> > --- > drivers/infiniband/sw/rxe/rxe_req.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) Applied to for-next, thanks Jason