KVM: MMU: Avoid handling same rmap_pde in kvm_handle_hva_range()
authorTakuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Mon, 2 Jul 2012 08:59:33 +0000 (17:59 +0900)
committerMarcelo Tosatti <mtosatti@redhat.com>
Wed, 18 Jul 2012 19:55:04 +0000 (16:55 -0300)
When we invalidate a THP page, we call the handler with the same
rmap_pde argument 512 times in the following loop:

  for each guest page in the range
    for each level
      unmap using rmap

This patch avoids these extra handler calls by changing the loop order
like this:

  for each level
    for each rmap in the range
      unmap using rmap

With the preceding patches in the patch series, this made THP page
invalidation more than 5 times faster on our x86 host: the host became
more responsive during swapping the guest's memory as a result.

Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

No differences found