On Wed, Jun 20, 2012 at 04:46:49PM -0500, Anthony Liguori wrote:
> On 06/20/2012 04:42 PM, Michael S. Tsirkin wrote:
> >On Wed, Jun 20, 2012 at 04:38:30PM -0500, Anthony Liguori wrote:
> >>On 06/20/2012 04:32 PM, Michael S. Tsirkin wrote:
> >>>On Wed, Jun 20, 2012 at 04:16:47PM -0500, Anthony Liguori wrote:
> >>>>>diff --git a/hw/pci.h b/hw/pci.h
> >>>>>index 7f223c0..ee669d9 100644
> >>>>>--- a/hw/pci.h
> >>>>>+++ b/hw/pci.h
> >>>>>@@ -558,10 +558,16 @@ static inline uint32_t pci_config_size(const
> >>>>>PCIDevice *d)
> >>>>> }
> >>>>>
> >>>>> /* DMA access functions */
> >>>>>+static inline DMAContext *pci_dma_context(PCIDevice *dev)
> >>>>>+{
> >>>>>+ /* Stub for when we have no PCI iommu support */
> >>>>>+ return NULL;
> >>>>>+}
> >>>>
> >>>>Why is all of this stuff static inline?
> >>>
> >>>Let's face it, most people don't need an MMU in their VM.
> >>>inline stubs help make double sure we are not adding
> >>>overhead for the sake of this niche case.
> >>
> >>It also makes for an overly complex pci.h with no obvious performance
> >>justification.
> >>
> >A stub in a header plus an offline empty function is even more useless
> >code. inline stubs is standard procedure.
>
> Look at 8/13. They don't stay stubs for long.
That does ont seem to touch pci.h?
inlines in dma.h make sense too: a small inline wrapper that selects
between the iommu/non iommu variant and an offline implementation for
the iommu one.
> Regards,
>
> Anthony Liguori
>
> >
> >>Let's not prematurely optimize here.
> >>
> >>Regards,
> >>
> >>Anthony Liguori
> >
> >It's not just an optimization. It is easier to see what's going on this
> >way.
> >