Messages in this thread | | | Date | Tue, 06 Jun 2023 19:14:51 +0000 | Subject | Re: Rename restrictedmem => guardedmem? (was: Re: [PATCH v10 0/9] KVM: mm: fd-based approach for supporting KVM) | From | Ackerley Tng <> |
| |
I've ported selftests from Chao and I [1] while working on hugetlb support for guest_mem [2].
In the process, I found some bugs and have some suggestions for guest_mem. Please see separate commits at [3].
Here are some highlights/questions:
+ "KVM: guest_mem: Explain the use of the uptodate flag for gmem" + Generally, uptodate flags means that the contents of this page match the backing store. Since gmem is memory-backed, does "uptodate" for gmem mean "zeroed"? + "KVM: guest_mem: Don't re-mark accessed after getting a folio" and "KVM: guest_mem: Don't set dirty flag for folio" + Do we need to folio_mark_accessed(), when it was created with FGP_ACCESSED? + What is the significance of these LRU flags when gmem doesn't support swapping/eviction? + "KVM: guest_mem: Align so that at least 1 page is allocated" + Bug in current implementation: without this alignment, fallocate() of a size less than the gmem page size will result in no allocation at all + Both shmem and hugetlbfs perform this alignment + "KVM: guest_mem: Add alignment checks" + Implemented the alignment checks for guest_mem because hugetlb on gmem would hit a BUG_ON without this check + "KVM: guest_mem: Prevent overflows in kvm_gmem_invalidate_begin()" + Sean fixed a bug in the offset-to-gfn conversion in kvm_gmem_invalidate_begin() earlier, adding a WARN_ON_ONCE() + Code will always hit WARN_ON_ONCE() when the entire file is closed and all offsets are invalidated, so WARN_ON_ONCE() should be removed + Vishal noticed that the conversion might result in an overflow, so I fixed that + And of course, hugetlb support! Please let me know what you think of the approach proposed at [2].
[1] https://lore.kernel.org/all/cover.1678926164.git.ackerleytng@google.com/T/ [2] https://lore.kernel.org/lkml/cover.1686077275.git.ackerleytng@google.com/T/ [3] https://github.com/googleprodkernel/linux-cc/tree/gmem-hugetlb-rfc-v1
| |