All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] KVM: dirty logging optimization - double buffering
@ 2010-10-27  9:21 Takuya Yoshikawa
  2010-10-27  9:22 ` [PATCH 1/3 rebased] KVM: introduce wrapper functions for creating/destroying dirty bitmaps Takuya Yoshikawa
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Takuya Yoshikawa @ 2010-10-27  9:21 UTC (permalink / raw)
  To: avi, mtosatti; +Cc: kvm, takuya.yoshikawa, fernando

This patch series just change the way we allocate dirty bitmaps but don't
change timing related issues.

 - Changelog
  I have not changed anything about patch 1 and 2 since I got
  "looks good" comment from Marcelo. Just rebased.

  Patch 3 has become simpler by rebasing on top of this series.

Thanks,
  Takuya



[Test result for VGA updates]

 - without this patch series
               |  kvm_vm_ioctl_get_dirty_log() {
               |    mutex_lock() {
    0.229 us   |      _cond_resched();
    0.781 us   |    }
               |    vmalloc() {
    ...             ...
    ...             ...
  + 34.898 us  |    }
    0.229 us   |    memset();
               |    T.1684() {
               |      __kmalloc() {
    0.188 us   |        _cond_resched();
    1.075 us   |        memset();
    1.991 us   |      }
    2.450 us   |    }
               |    synchronize_srcu_expedited() {
    ...             ...
    ...             ...
  ! 108.113 us |    }
    0.259 us   |    kfree();
    0.215 us   |    _raw_spin_lock();
               |    kvm_mmu_slot_remove_write_access() {
               |      kvm_flush_remote_tlbs() {
               |        make_all_cpus_request() {
    0.202 us   |          _raw_spin_lock();
    0.643 us   |        }
    1.048 us   |      }
    2.081 us   |    }
               |    copy_to_user() {
    0.304 us   |      _cond_resched();
    0.733 us   |    }
               |    vfree() {
    ...             ...
    ...             ...
    6.456 us   |    }
    0.334 us   |    mutex_unlock();
  ! 159.649 us |  }


 - with this patch series
               |  kvm_vm_ioctl_get_dirty_log() {
               |    mutex_lock() {
    0.300 us   |      _cond_resched();
    0.789 us   |    }
    0.237 us   |    memset();
               |    T.1686() {
               |      __kmalloc() {
    0.207 us   |        _cond_resched();
    1.086 us   |        memset();
    1.981 us   |      }
    2.408 us   |    }
               |    synchronize_srcu_expedited() {
    ...             ...
    ...             ...
  + 88.786 us  |    }
    0.244 us   |    kfree();
    0.221 us   |    _raw_spin_lock();
               |    kvm_mmu_slot_remove_write_access() {
               |      kvm_flush_remote_tlbs() {
               |        make_all_cpus_request() {
    0.206 us   |          _raw_spin_lock();
    0.647 us   |        }
    1.048 us   |      }
    2.056 us   |    }
               |    copy_to_user() {
    0.263 us   |      _cond_resched();
    0.688 us   |    }
    0.202 us   |    mutex_unlock();
  + 98.356 us  |  }


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-11-01 17:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-27  9:21 [PATCH 0/3] KVM: dirty logging optimization - double buffering Takuya Yoshikawa
2010-10-27  9:22 ` [PATCH 1/3 rebased] KVM: introduce wrapper functions for creating/destroying dirty bitmaps Takuya Yoshikawa
2010-10-27  9:23 ` [PATCH 2/3 rebased] KVM: pre-allocate one more dirty bitmap to avoid vmalloc() Takuya Yoshikawa
2010-10-27  9:25 ` [PATCH 3/3 rebased] KVM: use kmalloc() for small dirty bitmaps Takuya Yoshikawa
2010-11-01  5:36   ` [PATCH 3/3 rebased-v2] " Takuya Yoshikawa
2010-11-01 16:42 ` [PATCH 0/3] KVM: dirty logging optimization - double buffering Marcelo Tosatti

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.