> -----Original Message----- > From: linux-rdma-owner@xxxxxxxxxxxxxxx <linux-rdma-owner@xxxxxxxxxxxxxxx> > On Behalf Of Hefty, Sean > Sent: Tuesday, August 28, 2018 2:37 PM > To: Parav Pandit <parav@xxxxxxxxxxxx>; Leon Romanovsky > <leon@xxxxxxxxxx>; Doug Ledford <dledford@xxxxxxxxxx>; Jason Gunthorpe > <jgg@xxxxxxxxxxxx> > Cc: Leon Romanovsky <leonro@xxxxxxxxxxxx>; RDMA mailing list <linux- > rdma@xxxxxxxxxxxxxxx>; Daniel Jurgens <danielj@xxxxxxxxxxxx>; Feras Daoud > <ferasda@xxxxxxxxxxxx>; Maor Gottlieb <maorg@xxxxxxxxxxxx>; > Muhammad Sammar <muhammads@xxxxxxxxxxxx> > Subject: RE: [PATCH rdma-next 5/6] RDMA/{cma, core}: Avoid callback on > rdma_addr_cancel() > > > A callback could already be in progress (but not yet > > > hit the caller's code) when they call cancel. > > When a call is getting cancelled, if callback is already in progress, > > rdma_addr_cancel() waits for the callback to get completed by > > performing cancel_delayed_work_sync(). > > I think this resolves the race I was mentioning. > Yeah, this simplification wasn't achievable before commit 44e75052b from Jason where more simplification and bug fix was done.