linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Remove page migration fallback (was: UBIFS and page migration)
@ 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
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ 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] 12+ messages in thread

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

Thread overview: 12+ 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 ` [PATCH 1/3] mm: Don't blindly assign fallback_migrate_page() Richard Weinberger
2016-06-16 23:11   ` Andrew Morton
2016-06-17  7:41     ` Richard Weinberger
2016-06-17 16:28       ` Michal Hocko
2016-06-17 16:55         ` Richard Weinberger
2016-06-17 18:27           ` Michal Hocko
2016-06-17 19:36             ` Richard Weinberger
2016-06-17 20:03               ` Michal Hocko
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 ` [PATCH 3/3] UBIFS: Implement ->migratepage() Richard Weinberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).