[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <170121686264.7109.13475581089284671405@noble.neil.brown.name>
Date: Wed, 29 Nov 2023 11:14:22 +1100
From: "NeilBrown" <neilb@...e.de>
To: "Oleg Nesterov" <oleg@...hat.com>
Cc: "Al Viro" <viro@...iv.linux.org.uk>,
"Christian Brauner" <brauner@...nel.org>,
"Jens Axboe" <axboe@...nel.dk>,
"Chuck Lever" <chuck.lever@...cle.com>,
"Jeff Layton" <jlayton@...nel.org>,
"Ingo Molnar" <mingo@...hat.com>,
"Peter Zijlstra" <peterz@...radead.org>,
"Juri Lelli" <juri.lelli@...hat.com>,
"Vincent Guittot" <vincent.guittot@...aro.org>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-nfs@...r.kernel.org
Subject: Re: [PATCH/RFC] core/nfsd: allow kernel threads to use task_work.
On Wed, 29 Nov 2023, Oleg Nesterov wrote:
> On 11/28, NeilBrown wrote:
> >
> > I have evidence from a customer site of 256 nfsd threads adding files to
> > delayed_fput_lists nearly twice as fast they are retired by a single
> > work-queue thread running delayed_fput(). As you might imagine this
> > does not end well (20 million files in the queue at the time a snapshot
> > was taken for analysis).
>
> On a related note... Neil, Al, et al, can you look at
>
> [PATCH 1/3] fput: don't abuse task_work_add() when possible
> https://lore.kernel.org/all/20150908171446.GA14589@redhat.com/
>
Would it make sense to create a separate task_struct->delayed_fput
llist?
fput() adds the file to this llist and if it was the first item on the
list, it then adds the task_work. That would probably request adding a
callback_head to struct task_struct as well.
NeilBrown
Powered by blists - more mailing lists