Re: UBIFS and page migration (take 3)
From: Richard Weinberger
Date: Mon May 16 2016 - 08:45:10 EST
Christoph,
Am 12.05.2016 um 13:49 schrieb Christoph Hellwig:
> Hi Richard,
>
> the series looks fine to me, but it fails to address the root cause:
Is this a Reviewed-by? :-)
> that we have an inherently dangerous default for ->migratepage that
> assumes that file systems are implemented a certain way. I think the
> series should also grow a third patch to remove the default and just
> wire it up for the known good file systems, although we'd need some
> input on what known good is.
>
> Any idea what filesystems do get regular testing with code that's using
> CMA? A good approximation might be those that use the bufer_head
> based aops from fs/buffer.c
No idea how much is being tested.
I fear most issues are unknown. At least for UBIFS it took
years to get aware of the issue.
Thanks again to Maxime and Boris for providing a reproducer.
There are two classes of issues:
a) filesystems that use buffer_migrate_page() but shouldn't
b) filesystems that don't implement ->migratepage() and fallback_migrate_page()
is not suitable.
As starter we could kill the automatic assignment of fallback_migrate_page() and
non-buffer_head filesystems need to figure out whether fallback_migrate_page()
is suitable or not.
UBIFS found out the hard way. ;-\
MM folks, do we have a way to force page migration?
Maybe we can create a generic stress test.
Thanks,
//richard