]> www.infradead.org Git - users/dwmw2/linux.git/tag
kvm-x86-fixes-6.8-2
object d02c357e5bfa7dfd618b7b3015624beb71f58f1f
authorSean Christopherson <seanjc@google.com>
Fri, 23 Feb 2024 20:45:54 +0000 (12:45 -0800)
KVM x86 fixes for 6.8, round 2:

 - When emulating an atomic access, mark the gfn as dirty in the memslot
   to fix a bug where KVM could fail to mark the slot as dirty during live
   migration, ultimately resulting in guest data corruption due to a dirty
   page not being re-copied from the source to the target.

 - Check for mmu_notifier invalidation events before faulting in the pfn,
   and before acquiring mmu_lock, to avoid unnecessary work and lock
   contention.  Contending mmu_lock is especially problematic on preemptible
   kernels, as KVM may yield mmu_lock in response to the contention, which
   severely degrades overall performance due to vCPUs making it difficult
   for the task that triggered invalidation to make forward progress.

   Note, due to another kernel bug, this fix isn't limited to preemtible
   kernels, as any kernel built with CONFIG_PREEMPT_DYNAMIC=y will yield
   contended rwlocks and spinlocks.

   https://lore.kernel.org/all/20240110214723.695930-1-seanjc@google.com
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEKTobbabEP7vbhhN9OlYIJqCjN/0FAmXZBeMACgkQOlYIJqCj
N/0T5Q//cPpQ7hp/aFc3ABQLLBLL59tel2UPonAWTLgXLwoWNlNHj9p4NxiLhpCL
2Viz4sypPVIFVvaUz8MDhZx0Hyb4c5ypDQAk5z9eQZQ7qGJ2N4Y5Ka+nyvUjj2oJ
Q5N8NTJxleJ/aCYj5290e6xu83sgHjOWhXADJ+IPwOlaEC6uAghwNkCjIB7ttJEG
oqgoiGI03gmurqXzGV/HHVsynWYiE7kfUP82nj9smXlKiL0RBlxlmo6H8jAoRdcl
tiZ324JmhRGquURGwfXDY9V3IR/lN+GHB5Zqn/0rLmNW7PHJaQJrceMEChIjsBXU
/tMe1SIztIOL7ErChbDMm1GQhD27McYShOyErqW0XzhhZnJhXp+NAO5sbVMKbHWf
5dluVLcYizGHnEzldL+ysQR4ktbgijWzCb3d8N4Cm7XvQlTBJ1sW/IqqOi9WJb1h
BXFSsaGhtHNAqvKXJj9xQ2+Dfk09S+vDp7VsSetbWg0Kp+9h11IS9NlInLbcMXhL
hRcd4vU97w4brfuNF9jnB0MxJpEqXSnqAlRM1Kfar8PUBatYI/StBEmK3UswCn2E
Do99n5w0/H+PSNPgUtGmFY+T0MDlTHMDRlOreq/ivcsYBRbA+U7COJMfXrhAEpG3
GmgRxtRbCdVtDR2luqV1aRrSOXXadE9rHzBStpenrYIiElW1jFg=
=8X+m
-----END PGP SIGNATURE-----