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

From: Gioh Kim
Date: Wed Jul 30 2014 - 19:46:06 EST




2014-07-30 ìí 7:19, Peter Zijlstra ì ê:
On Wed, Jul 30, 2014 at 12:11:43PM +0200, Jan Kara wrote:
sb_bread allocates page from movable area but it is not movable until the
reference counter of the buffer-head becomes zero.
There is no lock for the buffer but the reference counter acts like lock.
OK, but why do you care about a single page (of at most handful if you
have more filesystems) which isn't movable? That shouldn't make a big
difference to compaction...

The thing is, CMA _must_ be able to clear all the pages in its range,
otherwise its broken.

So placing nonmovable pages in a movable block utterly wrecks that.

YES. Even a single page can make CMA migration fail.


Now, Ted said that there's more effectively pinned stuff from
filesystems (and I imagine those would be things like the root inode
etc.) and those would equally wreck this..

But Gioh didn't mention any of that.. he should I suppose.

Thanks to inform me.

I thought there are more pinned stuff but I didn't know what they are.
I tried CMA migration but it failed even after I moved the sb page-cache to non-movable area.
So I just guessed there are more pinned stuff.
I am newbie and not familiar with filesystem code.

Of course all of the pinned stuff should be moved to non-movable area.


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