From: Xiao Guangrong Subject: [PATCH v4 0/9] KVM MMU: allow more shadow pages become asynchronous Date: Thu, 06 May 2010 17:30:18 +0800 Message-ID: <4BE28C2A.1050809@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , KVM list , LKML To: Avi Kivity Return-path: Received: from cn.fujitsu.com ([222.73.24.84]:51565 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751606Ab0EFJd1 (ORCPT ); Thu, 6 May 2010 05:33:27 -0400 Sender: kvm-owner@vger.kernel.org List-ID: Changlog v4: - fix the bug that reported by Marcelo - fix the race in invlpg code Changlog v3: Those changes all form Avi's suggestion, thanks. - use smart way to fix the bug in patch 1 - remove duplicates code in patch 5 - check error code and fix forgot release page in patch 9 - sync shadow pages in a batch instead of one by one And, there is one TODO thing: Marker shadow page as unsync at create time avoid write-protect, this idea is from Avi: |Another interesting case is to create new shadow pages in the unsync state. |That can help when the guest starts a short lived process: we can avoid write |protecting its pagetables completely I'll send the patch out after this patchset applied. Changlog v2: - when level is PT_DIRECTORY_LEVEL, the 'offset' should be 'role.quadrant << 8', thanks Avi for point it out - keep invlpg code in paging_tmpl.h address Avi's suggestion - split kvm_sync_page() into kvm_sync_page() and kvm_sync_page_transient() to clarify the code address Avi's suggestion