From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: KVM: x86: move vapic page handling out of fast path Date: Sun, 22 Jun 2008 08:00:11 +0300 Message-ID: <485DDC5B.1020707@qumranet.com> References: <20080619174347.GA9236@dmt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm-devel To: Marcelo Tosatti Return-path: Received: from il.qumranet.com ([212.179.150.194]:24152 "EHLO il.qumranet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750942AbYFVE77 (ORCPT ); Sun, 22 Jun 2008 00:59:59 -0400 In-Reply-To: <20080619174347.GA9236@dmt.cnet> Sender: kvm-owner@vger.kernel.org List-ID: Marcelo Tosatti wrote: > I fail to see the point of handling the vapic page grab and ref > counting in __vcpu_run's heavyweight enter/exit path. > > It's to avoid pinning the page indefinitely. > So move it to kvm_lapic_set_vapic_addr / kvm_free_lapic time. > > Other than the obvious improvement for non-Flexpriority case, this > kills a down_read/up_read pair in heavy exits and reduces code size. > With mmu notifiers we can do this and still not ping the page: fast path: if (vapic_addr && !vapic_page) enter_vapic(); mmu notifier: if (gpa == vapic_addr) exit_vapic() So let's wait with this until mmu notifiers are merged. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.