lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1248705048-22607-1-git-send-email-joerg.roedel@amd.com>
Date:	Mon, 27 Jul 2009 16:30:41 +0200
From:	Joerg Roedel <joerg.roedel@....com>
To:	Avi Kivity <avi@...hat.com>, Marcelo Tosatti <marcelo@...ck.org>
CC:	linux-kernel@...r.kernel.org, kvm@...r.kernel.org
Subject: [PATCH 0/7 v5] KVM: support for 1gb pages

Hello,

this is the latest version of the changes to KVM MMU code to support 1gb
pages.  Pages with a size of 1gb are a feature of all Fam10h AMD CPUs
and this patch set makes them available for guests and allows to map the
nested page table with 1gb pages.

Changes to the previous version of this patch set:

	* fixed a bug in the pte reserved bit checking code which
	  disallowed 1gb ptes (thanks Marcelo)
	* included a working version of 1gb page support for shadow
	  paging (again, thanks to Marcelo who found the bug in the
	  original patch)
	* rebased patches to the latest avi/master branch

I also gathered some new performance data for this code. The following
table contains the data. The configrations are all named as
<1gb pages enabled in guest>-<host backing size>. The numbers below are
the average of the elapsed time of 3 kernel compiles in a guest with 3GB
memory and 4 vpcus on an Istanbul based machine. The make jobs ran with
-j8. All measurements were done with nested paging enabled.

Configuration		Elapsed Time		Percent
------------------------------------------------------------
no1gbpages-4kb		139.81			100%
no1gbpages-1gb		129.89			92.9%
  1gbpages-4kb		137.09			98.0%
  1gbpages-1gb		129.42			92.6%

the biggest benefit is gained using 1gb pages for the nested page table.
The performance improvement compared to 4kb backing size with nested
paging is between 7% and 7.5%. Using 1gb pages in a guest with a 4kb
backing size on the host gives around 2% performance improvement.

Please review and/or consider to apply these patches.

Thanks,

	Joerg

Diffstat:


 arch/x86/include/asm/kvm_host.h |    5 +-
 arch/x86/kvm/mmu.c              |  242 ++++++++++++++++++++++++---------------
 arch/x86/kvm/paging_tmpl.h      |   97 ++++++++--------
 arch/x86/kvm/svm.c              |    6 +
 arch/x86/kvm/vmx.c              |    6 +
 arch/x86/kvm/x86.c              |    3 +-
 6 files changed, 214 insertions(+), 145 deletions(-)

Shortlog:


Joerg Roedel (7):
      kvm/mmu: make rmap code aware of mapping levels
      kvm/mmu: rename is_largepage_backed to mapping_level
      kvm/mmu: make direct mapping paths aware of mapping levels
      kvm/mmu: make page walker aware of mapping levels
      kvm/mmu: shadow support for 1gb pages
      kvm/mmu: enable gbpages by increasing nr of pagesizes
      kvm x86: report 1GB page support to userspace


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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ