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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>