Skip to contentSkip to conversation

Patch "xprtrdma: use complete() instead complete_all()" has been added to the 4.8-stable tree

PATCH [email protected] 2 participants 4 messages Nov 17, 2016

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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 5690a22d8612e1788b48b4ea53c59868589cd2db Mon 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

#1 lore raw

Hi Greg,

Quoted 17 lines · On 11/17/2016 08:15 AM, [email protected] wrote:

From 5690a22d8612e1788b48b4ea53c59868589cd2db Mon 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

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

author maintainer
#2 lore raw
Quoted 25 lines · Daniel Wagner

Hi Greg,

Quoted 22 lines · On 11/17/2016 08:15 AM, [email protected] wrote:

From 5690a22d8612e1788b48b4ea53c59868589cd2db Mon 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()

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

#3 lore raw
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