On Tue, 2011-03-08 at 17:33 +0800, Herbert Xu wrote: > Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> wrote: > > > >> > I should mention this is with the following .config: > >> > > >> > CONFIG_CRYPTO_CRC32C=y > >> > CONFIG_CRYPTO_CRC32C_INTEL=m > > This is why you get the unoptimised version. Had you selected > both as built-in or both as modules, then it would have worked > as intended. > <nod> > > What about the following to simply call request_module("crc32c_intel") > > at module_init() time and top the extra iscsi_login_setup_crypto() > > code..? > > If we're going to do this we should do it in the crypto layer, > and not litter every single crypto API user with such crap. > > Currently we don't invoke request_module unless no implementation > is reigstered for an algorithm. You can change this so that it > also invokes request_module if we have not yet done so at least > once for that algorithm. > > Patches are welcome. > Ok, fair enough point.. I have addressed this with a new struct crypto_alg->cra_check_optimized() callback in order for crc32c.ko to have a method to call request_module("crc32c_intel.ko") after the base software alg has been loaded. This is working w/ CONFIG_CRYPTO_CRC32C=y + CONFIG_CRYPTO_CRC32C_INTEL=m case and should satisfy current (and future) architecture dependent cases for CRC32C HW offload. Sending out a patch series for your comments shortly.. Thanks! --nab -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html