|
|
Log in / Subscribe / Register

Nested SVM cleanups v2

From:  Joerg Roedel <joerg.roedel@amd.com>
To:  Avi Kivity <avi@redhat.com>
Subject:  [PATCH 0/21] Nested SVM cleanups v2
Date:  Fri, 7 Aug 2009 11:49:27 +0200
Message-ID:  <1249638588-10982-1-git-send-email-joerg.roedel@amd.com>
Cc:  Alexander Graf <agraf@suse.de>, kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Archive‑link:  Article

Hi,

this is the second and extended version of my patchset to clean up the code for
SVM virtualization in KVM. The patchset was tested with KVM on KVM and showed
no regressions. It was tested with Nested Paging and with Shadow Paging on the
first-level guest. 
As a major change this patchset enables the nested SVM code by
default. It is still required to start qemu with -enable-nesting,
though.

Changes to the previous version:

	* added Acked-by tags
	* added missing patch descriptions
	* addressed review comments
	* dropped dynamic debugging patch (will be replaced by change
	  to tracing infrastructure)
	* dropped patch moving nested #pf handling because it broke
	  nested SVM with shadow paging
	* added more cleanups (e.g. removed nested_svm_do and
	  function pointer code flow)
	* fixed 2 minor issues
	* enabled nested svm by default

Thanks,

	Joerg

Diffstat:

 arch/x86/kvm/svm.c |  637 +++++++++++++++++++++++++++++-----------------------
 1 files changed, 358 insertions(+), 279 deletions(-)

Shortlog:

Joerg Roedel (21):
      kvm/svm: add helper functions for global interrupt flag
      kvm/svm: optimize nested #vmexit
      kvm/svm: optimize nested vmrun
      kvm/svm: copy only necessary parts of the control area on vmrun/vmexit
      kvm/svm: complete interrupts after handling nested exits
      kvm/svm: move nested svm state into seperate struct
      kvm/svm: cache nested intercepts
      kvm/svm: consolidate nested_svm_exit_handled
      kvm/svm: do nested vmexit in nested_svm_exit_handled
      kvm/svm: simplify nested_svm_check_exception
      kvm/svm: get rid of nested_svm_vmexit_real
      kvm/svm: clean up nested_svm_exit_handled_msr
      kvm/svm: clean up nestec vmload/vmsave paths
      kvm/svm: clean up nested vmrun path
      kvm/svm: remove nested_svm_do and helper functions
      kvm/svm: handle errors in vmrun emulation path appropriatly
      kvm/svm: move special nested exit handling to separate function
      kvm/svm: remove unnecessary is_nested check from svm_cpu_run
      kvm/svm: move nested_svm_intr main logic out of if-clause
      kvm/svm: check for nested VINTR flag in svm_interrupt_allowed
      kvm/svm: enable nested svm by default



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds