All of lore.kernel.org
 help / color / mirror / Atom feed
* Remove page migration fallback (was: UBIFS and page migration)
@ 2016-06-16 21:26 ` Richard Weinberger
  0 siblings, 0 replies; 24+ messages in thread
From: Richard Weinberger @ 2016-06-16 21:26 UTC (permalink / raw)
  To: linux-mm
  Cc: linux-kernel, linux-mtd, hannes, mgorman, n-horiguchi, mhocko,
	kirill.shutemov, hughd, vbabka, akpm, adrian.hunter, dedekind1,
	richard, hch, linux-fsdevel, boris.brezillon, maxime.ripard,
	david, david, alex, sasha.levin, iamjoonsoo.kim, rvaswani,
	tony.luck, shailendra.capricorn

During page migrations UBIFS gets confused. We triggered this by using CMA
on two different targets.
It turned out that fallback_migrate_page() is not suitable for UBIFS as it
does not copy the PagePrivate flag. Non-trivial block based filesystems
do not notice since they can use buffer_migrate_page().
UBIFS is using this flag among with PageChecked to account free space.

In order to address this issue implement a convenient ->migratepage()
function for UBIFS and disable the automatic assignment of
fallback_migrate_page(). Filesystems maintains should decide themselves
whether they have to implement ->migratepage() or can use the generic function.

Another interesting topic is testing ->migratepage(). So far the only reliable
test to trigger the UBIFS issue we have is real hardware and CMA.
I was able to trigger it a few times in KVM using the migrate_pages() system call.
But not reliable at all.

Thanks,
//richard

[PATCH 1/3] mm: Don't blindly assign fallback_migrate_page()
[PATCH 2/3] mm: Export migrate_page_move_mapping and
[PATCH 3/3] UBIFS: Implement ->migratepage()

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2016-06-22 22:21 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-16 21:26 Remove page migration fallback (was: UBIFS and page migration) Richard Weinberger
2016-06-16 21:26 ` Richard Weinberger
2016-06-16 21:26 ` [PATCH 1/3] mm: Don't blindly assign fallback_migrate_page() Richard Weinberger
2016-06-16 21:26   ` Richard Weinberger
2016-06-16 23:11   ` Andrew Morton
2016-06-16 23:11     ` Andrew Morton
2016-06-17  7:41     ` Richard Weinberger
2016-06-17  7:41       ` Richard Weinberger
2016-06-17 16:28       ` Michal Hocko
2016-06-17 16:28         ` Michal Hocko
2016-06-17 16:55         ` Richard Weinberger
2016-06-17 16:55           ` Richard Weinberger
2016-06-17 18:27           ` Michal Hocko
2016-06-17 18:27             ` Michal Hocko
2016-06-17 19:36             ` Richard Weinberger
2016-06-17 19:36               ` Richard Weinberger
2016-06-17 20:03               ` Michal Hocko
2016-06-17 20:03                 ` Michal Hocko
2016-06-22 22:21     ` Richard Weinberger
2016-06-22 22:21       ` Richard Weinberger
2016-06-16 21:26 ` [PATCH 2/3] mm: Export migrate_page_move_mapping and migrate_page_copy Richard Weinberger
2016-06-16 21:26   ` Richard Weinberger
2016-06-16 21:26 ` [PATCH 3/3] UBIFS: Implement ->migratepage() Richard Weinberger
2016-06-16 21:26   ` Richard Weinberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.