Re: [PATCH v5 0/6] fs/dcache: Track & limit # of negative dentries

From: Andrew Morton
Date: Mon Jul 02 2018 - 17:18:19 EST

On Mon, 2 Jul 2018 12:34:00 -0700 Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Sun, Jul 1, 2018 at 10:52 PM Waiman Long <longman@xxxxxxxxxx> wrote:
> >
> > A rogue application can potentially create a large number of negative
> > dentries in the system consuming most of the memory available if it
> > is not under the direct control of a memory controller that enforce
> > kernel memory limit.
> I certainly don't mind the patch series, but I would like it to be
> accompanied with some actual example numbers, just to make it all a
> bit more concrete.
> Maybe even performance numbers showing "look, I've filled the dentry
> lists with nasty negative dentries, now it's all slower because we
> walk those less interesting entries".

(Please cc linux-mm@xxxxxxxxx on this work)

Yup. The description of the user-visible impact of current behavior is
far too vague.

In the [5/6] changelog it is mentioned that a large number of -ve
dentries can lead to oom-killings. This sounds bad - -ve dentries
should be trivially reclaimable and we shouldn't be oom-killing in such
a situation.

Dumb question: do we know that negative dentries are actually
worthwhile? Has anyone checked in the past couple of decades? Perhaps
our lookups are so whizzy nowadays that we don't need them?