Re: qemu-kvm defunct due to THP [was: mmotm 2011-01-06-15-41 uploaded]

From: Jiri Slaby
Date: Mon Jan 10 2011 - 16:03:00 EST


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@xxxxxxxxxxxxxxxxxxxx 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 <aarcange@xxxxxxxxxx>
>
> 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 <aarcange@xxxxxxxxxx>
> ---
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/