From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Ellerman Subject: Re: [v3] KVM: PPC: Book3S HV: Migrate pinned pages out of CMA Date: Thu, 29 Sep 2016 23:13:15 +1000 (AEST) Message-ID: <3slFPR2kWQz9sC3@ozlabs.org> References: <2e840fe0-40cf-abf0-4fe6-a621ce46ae13@gmail.com> Cc: "linux-mm@kvack.org" , Paul Mackerras To: Balbir Singh , Alexey Kardashevskiy , linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org, kvm@vger.kernel.org Return-path: Received: from ozlabs.org ([103.22.144.67]:36019 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752168AbcI2NNU (ORCPT ); Thu, 29 Sep 2016 09:13:20 -0400 In-Reply-To: <2e840fe0-40cf-abf0-4fe6-a621ce46ae13@gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, 2016-06-09 at 06:27:31 UTC, Balbir Singh wrote: > When PCI Device pass-through is enabled via VFIO, KVM-PPC will > pin pages using get_user_pages_fast(). One of the downsides of > the pinning is that the page could be in CMA region. The CMA > region is used for other allocations like the hash page table. > Ideally we want the pinned pages to be from non CMA region. > > This patch (currently only for KVM PPC with VFIO) forcefully > migrates the pages out (huge pages are omitted for the moment). > There are more efficient ways of doing this, but that might > be elaborate and might impact a larger audience beyond just > the kvm ppc implementation. > > The magic is in new_iommu_non_cma_page() which allocates the > new page from a non CMA region. > > I've tested the patches lightly at my end. The full solution > requires migration of THP pages in the CMA region. That work > will be done incrementally on top of this. > > Signed-off-by: Balbir Singh > Acked-by: Alexey Kardashevskiy Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/2e5bbb5461f138cac631fe21b4ad95 cheers