Patch "xprtrdma: use complete() instead complete_all()" has been added to the 4.8-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
xprtrdma: use complete() instead complete_all()
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
xprtrdma-use-complete-instead-complete_all.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
5690a22d8612e1788b48b4ea53c59868589cd2dbMon Sep 17 00:00:00 2001
From: Daniel Wagner <[email protected]>
Date: Fri, 23 Sep 2016 10:41:57 +0200
Subject: xprtrdma: use complete() instead complete_all()
From: Daniel Wagner <[email protected]>
commit 5690a22d8612e1788b48b4ea53c59868589cd2db upstream.
There is only one waiter for the completion, therefore there is no need to use complete_all(). Let's make that clear by using complete() instead of complete_all().
The usage pattern of the completion is:
waiter context waker context
frwr_op_unmap_sync()
reinit_completion()
ib_post_send()
wait_for_completion()
frwr_wc_localinv_wake()
complete()
--- net/sunrpc/xprtrdma/frwr_ops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
net/sunrpc/xprtrdma/frwr_ops.c +1 -1
@@ -329,7 +329,7 @@ frwr_wc_localinv_wake(struct ib_cq *cq, frmr = container_of(cqe, struct rpcrdma_frmr, fr_cqe);if (wc->status !=IB_WC_SUCCESS )__frwr_sendcompletion_flush (wc, frmr,"localinv" ); -complete_all (&frmr->fr_linv_done); +complete (&frmr->fr_linv_done); }/* Post a REG_MR Work Request to register a memory region
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/xprtrdma-use-complete-instead-complete_all.patch
Hi Greg,
Quoted 17 lines · On 11/17/2016 08:15 AM, [email protected] wrote:
From
5690a22d8612e1788b48b4ea53c59868589cd2dbMon Sep 17 00:00:00 2001
From: Daniel Wagner <[email protected]>
Date: Fri, 23 Sep 2016 10:41:57 +0200
Subject: xprtrdma: usecomplete()insteadcomplete_all()From: Daniel Wagner <[email protected]>
commit
5690a22d8612e1788b48b4ea53c59868589cd2dbupstream.There is only one waiter for the completion, therefore there is no need to use
complete_all(). Let's make that clear by usingcomplete()instead ofcomplete_all().The usage pattern of the completion is:
waiter context waker context
Quoted 7 lines
frwr_op_unmap_sync()
reinit_completion()
ib_post_send()
wait_for_completion()
frwr_wc_localinv_wake()
complete()
I don't think this needs to got into stable. The original code isn't broken. This patch is a cleanup unless I miss something :)
cheers,
daniel
Greg KH
maintainerQuoted 25 lines · Daniel Wagner
Hi Greg,
Quoted 22 lines · On 11/17/2016 08:15 AM, [email protected] wrote:
From
5690a22d8612e1788b48b4ea53c59868589cd2dbMon Sep 17 00:00:00 2001
From: Daniel Wagner <[email protected]>
Date: Fri, 23 Sep 2016 10:41:57 +0200
Subject: xprtrdma: usecomplete()insteadcomplete_all()From: Daniel Wagner <[email protected]>
commit
5690a22d8612e1788b48b4ea53c59868589cd2dbupstream.There is only one waiter for the completion, therefore there is no need to use
complete_all(). Let's make that clear by usingcomplete()instead ofcomplete_all().The usage pattern of the completion is:
waiter context waker context
frwr_op_unmap_sync()
reinit_completion()
ib_post_send()
wait_for_completion()
Quoted 5 lines
Quoted 2 lines
frwr_wc_localinv_wake()
complete()I don't think this needs to got into stable. The original code isn't broken. This patch is a cleanup unless I miss something :)
It is needed for the patch after this one in the series.
thanks,
greg k-h
Quoted 4 lines
Quoted 2 lines
I don't think this needs to got into stable. The original code isn't broken. This patch is a cleanup unless I miss something :)
It is needed for the patch after this one in the series.
Ah, thanks for the clarification. I haven't checked the whole series obviously. Sorry about that.
cheers,
daniel