Messages in this thread | | | Date | Thu, 31 Jul 2014 08:45:57 +0900 | From | Gioh Kim <> | Subject | Re: [PATCH 0/2] new API to allocate buffer-cache for superblock in non-movable area |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |