On 27 Mar 2019, at 6:08, Keith Busch wrote: > On Tue, Mar 26, 2019 at 08:41:15PM -0700, Yang Shi wrote: >> On 3/26/19 5:35 PM, Keith Busch wrote: >>> migration nodes have higher free capacity than source nodes. And since >>> your attempting THP's without ever splitting them, that also requires >>> lower fragmentation for a successful migration. >> >> Yes, it is possible. However, migrate_pages() already has logic to >> handle such case. If the target node has not enough space for migrating >> THP in a whole, it would split THP then retry with base pages. > > Oh, you're right, my mistake on splitting. So you have a good best effort > migrate, but I still think it can fail for legitimate reasons that should > have a swap fallback. Does this mean we might want to factor out the page reclaim code in shrink_page_list() and call it for each page, which fails to migrate to PMEM. Or do you still prefer to migrate one page at a time, like what you did in your patch? I ask this because I observe that migrating a list of pages can achieve higher throughput compared to migrating individual page. For example, migrating 512 4KB pages can achieve ~750MB/s throughput, whereas migrating one 4KB page might only achieve ~40MB/s throughput. The experiments were done on a two-socket machine with two Xeon E5-2650 v3 @ 2.30GHz across the QPI link. -- Best Regards, Yan Zi
Attachment:
signature.asc
Description: OpenPGP digital signature