Re: [PATCH 0/7] Eliminate delegation self-conflicts

From: J. Bruce Fields
Date: Mon Feb 11 2019 - 10:58:14 EST


On Sat, Feb 09, 2019 at 07:43:54AM -0500, Jeff Layton wrote:
> On Fri, 2019-02-08 at 15:10 -0500, J. Bruce Fields wrote:
> > From: "J. Bruce Fields" <bfields@xxxxxxxxxx>
> >
> > These patches allow NFSv4 clients holding delegations to keep them when
> > the operation that would break a delegation comes from the same client.
> >
> > To do that, we somehow need to pass the identity of the
> > delegation-breaker down through the VFS.
> >
> > This series uses the tgid, a solution suggested by Trond. To do that we
> > need nfsd tasks to share the same tgid. I do that by extending the
> > kthread code slightly to allow knfsd to run the kthreadd main loop in a
> > task of its own, and spawn its server threads off of that task.
...
> Nice work! I like the basic idea, the changes seem to be well-organized,
> and the tgid semantics are clear and make sense.
>
> Would this preclude us from moving to a workqueue-based model for knfsd
> later? It's likely to still be worth it, but it'd be good to understand
> the potential drawbacks.

I was wondering about that too, but I haven't looked into it yet.
Workqueues look a lot more complicated than kthreads.

--b.