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.