Re: How long can an inode structure reside in the inode_cache?

From: Xin Zhao
Date: Sat Jun 10 2006 - 13:11:35 EST


No. I guess I didn't make my question clear.

My question is: Will an inode be released after the last file refers
to this is closed? If so, this could bring a performance issue.
Consider this case: a process open a file, read it, close it, then
reopen this file, read it, close it. For every open, the inode has to
be read from disk again, which make hurt performance.

So I think inode should stay in inode_cache for a while, not released
right after the last file stops referring it. I just want to know
whether my guess is right. If it is, when will kernel release the
inode, since an inode cannot stay in memory forever.

xin

On 6/10/06, Matthew Wilcox <matthew@xxxxxx> wrote:
On Fri, Jun 09, 2006 at 08:10:10PM -0400, Xin Zhao wrote:
> I was wondering how Linux decide to free an inode from the
> inode_cache? If a file is open, an inode structure will be created and
> put into the inode_cache, but when will this inode be free and removed
> from the inode_cache? after this file is closed? If so, this seems to
> be inefficient.

how can you possibly release an inode while the file's still open?
look at all the information stored in the inode, like the length of the
file, last accessed time, not to mention which filesystem the inode
belongs to.

-
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/