From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andi Kleen Subject: Re: [PATCH] KVM PV Guest: Implement paravirtualized DMA Date: Tue, 29 Apr 2008 15:31:32 +0200 Message-ID: <87od7shjnv.fsf@basil.nowhere.org> References: <1209465451-3758-1-git-send-email-amit.shah@qumranet.com> <1209465451-3758-2-git-send-email-amit.shah@qumranet.com> <1209465451-3758-3-git-send-email-amit.shah@qumranet.com> <1209465451-3758-4-git-send-email-amit.shah@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm-devel@lists.sourceforge.net, chrisw@redhat.com, allen.m.kay@intel.com, linux-kernel@vger.kernel.org, gcosta@redhat.com, avi@qumranet.com, virtualization@lists.linux-foundation.org, BENAMI@il.ibm.com To: Amit Shah Return-path: In-Reply-To: <1209465451-3758-4-git-send-email-amit.shah@qumranet.com> (Amit Shah's message of "Tue, 29 Apr 2008 13:37:31 +0300") Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Amit Shah writes: > + > +static struct page *page; > +static unsigned long page_gfn; Bad variable names > + > +const struct dma_mapping_ops *orig_dma_ops; I suspect real dma ops stacking will need some further thought than your simple hacks > + > + match = find_matching_pt_dev(&pt_devs_head, &pv_pci_info); > + if (match) { > + r = match->is_pv; > + goto out; > + } > + > + memcpy(page_address(page), &pv_pci_info, sizeof(pv_pci_info)); Note that on 32bit page_address() might be not mapped. > + > + npages = get_order(size) + 1; Are you sure that's correct? It looks quite bogus. order is a 2 logarithm, normally npages = 1 << order if you want npages from order the correct need 1 << order Haven't read further, but to be honest the code doesn't seem to be anywhere near merging quality. -Andi