Re: [patch] real fix [Re: [patch] fixed 2.2.1 inode-leakage due bogus design of the free_inodes algo

Steve Dodd (dirk@loth.demon.co.uk)
Wed, 10 Feb 1999 12:01:23 +0000


Hi,

On Fri, Feb 05, 1999 at 12:46:43AM +0100, Andrea Arcangeli wrote:

> free_inode_memory() is ok to not be recalled from try_to_free_pages()
> because it can't generate more free memory but only more clean inode to
> reuse in the filesystem so only the fs must call it when get_new_inode()
> or something similar fails.

Except in NTFS (I think), where clea{r,n}ing an inode frees up some memory
allocated specifically by the file system.

I notice Alexander Viro wrote also:

> [2] BTW, life would be *much* easier if we'ld keep fs-specific parts of
> inode and super allocated separately. I did it for ext2 and it seems to
> work fine. If it would be done for all filesystems the memory usage would
> decrease for almost everybody.

So it might be the same also for ext2.

If this is the case I see two options -
i) call free_inode_memory() from try_to_free_pages(), or
ii) create a list of 'create free memory' routines that try_to_free_pages()
can call; filesystems / other things can call routines to register /
unregister create free memory functions.

S.

-- 
Fortune: You will be attacked next Wednesday at 3:15 p.m. by six samuri
sword wielding purple fish glued to Harley-Davidson motorcycles.

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