[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54a94492-bb0a-3d2c-6c34-64b6c4336b0a@gmail.com>
Date: Mon, 6 Aug 2018 15:51:21 +0800
From: Xiao Guangrong <guangrong.xiao@...il.com>
To: Paolo Bonzini <pbonzini@...hat.com>, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Cc: rkrcmar@...hat.com, Vitaly Kuznetsov <vkuznets@...hat.com>,
Junaid Shahid <junaids@...gle.com>,
Xiao Guangrong <xiaoguangrong@...cent.com>
Subject: Re: [PATCH] KVM: try __get_user_pages_fast even if not in atomic
context
On 07/27/2018 11:46 PM, Paolo Bonzini wrote:
> We are currently cutting hva_to_pfn_fast short if we do not want an
> immediate exit, which is represented by !async && !atomic. However,
> this is unnecessary, and __get_user_pages_fast is *much* faster
> because the regular get_user_pages takes pmd_lock/pte_lock.
> In fact, when many CPUs take a nested vmexit at the same time
> the contention on those locks is visible, and this patch removes
> about 25% (compared to 4.18) from vmexit.flat on a 16 vCPU
> nested guest.
>
Nice improvement.
Then after that, we will unconditionally try hva_to_pfn_fast(), does
it hurt the case that the mappings in the host's page tables have not
been present yet?
Can we apply this tech to other places using gup or even squash it
into get_user_pages()?
Powered by blists - more mailing lists