1 Nov 2002 05:09
[PATCH] strip pagecache from to-be-reaped inodes
Linux Kernel Mailing List <linux-kernel <at> vger.kernel.org>
2002-11-01 04:09:37 GMT
2002-11-01 04:09:37 GMT
ChangeSet 1.855.9.12, 2002/10/31 20:09:37-08:00, akpm <at> digeo.com [PATCH] strip pagecache from to-be-reaped inodes With large highmem machines and many small cached files it is possible to encounter ZONE_NORMAL allocation failures. This can be demonstrated with a large number of one-byte files on a 7G machine. All lowmem is filled with icache and all those inodes have a small amount of highmem pagecache which makes them unfreeable. The patch strips the pagecache from inodes as they come off the tail of the inode_unused list. I play tricks in there peeking at the head of the inode_unused list to pick up the inode again after running iput(). The alternatives seemed to involve more widespread changes. Or running invalidate_inode_pages() under inode_lock which would be a bad thing from a scheduling latency and lock contention point of view. # This patch includes the following deltas: # ChangeSet 1.855.9.11 -> 1.855.9.12 # fs/inode.c 1.75 -> 1.76 # inode.c | 86 ++++++++++++++++++++++++++++++++++++---------------------------- 1 files changed, 49 insertions(+), 37 deletions(-) diff -Nru a/fs/inode.c b/fs/inode.c(Continue reading)
RSS Feed