From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Subject: Re: [PATCH 8/8] KVM: PPC: Add hugepage support for IOMMU in-kernel handling Date: Thu, 27 Jun 2013 13:39:23 -0500 Message-ID: <1372358363.8183.53@snotra> References: <1372309356-28320-1-git-send-email-aik@ozlabs.ru> <1372309356-28320-9-git-send-email-aik@ozlabs.ru> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; delsp=Yes; format=Flowed Content-Transfer-Encoding: 8BIT Cc: , Alexey Kardashevskiy , David Gibson , Benjamin Herrenschmidt , Alexander Graf , Paul Mackerras , Alex Williamson , "Paul E . McKenney" , , , , To: Alexey Kardashevskiy Return-path: In-Reply-To: <1372309356-28320-9-git-send-email-aik@ozlabs.ru> (from aik@ozlabs.ru on Thu Jun 27 00:02:36 2013) Content-Disposition: inline Sender: linux-doc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 06/27/2013 12:02:36 AM, Alexey Kardashevskiy wrote: > +/* > + * The KVM guest can be backed with 16MB pages. > + * In this case, we cannot do page counting from the real mode > + * as the compound pages are used - they are linked in a list > + * with pointers as virtual addresses which are inaccessible > + * in real mode. > + * > + * The code below keeps a 16MB pages list and uses page struct > + * in real mode if it is already locked in RAM and inserted into > + * the list or switches to the virtual mode where it can be > + * handled in a usual manner. > + */ > +#define KVMPPC_HUGEPAGE_HASH(gpa) hash_32(gpa >> 24, 32) > + > +struct kvmppc_iommu_hugepage { > + struct hlist_node hash_node; > + unsigned long gpa; /* Guest physical address */ > + unsigned long hpa; /* Host physical address */ > + struct page *page; /* page struct of the very first > subpage */ > + unsigned long size; /* Huge page size (always 16MB at the > moment) */ > +}; Shouldn't this be namespaced to something like "book3s" or "spapr"? -Scott