* Mike Kravetz (mike.kravetz@xxxxxxxxxx) wrote: > On 06/24/22 17:36, James Houghton wrote: > > After high-granularity mapping, page table entries for HugeTLB pages can > > be of any size/type. (For example, we can have a 1G page mapped with a > > mix of PMDs and PTEs.) This struct is to help keep track of a HugeTLB > > PTE after we have done a page table walk. > > This has been rolling around in my head. > > Will this first use case (live migration) actually make use of this > 'mixed mapping' model where hugetlb pages could be mapped at the PUD, > PMD and PTE level all within the same vma? I only understand the use > case from a high level. But, it seems that we would want to only want > to migrate PTE (or PMD) sized pages and not necessarily a mix. I suspect we would pick one size and use that size for all transfers when in postcopy; not sure if there are any side cases though. > The only reason I ask is because the code might be much simpler if all > mappings within a vma were of the same size. Of course, the > performance/latency of converting a large mapping may be prohibitively > expensive. Imagine we're migrating a few TB VM, backed by 1GB hugepages, I'm guessing it would be nice to clean up the PTE/PMDs for split 1GB pages as they're completed rather than having thousands of them for the whole VM. (I'm not sure if that is already doable) Dave > Looking to the future when supporting memory error handling/page poisoning > it seems like we would certainly want multiple size mappings. > > Just a thought. > -- > Mike Kravetz > -- Dr. David Alan Gilbert / dgilbert@xxxxxxxxxx / Manchester, UK