[openib-general] [PATCH] CMA / local SA: make local SA module optional for CMA operations

Roland Dreier rdreier at cisco.com
Thu Feb 2 17:32:30 PST 2006


    Sean> Permit loading the CMA module without the local SA module.
    Sean> Symbols from the local SA are exported dynamically, and
    Sean> acquired by the CMA on CMA module load.

This is a good goal but the implementation looks way too crazy.  Can
we revamp the API to the SA so that this symbol chicanery isn't
required?  Maybe have an SA core that the cache registers itself with
when it's loaded?

Especially this:

 > +	if (cache_timeout) {
 > +		EXPORT_SYMBOL(ib_get_path_rec);
 > +	}

I'm sure that putting an EXPORT_SYMBOL inside an if() is not mergeable
upstream.  Does it even do anything?  As far as I can see from the
definition of EXPORT_SYBMOL in <linux/module.h>, the symbol will get
exported anyway.

symbol_get()/symbol_put() is a little suspicious too.

 - R.



More information about the general mailing list