Re: [PATCH v4 00/14] KVM/X86: Introduce a new guest mapping interface

From: Paolo Bonzini
Date: Wed Dec 19 2018 - 16:27:36 EST


On 06/12/18 17:01, Konrad Rzeszutek Wilk wrote:
> On Mon, Dec 03, 2018 at 10:30:53AM +0100, KarimAllah Ahmed wrote:
>> Guest memory can either be directly managed by the kernel (i.e. have a "struct
>> page") or they can simply live outside kernel control (i.e. do not have a
>> "struct page"). KVM mostly support these two modes, except in a few places
>> where the code seems to assume that guest memory must have a "struct page".
>>
>> This patchset introduces a new mapping interface to map guest memory into host
>> kernel memory which also supports PFN-based memory (i.e. memory without 'struct
>> page'). It also converts all offending code to this interface or simply
>> read/write directly from guest memory.
>>
>> As far as I can see all offending code is now fixed except the APIC-access page
>> which I will handle in a seperate series along with dropping
>> kvm_vcpu_gfn_to_page and kvm_vcpu_gpa_to_page from the internal KVM API.
>>
>> The current implementation of the new API uses memremap to map memory that does
>> not have a "struct page". This proves to be very slow for high frequency
>> mappings. Since this does not affect the normal use-case where a "struct page"
>> is available, the performance of this API will be handled by a seperate patch
>> series.
>
> How (if any) does it affect performance?

This is for Amazon's super special userspace sauce. It doesn't affect
performance for normal usecases.

Paolo