On 21.07.21 16:38, Ivan Teterevkov wrote:
On Mon, Jul 19, 2021 5:56 PM +0000, Peter Xu wrote:
I'm also curious what would be the real use to have an accurate PM_SWAP
accounting. To me current implementation may not provide accurate value but
should be good enough for most cases. However not sure whether it's also true
for your use case.
We want the PM_SWAP bit implemented (for shared memory in the pagemap
interface) to enhance the live migration for some fraction of the guest
VMs that have their pages swapped out to the host swap. Once those pages
are paged in and transferred over network, we then want to release them
with madvise(MADV_PAGEOUT) and preserve the working set of the guest VMs
to reduce the thrashing of the host swap.
There are 3 possibilities I think (swap is just another variant of the
page cache):
1) The page is not in the page cache, e.g., it resides on disk or in a
swap file. pte_none().
2) The page is in the page cache and is not mapped into the page table.
pte_none().
3) The page is in the page cache and mapped into the page table.
!pte_none().
Do I understand correctly that you want to identify 1) and indicate it
via PM_SWAP?
--
Thanks,
David / dhildenb