[PATCH v2 2/3] nvme-rdma: don't complete requests before a send work request has completed
Christoph Hellwig
hch at lst.de
Thu Nov 9 01:21:10 PST 2017
> + }
> +
> + spin_lock_irqsave(&req->lock, flags);
> + req->send_completed = true;
> + end = req->resp_completed;
> + spin_unlock_irqrestore(&req->lock, flags);
Wouldn't it be better to use atomic bitops (test_and_set_bit and co)
for these flags instead of needing a irqsave lock?
> err = nvme_rdma_post_send(queue, sqe, req->sge, req->num_sge,
> - req->mr->need_inval ? &req->reg_wr.wr : NULL);
> + req->mr->need_inval ? &req->reg_wr.wr : NULL, true);
Looks like the unsignalled completions just removed in the last patch
are coming back here.
More information about the Linux-nvme
mailing list