From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiri Slaby Subject: Re: qemu-kvm defunct due to THP [was: mmotm 2011-01-06-15-41 uploaded] Date: Mon, 10 Jan 2011 22:02:50 +0100 Message-ID: <4D2B73FA.807@gmail.com> References: <201101070014.p070Egpo023959@imap1.linux-foundation.org> <4D2B19C5.5060709@gmail.com> <20110110150128.GC9506@random.random> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org, mm-commits@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org To: Andrea Arcangeli Return-path: In-Reply-To: <20110110150128.GC9506@random.random> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 01/10/2011 04:01 PM, Andrea Arcangeli wrote: > On Mon, Jan 10, 2011 at 03:37:57PM +0100, Jiri Slaby wrote: >> On 01/07/2011 12:41 AM, akpm@linux-foundation.org wrote: >>> The mm-of-the-moment snapshot 2011-01-06-15-41 has been uploaded to >> >> Hi, something of the following breaks qemu-kvm: > > Thanks for the report. It's already fixed and I posted this a few days > ago to linux-mm. > > I had to rewrite the KVM THP support when merging THP in -mm, because > the kvm code in -mm has async page faults and doing so I eliminated > one gfn_to_page lookup for each kvm secondary mmu page fault. But > first new attempt wasn't entirely successful ;), the below incremental > fix should work. Please test it and let me know if any trouble is > left. > > Also note again on linux-mm I posted two more patches, I recommend to > apply the other two as well. The second adds KSM THP support, the > third cleanup some code but I like to have it tested. > > Thanks a lot, > Andrea > > ==== > Subject: thp: fix for KVM THP support > > From: Andrea Arcangeli > > There were several bugs: dirty_bitmap ignored (migration shutoff largepages), > has_wrprotect_page(directory_level) ignored, refcount taken on tail page and > refcount released on pfn head page post-adjustment (now it's being transferred > during the adjustment, that's where KSM over THP tripped inside > split_huge_page, the rest I found it by code review). > > Signed-off-by: Andrea Arcangeli > --- > arch/x86/kvm/mmu.c | 97 ++++++++++++++++++++++++++++++++------------- > arch/x86/kvm/paging_tmpl.h | 10 +++- > 2 files changed, 79 insertions(+), 28 deletions(-) Yup, this works for me. If you point me to the other 2, I will test them too... thanks, -- js