[RFC 0/5] Change page reference hanlding semantic of page cache

From: Minchan Kim
Date: Fri Dec 17 2010 - 12:13:56 EST


I copy description of 1/5.

Now we add page reference on add_to_page_cache but doesn't drop it
in remove_from_page_cache. Such asymmetric makes confusing about
page reference so that caller should notice it and comment why they
release page reference. It's not good API.

Long time ago, Hugh tried it[1] but gave up of reason which
reiser4's drop_page had to unlock the page between removing it from
page cache and doing the page_cache_release. But now the situation is
changed. I think at least things in current mainline doesn't have any
obstacles. The problem is fs or somethings out of mainline.
If it has done such thing like reiser4, this patch could be a problem.

Do anyone know the such things? Do we care about things out of mainline?

[1] http://lkml.org/lkml/2004/10/24/140

Minchan Kim (5):
drop page reference on remove_from_page_cache
fuse: Remove unnecessary page release
tlbfs: Remove unnecessary page release
swap: Remove unnecessary page release
truncate: Remove unnecessary page release

fs/fuse/dev.c | 1 -
fs/hugetlbfs/inode.c | 1 -
mm/filemap.c | 12 ++++++++++++
mm/shmem.c | 1 -
mm/truncate.c | 1 -
5 files changed, 12 insertions(+), 4 deletions(-)

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