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

Gioh Kim
2014-07-30T07:56:38Z

2014-07-27 오전 10:01, Theodore Ts'o 쓴 글:
> Gioh,
>
> As follow up, if you want some further discussions about why these
> patches should be accepted, it would be good to get some hard data
> about why the keeping the ext4 superblock pinned is causing such a
> problem for page migation. Can you give us more details about what
> the impact is of not having these patches? And how it compres to
> other data structures which are currently allocated in the moveable
> area and tend to be pinned effectively indefinitely?
>
> Thanks,
>
> - Ted
>

I am very sorry to be late. I couldn't access the network for a week.

sb_bread() allocates page from movable area but the reference count of the buffer-head
that manages page should be zero to migrate the page.
Therefore brelase() should be called immediately after sb_bread() such like fat_fill_super().
But ext4 called brelse() when unmount the superblock.
The page cannot be movable until unmount.
CMA/HOTPLUG memory try to move the page but it fails.

If ext4 needs to keep buffer-cache of superblock until unmount,
it should allocated the page from non-movable area (because it can be a long time).
This patch try to do it.

I also sent an email to Jan Kara. Please refer it.

Thank you for your kindness.
Please inform me if you need any information.