Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1518531

Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated create_singlethread_workqueue

From Jeff Layton <jlayton@poochiereds.net>
Newsgroups linux.kernel
Subject Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated create_singlethread_workqueue
Date 2016-11-09 23:40 +0100
Message-ID <sBJHc-5by-7@gated-at.bofh.it> (permalink)
References (4 earlier) <sBAXg-7ME-23@gated-at.bofh.it> <sBDV7-1hG-17@gated-at.bofh.it> <sBF0R-1Ui-3@gated-at.bofh.it> <sBH2G-3by-11@gated-at.bofh.it> <sBHFo-3Hm-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, 2016-11-09 at 15:23 -0500, J. Bruce Fields wrote:
On Wed, Nov 09, 2016 at 02:47:24PM -0500, J. Bruce Fields wrote:

For now I wish we could just like to continue assuming the workqueue
processes only one item at a time.  Do we have that now, or do we need
to switch to (looking at workqueue.h...) alloc_ordered workqueue()?

Oh, wait, I missed the _ordered_ in:

	#define create_singlethread_workqueue(name) \
	        alloc_ordered_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM, name)

So our existing create_singlethread_workqueue is fine--but we probably
don't need those flags:

--b.

diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index 211dc2aed8e1..eb78109d666c 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -1061,7 +1061,7 @@ static const struct rpc_call_ops nfsd4_cb_ops = {
 
 int nfsd4_create_callback_queue(void)
 {
-	callback_wq = create_singlethread_workqueue("nfsd4_callbacks");
+	callback_wq = alloc_ordered_workqueue("nfsd4_callbacks", 0);
 	if (!callback_wq)
 		return -ENOMEM;
 	return 0;

That looks good to me. Eventually we could better serialize the handling
of the callback code and move to an unordered workqueue, but for now I
think Bruce is right that we have to keep it.


Reviewed-by: Jeff Layton <jlayton@redhat.com>

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue "J. Bruce Fields" <bfields@fieldses.org> - 2016-11-08 22:40 +0100
  Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue Tejun Heo <tj@kernel.org> - 2016-11-09 00:00 +0100
    Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue "J. Bruce Fields" <bfields@fieldses.org> - 2016-11-09 02:30 +0100
      Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue Jeff Layton <jlayton@poochiereds.net> - 2016-11-09 14:20 +0100
        Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue Trond Myklebust <trondmy@primarydata.com> - 2016-11-09 16:10 +0100
          Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue Jeff Layton <jlayton@poochiereds.net> - 2016-11-09 16:20 +0100
        Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue "J. Bruce Fields" <bfields@fieldses.org> - 2016-11-09 17:30 +0100
          Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue Jeff Layton <jlayton@poochiereds.net> - 2016-11-09 18:40 +0100
            Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue "J. Bruce Fields" <bfields@fieldses.org> - 2016-11-09 20:50 +0100
              Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue "J. Bruce Fields" <bfields@fieldses.org> - 2016-11-09 21:30 +0100
                Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated  create_singlethread_workqueue Jeff Layton <jlayton@poochiereds.net> - 2016-11-09 23:40 +0100

csiph-web