Raghavendra Rao Ananta defc8cc7ab KVM: arm64: Invalidate the table entries upon a range
Currently, during the operations such as a hugepage collapse,
KVM would flush the entire VM's context using 'vmalls12e1is'
TLBI operation. Specifically, if the VM is faulting on many
hugepages (say after dirty-logging), it creates a performance
penalty for the guest whose pages have already been faulted
earlier as they would have to refill their TLBs again.

Instead, leverage kvm_tlb_flush_vmid_range() for table entries.
If the system supports it, only the required range will be
flushed. Else, it'll fallback to the previous mechanism.

Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230811045127.3308641-14-rananta@google.com
2023-08-17 09:40:35 +01:00
..
2023-06-28 20:35:21 -07:00
2023-07-06 10:06:04 -07:00
2023-07-06 10:06:04 -07:00
2023-07-01 21:12:32 -07:00
2023-06-28 20:35:21 -07:00
2023-07-22 10:46:30 -07:00
2023-07-06 10:06:04 -07:00
2023-07-06 10:06:04 -07:00
2023-06-29 16:34:12 -07:00
2023-06-29 16:34:12 -07:00
2023-07-12 16:28:53 -07:00
2023-07-22 10:46:30 -07:00
2023-07-23 10:44:38 -07:00
2023-07-13 13:34:00 -07:00