Re: [PATCH] iommu: Remove stub functions for !CONFIG_IOMMU_API

Roedel, Joerg
2011-08-31T13:04:30Z

On Mon, Aug 29, 2011 at 09:21:54AM -0400, Ohad Ben-Cohen wrote:
> On Mon, Aug 29, 2011 at 4:05 PM, Roedel, Joerg <Joerg.Roedel@amd.com> wrote:
> > So in this case you can skip this whole part when CONFIG_IOMMU_API is
> > disabled
>
> Sure, we can do something like this in the driver:
>
> #ifdef CONFIG_IOMMU_API
>
> int do_the_iommu_thing(..)
> {
> ... call the IOMMU API as needed...
> }
>
> #else
>
> int do_the_iommu_thing(..)
> {
> return 0;
> }
>
> #endif
>
> Essentially, this means implementing the !CONFIG_IOMMU_API stubs in the driver.

I expect only very few drivers need that. Most drivers (like KVM and the
upcoming VFIO) rely on the iommu-api and I expect most other drivers
using the directly will also rely on an iommu. So this change makes
still sense to me.

> Possible of course, but I think it's a bit neater to have that in one
> place, where all drivers can use. Similar to !CONFIG_HWSPINLOCK,
> !CONFIG_DEBUG_FS, ...
>
> > This saves you even more .text size, no?
>
> Not sure; I expect the code to be compiled out today when the IOMMU
> API is called and CONFIG_IOMMU_API is not set.

But you even save all code that would use the iommu-api in your driver.
This change forces you to compile out this code too leading to smaller
.text-size.

Joerg

--
AMD Operating System Research Center

Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo, Andrew Bowd
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632