Re: dentry_cache using up all my zone normal memory -- also seen on 2.6.14-rc2

Trond Myklebust
2005-09-21T21:15:05Z

to den 22.09.2005 Klokka 02:30 (+0530) skreiv Dipankar Sarma:
> On Wed, Sep 21, 2005 at 02:59:30PM -0600, Christopher Friesen wrote:
> > Sonny Rao wrote:
> >
> > >Over one million files open at once is just asking for trouble on a
> > >lowmem-crippled x86 machine, IMHO.
> >
> > I don't think there actually are. I ran the testcase under strace, and
> > it appears that there are two threads going at once.
> >
> > thread 1 spins doing the following:
> > fd = creat("./rename14", 0666);
> > unlink("./rename14");
> > close(fd);
> >
> > thread 2 spins doing:
> > rename("./rename14", "./rename14xyz");
>
> Ewww.. Looks like a leak due to a race.
>
> Does this happen on a non-nfs filesystem ?

...and what is "an NFS filesystem"? v2, v3, v4, ...?

Note also that the above test will be heavily exercising the sillyrename
code. Is Chris perhaps seeing vast numbers of .nfs* files resulting from
this test?

Also note that one change went into 2.6.13 that causes the icache to
evict inodes corresponding to files that end up being deleted by
nfs_rename(). Previously, they could end up floating around in the
icache because the i_nlink count was non-zero.

Cheers,
Trond