How to speed up building of modules?

Stephen Cameron (steve.cameron@hp.com)
Fri, 4 Apr 2003 14:57:40 +0600


Hi

I'm wondering if you guys know any tricks to speed up building
of linux kernel modules.

First, some background.

We have to put out binary HBA driver modules for a variety
of linux distributions for things like driver diskettes, to allow
new drivers to be used during initial install. (I'm thinking
of the cciss, cpqarray and cpqfc drivers.)

With all the distributions, and differnent
offerings of distributions, and errata kernels... today, I count
almost 40 distinct kernels we're trying to support, not counting the
mainline development on kernel.org, and not counting multiple
config file variations for each of those 40 or so kernels.

The main catch seems to be the symbol checksums. In order for those
to match (and I'm not too interested in subverting those), the
config files used during the compile need to be very similar. That
means building lots and lots of modules. (Think about all the
modules which are enabled in redhat's typical default config files.)
This takes time. Mulitply 3 drivers * ~40 kernels * several config
files, and pretty soon... well, pretty soon you don't remember
what "preety soon" means.

It would be VERY nice if I could find a way to build only the modules
I care about and not all the rest, which add hours and hours.
It seems that some things in the config file can be turned off without
harm, but it's not clear how I can know whether it's safe to turn a module
off Also, sometimes I need to make changes to the Config.in files,
add options, etc. Ccache hasn't helped. (I think because the different
config files use different compiler flags, and otherwise the kernels
just aren't the same.)

Any ideas?

Thanks,

-- steve

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/