[RFC PATCH v2 4/8] KVM: arm64: Set DBM for previously writeable pages
Catalin Marinas
catalin.marinas at arm.com
Fri Sep 22 08:40:17 PDT 2023
On Fri, Aug 25, 2023 at 10:35:24AM +0100, Shameer Kolothum wrote:
> We only set DBM if the page is writeable (S2AP[1] == 1). But once migration
> starts, CLEAR_LOG path will write protect the pages (S2AP[1] = 0) and there
> isn't an easy way to differentiate the writeable pages that gets write
> protected from read-only pages as we only have S2AP[1] bit to check.
Don't we have enough bits without an additional one?
writeable: DBM == 1 || S2AP[1] == 1
clean: S2AP[1] == 0
dirty: S2AP[1] == 1 (irrespective of DBM)
read-only: DBM == 0 && S2AP[1] == 0
For S1 we use a software dirty bit as well to track read-only dirty
mappings but I don't think it is necessary for S2 since KVM unmaps the
PTE when changing the VMM permission.
--
Catalin
More information about the linux-arm-kernel
mailing list