On 12 Jan 2022, at 6:04, David Hildenbrand wrote: > On 05.01.22 22:47, Zi Yan wrote: >> From: Zi Yan <ziy@xxxxxxxxxx> >> >> alloc_migration_target() is used by alloc_contig_range() and non-LRU >> movable compound pages can be migrated. Current code does not allocate the >> right page size for such pages. Check THP precisely using >> is_transparent_huge() and add allocation support for non-LRU compound >> pages. > > IIRC, we don't have any non-lru migratable pages that are coumpound > pages. Read: not used and not supported :) OK, but nothing prevents one writing a driver that allocates compound pages and provides address_space->migratepage() and address_space->isolate_page(). Actually, to test this series, I write a kernel module that allocates an order-10 page, gives it a fake address_space with migratepage() and isolate_page(), __SetPageMovable() on it, then call alloc_contig_range() on the page range. Apparently, my kernel module is not supported by the kernel, thus, I added this patch. Do you have an alternative test to my kernel module, so that I do not even need this patch myself? > Why is this required in the context of this series? It might not be required. I will drop it. -- Best Regards, Yan, Zi
Attachment:
signature.asc
Description: OpenPGP digital signature