From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Mackerras Date: Tue, 30 Apr 2019 10:02:56 +0000 Subject: Re: [PATCH kernel v4] KVM: PPC: Allocate guest TCEs on demand too Message-Id: <20190430100256.GE32205@blackberry> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: kvm-ppc@vger.kernel.org On Fri, Mar 29, 2019 at 04:43:26PM +1100, Alexey Kardashevskiy wrote: > We already allocate hardware TCE tables in multiple levels and skip > intermediate levels when we can, now it is a turn of the KVM TCE tables. > Thankfully these are allocated already in 2 levels. > > This moves the table's last level allocation from the creating helper to > kvmppc_tce_put() and kvm_spapr_tce_fault(). Since such allocation cannot > be done in real mode, this creates a virtual mode version of > kvmppc_tce_put() which handles allocations. > > This adds kvmppc_rm_ioba_validate() to do an additional test if > the consequent kvmppc_tce_put() needs a page which has not been allocated; > if this is the case, we bail out to virtual mode handlers. > > The allocations are protected by a new mutex as kvm->lock is not suitable > for the task because the fault handler is called with the mmap_sem held > but kvmhv_setup_mmu() locks kvm->lock and mmap_sem in the reverse order. > > Signed-off-by: Alexey Kardashevskiy Thanks, patch applied to my kvm-ppc-next tree. Paul.