Re: [PATCH] KVM: SVM: fix random segfaults with NPT enabled

Joerg Rodel
2008-08-27T13:54:23Z

On Wed, Aug 27, 2008 at 04:11:02PM +0300, Avi Kivity wrote:
> Joerg Rodel wrote:
> >From: Joerg Roedel <joerg.roedel@amd.com>
> >
> >This patch introduces a guest TLB flush on every NPF exit in KVM. This fixes
> >random segfaults and #UD exceptions in the guest seen under some workloads
> >(e.g. long running compile workloads or tbench). A kernbench run with and
> >without that fix showed that it has a slowdown lower than 0.5%
> >
> >
>
> hm. tbench doesn't allocate memory, so there shouldn't be any npt faults. I don't
> see how this can make a difference.

Base for the fix was this bugreport:

http://sourceforge.net/tracker/index.php?func=detail&aid=2019053&group_id=180599&atid=893831

We found out that the same crash occur on long running compile
workloads and that stale tlb-entries cause it. Until we find the real
location of the missing tlb flush in the mmu code, i think its best to
flush the TLB every time the mapping/unmapping code for the nested page
table is executed. This fixes at least the crashes in the guest and has
only minimal performance impact.

> It can only change something if X is started and we're tracking writes to the
> framebuffer. Is this the case?

No, X is not running in the guest.

Joerg

--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy