Message ID | 1478730923.24935.3.camel@poochiereds.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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;
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. 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> -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html