From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH 0/4] KVM: Dirty logging optimization using rmap Date: Tue, 29 Nov 2011 10:01:09 +0000 (UTC) Message-ID: References: <20111114182041.43570cdf.yoshikawa.takuya@oss.ntt.co.jp> <4EC0EC90.1090202@redhat.com> <4EC0F3D3.9090907@oss.ntt.co.jp> <4EC10BFE.7050704@redhat.com> <4EC33C0B.1060807@oss.ntt.co.jp> <4EC37D18.4010609@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: kvm@vger.kernel.org Return-path: Received: from lo.gmane.org ([80.91.229.12]:48427 "EHLO lo.gmane.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753924Ab1K2KFO (ORCPT ); Tue, 29 Nov 2011 05:05:14 -0500 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1RVKYo-0007yd-BQ for kvm@vger.kernel.org; Tue, 29 Nov 2011 11:05:13 +0100 Received: from 220.248.0.145 ([220.248.0.145]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 29 Nov 2011 11:05:10 +0100 Received: from xiaoguangrong by 220.248.0.145 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 29 Nov 2011 11:05:10 +0100 Sender: kvm-owner@vger.kernel.org List-ID: Avi Kivity redhat.com> writes: > > On 11/16/2011 06:28 AM, Takuya Yoshikawa wrote: > > (2011/11/14 21:39), Avi Kivity wrote: > >> There was a patchset from Peter Zijlstra that converted mmu notifiers to > >> be preemptible, with that, we can convert the mmu spinlock to a mutex, > >> I'll see what happened to it. > > > > Interesting! > > > >> There is a third method of doing write protection, and that is by > >> write-protecting at the higher levels of the paging hierarchy. The > >> advantage there is that write protection is O(1) no matter how large the > >> guest is, or the number of dirty pages. > >> > >> To write protect all guest memory, we just write protect the 512 PTEs at > >> the very top, and leave the rest alone. When the guest writes to a > >> page, we allow writes for the top-level PTE that faulted, and > >> write-protect all the PTEs that it points to. > > > > One important point is that the guest, not GET DIRTY LOG caller, will pay > > for the write protection at the timing of faults. > > I don't think there is a significant difference. The number of write > faults does not change. The amount of work done per fault does, but not > by much, thanks to the writeable bitmap. > Avi, I think it needs more thinking if only less page need be write protected. For example, framebuffer-based device used by Xwindow, only ~64M pages needs to be write protected, but in your way, guest will get write page fault on all memory? Hmm? It has some tricks but i missed?