Skip to content

new API to allocate buffer-cache for superblock in non-movable area

Gioh Kim linux-ext4 linux-fsdevel linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 23 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2fs/buffer.c: allocate buffer cache from non-movable areafs/buffer.c include/linux/buffer_head.h+40 -70 replies
2/2ext4: allocate buffer-cache for superblock in, non-movable areafs/ext4/super.c+3 -30 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/2] new API to allocate buffer-cache for superblock in non-movable area

Hello,

This patch try to solve problem that a long-lasting page cache of ext4 superblock disturbs page migration.

I've been testing CMA feature on my ARM-based platform and found some pages for page caches cannot be migrated. Some of them are page caches of superblock of ext4 filesystem.

Current ext4 reads superblock with sb_bread(). sb_bread() allocates page from movable area. But the problem is that ext4 hold the page until it is unmounted. If root filesystem is ext4 the page cannot be migrated forever.

I introduce a new API for allocating page from non-movable area. It is useful for ext4 and others that want to hold page cache for a long time.

I have 2 patchs:

1. Patch 1/2: introduce a new API that create page cache from non-movable area
2. Patch 2/2: have ext4 use the new API to read superblock

This patchset is based on linux-next-20140717.

Thanks a lot.

Gioh Kim (2):
fs/buffer.c: allocate buffer cache from non-movable area
ext4: allocate buffer-cache for superblock in non-movable area

 fs/buffer.c                 |   39 ++++++++++++++++++++++++++++++++-------
 fs/ext4/super.c             |    6 +++---
 include/linux/buffer_head.h |    8 ++++++++
 3 files changed, 43 insertions(+), 10 deletions(-)