Re: negative dentry_stat.nr_unused causes aggressive dcache pruning

From: Steve Lord
Date: Thu Dec 09 2004 - 16:03:29 EST


Andrew Morton wrote:
Steve Lord <lord@xxxxxxx> wrote:

I have seen this stat go negative (just from booting up a multi cpu box),
and looking at the code, it is manipulated without locking in a number
of places. I have only seen this in real life on a 2.4 kernel, but 2.6
also looks vulnerable.


In 2.6, both dentry_stat.nr_unused and dentry_stat.nr_dentry are covered
by dcache_lock. I just double-checked and all seems well.


I still do not know exactly how the count gets negative, but I tracked it
down to a user space app from emulex called HBAanywhere. The only thing I
can see this doing which might be related is attempting to open a lot of
non-existant /proc entries:

/proc/scsi//120
/proc/scsi//121
etc...

Yes there is a // in there.

I ran with a BUG call if we manipulate nr_unused without the dcache lock
and it never tripped. All very wierd.

Steve



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/