Messages in this thread | | | Date | Sat, 10 Jun 2006 13:12:39 -0400 | From | "Xin Zhao" <> | Subject | Re: How long can an inode structure reside in the inode_cache? |
| |
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@wil.cx> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |